From bugzilla-daemon at icedtea.classpath.org Mon Mar 2 09:30:18 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Mar 2015 09:30:18 +0000 Subject: [Bug 2250] JSSE server is still limited to 768-bit DHE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2250 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com --- Comment #1 from Andrew Haley --- https://bugs.openjdk.java.net/browse/JDK-6956398 Changing this is a compatibility issue. It's not just a mater of removing a limit. We'd need a very string reason to change this in a legacy JDK. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Mon Mar 2 09:48:06 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 02 Mar 2015 09:48:06 +0000 Subject: /hg/gfx-test: Updated. Message-ID: changeset c1a081e7e2e3 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=c1a081e7e2e3 author: Pavel Tisnovsky date: Mon Mar 02 10:50:10 2015 +0100 Updated. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 170 +++++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r e17475a58772 -r c1a081e7e2e3 ChangeLog --- a/ChangeLog Tue Feb 17 13:50:41 2015 +0100 +++ b/ChangeLog Mon Mar 02 10:50:10 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-02 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Updated. + 2015-02-17 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r e17475a58772 -r c1a081e7e2e3 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Feb 17 13:50:41 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Mar 02 10:50:10 2015 +0100 @@ -4417,6 +4417,176 @@ } /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From jvanek at redhat.com Mon Mar 2 11:50:09 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 02 Mar 2015 12:50:09 +0100 Subject: [rfc][icedtea-web] add application name to all manifests In-Reply-To: <54F10F11.9060702@gmx.de> References: <54F07496.3070607@redhat.com> <54F10F11.9060702@gmx.de> Message-ID: <54F44E71.2090702@redhat.com> On 02/28/2015 01:42 AM, Jacob Wisor wrote: > On 02/27/2015 02:43 PM, Jiri Vanek wrote: >> This is adding Application-Name to all jars' manifests in our reproducres suite. >> >> If the A-N exists in manifest or input Manifest file exists, then A-N is not >> added into manifest(may be reproducer relying on that) >> >> As A-N is moreove mandatoryattribute, I added it also to amnual testcases with >> custom manifest, as they donot relay oon it. >> >> J. >> >> Later I would like to include it also to 1.5 > > Hmm, Application-Name? I just looked over the JAR File Specification and did not find this header > specified. I am sorry if I am missing something here but I do not get the reason why this header > needs to be included. Well, on the other hand the Java manifest parser has been tolerant of > non-specification headers so far. This might change since the specification does not mention > anything about user-defined headers. > > Long story short, can you please explain the Application-Name header? > Yup. It came from here: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html From those are also two Trusted-Only Attribute and Trusted-Library Attribute which are missing in ITW. "If the Application-Name attribute is not present in the JAR file manifest, a warning is written ... " When we implemented Application-Name we printed it also to stdout/err. Now reproducers are spamming "No Application-Name found in manifest" Thats my point... Thankx for check! J. From bugzilla-daemon at icedtea.classpath.org Mon Mar 2 13:22:04 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Mar 2015 13:22:04 +0000 Subject: [Bug 2250] JSSE server is still limited to 768-bit DHE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2250 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.5.5 --- Comment #2 from Andrew John Hughes --- Looking at the patch: http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/0d5f4f1782e8 I don't see any reason why we couldn't backport this, but change the default to legacy mode. Users would then have to explicitly turn on larger key sizes and the default setup would remain compatible with existing OpenJDK 7 installations. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at icedtea.classpath.org Mon Mar 2 13:23:59 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 02 Mar 2015 13:23:59 +0000 Subject: /hg/icedtea-web: Fixed testJREversionDontMatchRemoval test. Message-ID: changeset 85fe0274f4a8 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=85fe0274f4a8 author: Jiri Vanek date: Mon Mar 02 14:23:39 2015 +0100 Fixed testJREversionDontMatchRemoval test. diffstat: tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diffs (17 lines): diff -r 716ea0c2ec19 -r 85fe0274f4a8 tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java --- a/tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java Fri Feb 27 15:09:18 2015 +0100 +++ b/tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java Mon Mar 02 14:23:39 2015 +0100 @@ -221,7 +221,12 @@ @Test public void testJREversionDontMatchRemoval(){ - Assert.assertTrue(removeJreVersionWarning("Warning - your JRE - 1.8 - do not match requested JRE - {0}").isEmpty()); + Assert.assertTrue(removeJreVersionWarning(Translator.R("JREversionDontMatch", "1.8.0-pre.whatever", "{0}")).isEmpty()); + Assert.assertTrue(removeJreVersionWarning(Translator.R("JREversionDontMatch", "{0}", "{1}")).isEmpty()); + Assert.assertTrue(removeJreVersionWarning(Translator.R("JREversionDontMatch", "1.3.0-pre-pac", "1.8.0-pre.whatever}")).isEmpty()); + Assert.assertTrue(removeJreVersionWarning(Translator.R("JREversionDontMatch", "", "")).isEmpty()); + Assert.assertTrue(removeJreVersionWarning(Translator.R("JREversionDontMatch", " - - - - ", " - - - ")).isEmpty()); + Assert.assertFalse(removeJreVersionWarning("AA\n"+Translator.R("JREversionDontMatch", "1.3+", "1.7")+"\nBB").equals("AA\nBB")); } public static class Arbores extends NearlyNoOutputsOnWrongJRE { From gnu.andrew at redhat.com Mon Mar 2 13:24:48 2015 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 2 Mar 2015 08:24:48 -0500 (EST) Subject: Several bug fixes for the arm32JIT In-Reply-To: <1425034496.1577.40.camel@mint> References: <1425034496.1577.40.camel@mint> Message-ID: <1640840646.20912015.1425302688589.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hi, > > The following patch fixes several bugs in the arm32jit. > > These bugs were found while resolving an issue with eclipse giving SEGVs > although only one of them is actually responsible for the SEGV in eclipse. > > Eclipse now seems to run OK. > > I have put the patch at > > http://openjdk.linaro.org/arm32jit/eclipse.patch > > Below is a summary of these bug fixes. > > Ok to push these? > Ed. > > Bug 1: > > loc >>= 2; > offset = dest - loc; > uoff = offset; > - if (offset >= -(1<<22) && offset < (1<<22)) > + if (offset >= -(1<<23) && offset < (1<<23)) > return out_32(codebuf, A_BL(cond, uoff)); > } > J_Unimplemented(); > > The offset was wrong for ARM BL instruction which has 24 bits offset, not 23. > > Bug 2: > > ldrb r1, [jpc, lr] > bic ip, ip, #7 > ldr pc, [ip, r1, lsl #2] > + .set dispatch_state, 0 > .endm > > This fixes a compile time error when compiling with FAST_BYTECODES disabled. > The error was generate by the VOLATILE_VERSION macro. > > .error "VOLATILE_VERSION macro used before non-volatile > DISPATCH_FINISH." > > This was occurring because DISPATCH_BYTECODE was not setting the > dispatch_state back to 0. > > Bug 3: > > Opcode if_acmpeq > POP r2, r3 > ldrsb r1, [jpc, #1] > + cmp r3, r2 > ldrb r2, [jpc, #2] > - cmp r3, r2 > beq branch_taken > DISPATCH 3 > > (and also in if_acmpne, if_icmplt, if_icmpge, if_icmpgt, if_icmple) > > I am slightly surprise this one has remained undetected for so long! > Essentially it was comparing against the bytecode it had just loaded rather > that the TOS element which means that whether the branch was taken or not is > essentially random. > > However, this is only in the safepoint version of these bytecode, the non > safe version was OK, so I guess when it was running to safepoints it just > didn't encounter these. I only noticed this when I disabled > NOTICE_SAFEPOINTS for debugging which tells it to always use the 'safe' > version which actually turns out to be not very safe. > > Bug 4: > > ldr tmp1, [r2, #4] @ rcvr->klass() > - tst r3, #flag_methodInterface > + tst r3, #flag_is_forced_virtual > bne .invokeinterface_methodInterface > > and the corresponding definition of flag_is_forced_virtual in asm_helper.cpp. > > This is the bug that was causing the SEGV in eclipse. > > This bug was caused by the renaming of the flag from flag_methodInterface > (bit 24) to flag_is_forced_virtual (bit 25) which meant that it was trying > to do an invokeinterface lookup on a vfinal method and getting a SEGV. > > The change was introduced to bytecodeInterpreter.cpp in change > 4066:1d7922586cf6. > > changeset: 4066:1d7922586cf6 > parent: 4041:aba91a731143 > user: twisti > date: Tue Jul 24 10:51:00 2012 -0700 > summary: 7023639: JSR 292 method handle invocation needs a fast path for > compiled code > > However, this change was not reflected in cppInterpreter_arm.S. > > Bug 5: > > +#ifdef FAST_BYTECODES > // Common code for fast_aldc and fast_aldc_w > # r0 = constpool cache entry > .macro aldc opc, seq_len > @@ -3060,7 +3063,6 @@ > add r0, constpool, r1, lsl #4 > aldc opc_fast_aldc_w, 3 > > -#ifdef FAST_BYTECODES > # r2 = [jpc, #1] > # r1 = [jpc, #2] > > Another build failure with FAST_BYTECODES disabled > > Bug 6: > > + // Ensure that any literals generated in the stubs are output here > + // as this code is copied to the bottom of the code buffer > + .ltorg > + > .global Thumb2_stubs_end > .type Thumb2_stubs_end, %function > Thumb2_stubs_end: > > This bug occurred with the volatile version of get_static. Basically, when > build for ARMv6 this need to call _kernel_dmb because there is no DMB > instruction. The code to call _kernel_dmb did > > ldr r2, =_kernel_dmb > blx r2 > > This creates an assembler literal which the assembler will dump at the next > .ltorg (or at the end of the file if no .ltorg). > > However, because the run time stubs are copied to the bottom of the code > buffer in order to make them reachable from the compiled code, the literal > was not being copied because the literals were only being dumped after the > end of the stubs. > > The solution is simply to dump the literal pool before the end of the stubs > so the literals get copied as well. > > > Ok by me, unless Andrew Haley or Andrew Dinn have any objections. Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 PGP Key: rsa4096/248BDC07 (hkp://keys.gnupg.net) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Mon Mar 2 14:06:58 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Mar 2015 14:06:58 +0000 Subject: [Bug 2250] JSSE server is still limited to 768-bit DHE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2250 --- Comment #3 from Andrew Haley --- > I don't see any reason why we couldn't backport this, but change the default > to legacy mode. Users would then have to explicitly turn on larger key sizes > and the default setup would remain compatible with existing OpenJDK 7 > installations. The problem is that "useLegacyEphemeralDHKeys" is a static property across the whole JVM and it doesn't just change the limit of the key length but a default. I can certainly think of cases where this would break an application server. In any case we should not treat this as an IcedTea7-local change; it should be synced with OpenJDK 7. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gitne at gmx.de Mon Mar 2 14:21:11 2015 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 02 Mar 2015 15:21:11 +0100 Subject: [rfc][icedtea-web] add application name to all manifests In-Reply-To: <54F44E71.2090702@redhat.com> References: <54F07496.3070607@redhat.com> <54F10F11.9060702@gmx.de> <54F44E71.2090702@redhat.com> Message-ID: <54F471D7.7010704@gmx.de> On 03/02/2015 12:50 PM, Jiri Vanek wrote: > On 02/28/2015 01:42 AM, Jacob Wisor wrote: >> On 02/27/2015 02:43 PM, Jiri Vanek wrote: >>> This is adding Application-Name to all jars' manifests in our reproducres suite. >>> >>> If the A-N exists in manifest or input Manifest file exists, then A-N is not >>> added into manifest(may be reproducer relying on that) >>> >>> As A-N is moreove mandatoryattribute, I added it also to amnual testcases with >>> custom manifest, as they donot relay oon it. >>> >>> J. >>> >>> Later I would like to include it also to 1.5 >> >> Hmm, Application-Name? I just looked over the JAR File Specification and did >> not find this header >> specified. I am sorry if I am missing something here but I do not get the >> reason why this header >> needs to be included. Well, on the other hand the Java manifest parser has >> been tolerant of >> non-specification headers so far. This might change since the specification >> does not mention >> anything about user-defined headers. >> >> Long story short, can you please explain the Application-Name header? >> > > Yup. > > It came from here: > http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html Oh OK, I get it now. Thanx! > From those are also two Trusted-Only Attribute and Trusted-Library Attribute > which are missing in ITW. > > > "If the Application-Name attribute is not present in the JAR file manifest, a > warning is written ... " > > When we implemented Application-Name we printed it also to stdout/err. Now > reproducers are spamming "No Application-Name found in manifest" > > Thats my point... As I understand, warnings about a missing Application-Name attribute are supposed to be issued only on *signed* applets and/or JNLP applications. Are the test JARs signed? Does IcedTea-Web issue warnings on signed JARs only? If IcedTea-Web is /always/ warning then IcedTea-Web itself should probably be fixed first. Anyway, the Codebase and Application-Library-Allowable-Codebase attributes seem strange to me from a conceptional point of view. This reads to me more like a helpless attempt to implement DRM on online deployed JARs. Anyone can still re-author a JAR's manifest with his/her own codebases and then re-sign it anyway. This does not improve security a bit. It is really not that hard to get a certificate from a common large code signing CA, so re-signed applets and JNLP applications will still pass the user's attention unnoticed. Regards, Jacob From jvanek at redhat.com Mon Mar 2 14:53:11 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 02 Mar 2015 15:53:11 +0100 Subject: [rfc][icedtea-web] add application name to all manifests In-Reply-To: <54F471D7.7010704@gmx.de> References: <54F07496.3070607@redhat.com> <54F10F11.9060702@gmx.de> <54F44E71.2090702@redhat.com> <54F471D7.7010704@gmx.de> Message-ID: <54F47957.4050400@redhat.com> On 03/02/2015 03:21 PM, Jacob Wisor wrote: > On 03/02/2015 12:50 PM, Jiri Vanek wrote: >> On 02/28/2015 01:42 AM, Jacob Wisor wrote: >>> On 02/27/2015 02:43 PM, Jiri Vanek wrote: >>>> This is adding Application-Name to all jars' manifests in our reproducres suite. >>>> >>>> If the A-N exists in manifest or input Manifest file exists, then A-N is not >>>> added into manifest(may be reproducer relying on that) >>>> >>>> As A-N is moreove mandatoryattribute, I added it also to amnual testcases with >>>> custom manifest, as they donot relay oon it. >>>> >>>> J. >>>> >>>> Later I would like to include it also to 1.5 >>> >>> Hmm, Application-Name? I just looked over the JAR File Specification and did >>> not find this header >>> specified. I am sorry if I am missing something here but I do not get the >>> reason why this header >>> needs to be included. Well, on the other hand the Java manifest parser has >>> been tolerant of >>> non-specification headers so far. This might change since the specification >>> does not mention >>> anything about user-defined headers. >>> >>> Long story short, can you please explain the Application-Name header? >>> >> >> Yup. >> >> It came from here: >> http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html > > Oh OK, I get it now. Thanx! > >> From those are also two Trusted-Only Attribute and Trusted-Library Attribute >> which are missing in ITW. >> >> >> "If the Application-Name attribute is not present in the JAR file manifest, a >> warning is written ... " >> >> When we implemented Application-Name we printed it also to stdout/err. Now >> reproducers are spamming "No Application-Name found in manifest" >> >> Thats my point... > > As I understand, warnings about a missing Application-Name attribute are supposed to be issued only > on *signed* applets and/or JNLP applications. Are the test JARs signed? Half of them. It would be more complex change if only the signed ones should be enhanced. as name in unsigned one do not hart, I would vote for add it to all. > Does IcedTea-Web issue > warnings on signed JARs only? > If IcedTea-Web is /always/ warning then IcedTea-Web itself should probably be fixed first. Unluckily yes it is. Because it is a bit tricky to make the signed check on place where getTitle is used... The other checks on manifest attributes are using "action only if signed RIA" properly. > > Anyway, the Codebase and Application-Library-Allowable-Codebase attributes seem strange to me from a > conceptional point of view. This reads to me more like a helpless attempt to implement DRM on online > deployed JARs. Anyone can still re-author a JAR's manifest with his/her own codebases and then > re-sign it anyway. This does not improve security a bit. It is really not that hard to get a > certificate from a common large code signing CA, so re-signed applets and JNLP applications will > still pass the user's attention unnoticed. I agree 100% with you. As another disadvantage, user is facing more poups:( Luckily, ITW have possibility to disable manifest check completly, or half of them on low security settings. J. From enevill at icedtea.classpath.org Mon Mar 2 16:02:23 2015 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Mon, 02 Mar 2015 16:02:23 +0000 Subject: /hg/icedtea7-forest/hotspot: Several bug fixes to get eclipse wo... Message-ID: changeset 6697df06cb20 in /hg/icedtea7-forest/hotspot details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=6697df06cb20 author: Edward Nevill date: Fri Feb 27 09:59:29 2015 +0000 Several bug fixes to get eclipse working diffstat: src/cpu/zero/vm/arm32JIT.cpp | 2 +- src/cpu/zero/vm/asm_helper.cpp | 1 + src/cpu/zero/vm/cppInterpreter_arm.S | 26 ++++++++++++++++---------- 3 files changed, 18 insertions(+), 11 deletions(-) diffs (148 lines): diff -r 4fdaf786d977 -r 6697df06cb20 src/cpu/zero/vm/arm32JIT.cpp --- a/src/cpu/zero/vm/arm32JIT.cpp Mon Feb 16 16:05:34 2015 +0000 +++ b/src/cpu/zero/vm/arm32JIT.cpp Fri Feb 27 09:59:29 2015 +0000 @@ -3540,7 +3540,7 @@ loc >>= 2; offset = dest - loc; uoff = offset; - if (offset >= -(1<<22) && offset < (1<<22)) + if (offset >= -(1<<23) && offset < (1<<23)) return out_32(codebuf, A_BL(cond, uoff)); } J_Unimplemented(); diff -r 4fdaf786d977 -r 6697df06cb20 src/cpu/zero/vm/asm_helper.cpp --- a/src/cpu/zero/vm/asm_helper.cpp Mon Feb 16 16:05:34 2015 +0000 +++ b/src/cpu/zero/vm/asm_helper.cpp Fri Feb 27 09:59:29 2015 +0000 @@ -716,6 +716,7 @@ print_def("class_fully_initialized", instanceKlass::fully_initialized); print_def("class_init_error", instanceKlass::initialization_error); nl(); + print_def("flag_is_forced_virtual", 1 << ConstantPoolCacheEntry::is_forced_virtual_shift); print_def("flag_methodInterface", 1 << ConstantPoolCacheEntry::has_method_type_shift); print_def("flag_volatileField", 1 << ConstantPoolCacheEntry::is_volatile_shift); print_def("flag_vfinalMethod", 1 << ConstantPoolCacheEntry::is_vfinal_shift); diff -r 4fdaf786d977 -r 6697df06cb20 src/cpu/zero/vm/cppInterpreter_arm.S --- a/src/cpu/zero/vm/cppInterpreter_arm.S Mon Feb 16 16:05:34 2015 +0000 +++ b/src/cpu/zero/vm/cppInterpreter_arm.S Fri Feb 27 09:59:29 2015 +0000 @@ -573,9 +573,11 @@ ldrb r1, [jpc, lr] bic ip, ip, #7 ldr pc, [ip, r1, lsl #2] + .set dispatch_state, 0 .endm .macro DISPATCH step=0 +@ TRACE ldrb r0, [jpc, #\step]! @ ldrb r1, [jpc, #2] ldr ip, [dispatch, r0, lsl #2] @@ -1802,8 +1804,8 @@ Opcode if_acmpeq POP r2, r3 ldrsb r1, [jpc, #1] + cmp r3, r2 ldrb r2, [jpc, #2] - cmp r3, r2 beq branch_taken DISPATCH 3 @@ -1811,40 +1813,40 @@ Opcode if_acmpne POP r2, r3 ldrsb r1, [jpc, #1] + cmp r3, r2 ldrb r2, [jpc, #2] - cmp r3, r2 bne branch_taken DISPATCH 3 Opcode if_icmplt POP r2, r3 ldrsb r1, [jpc, #1] + cmp r3, r2 ldrb r2, [jpc, #2] - cmp r3, r2 blt branch_taken DISPATCH 3 Opcode if_icmpge POP r2, r3 ldrsb r1, [jpc, #1] + cmp r3, r2 ldrb r2, [jpc, #2] - cmp r3, r2 bge branch_taken DISPATCH 3 Opcode if_icmpgt POP r2, r3 ldrsb r1, [jpc, #1] + cmp r3, r2 ldrb r2, [jpc, #2] - cmp r3, r2 bgt branch_taken DISPATCH 3 Opcode if_icmple POP r2, r3 ldrsb r1, [jpc, #1] + cmp r3, r2 ldrb r2, [jpc, #2] - cmp r3, r2 ble branch_taken DISPATCH 3 @@ -2828,7 +2830,7 @@ SW_NPC beq null_ptr_exception .abortentry110: ldr tmp1, [r2, #4] @ rcvr->klass() - tst r3, #flag_methodInterface + tst r3, #flag_is_forced_virtual bne .invokeinterface_methodInterface ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass @@ -3014,6 +3016,7 @@ bl _ZN14CppInterpreter19method_handle_entryEP13methodOopDesciP6Thread ldmia sp!, {regset, pc} +#ifdef FAST_BYTECODES // Common code for fast_aldc and fast_aldc_w # r0 = constpool cache entry .macro aldc opc, seq_len @@ -3060,7 +3063,6 @@ add r0, constpool, r1, lsl #4 aldc opc_fast_aldc_w, 3 -#ifdef FAST_BYTECODES # r2 = [jpc, #1] # r1 = [jpc, #2] Opcode invokevfinal @@ -3444,7 +3446,7 @@ ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] str r3, [thread, #THREAD_LAST_JAVA_SP] - str r3, [thread, #THREAD_LAST_JAVA_FP] +@ str r3, [thread, #THREAD_LAST_JAVA_FP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #METHOD_MAXLOCALS] @@ -5381,7 +5383,7 @@ cmp r2, #0 beq istub_null_ptr_exception ldr tmp1, [r2, #4] @ rcvr->klass() - tst r3, #flag_methodInterface + tst r3, #flag_is_forced_virtual bne istub_methodInterface ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass @@ -6714,6 +6716,10 @@ #endif // T2JIT + // Ensure that any literals generated in the stubs are output here + // as this code is copied to the bottom of the code buffer + .ltorg + .global Thumb2_stubs_end .type Thumb2_stubs_end, %function Thumb2_stubs_end: From bugzilla-daemon at icedtea.classpath.org Mon Mar 2 16:08:56 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Mar 2015 16:08:56 +0000 Subject: [Bug 2250] JSSE server is still limited to 768-bit DHE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2250 --- Comment #4 from Andrew John Hughes --- I know, that's why I said we wouldn't use the default settings in this patch. If we instead set useLegacyEphemeralDHKeys to true by default (the patch sets it to false), we would get the same key size as at present i.e. dh = new DHCrypt((export ? 512 : 768), sslContext.getSecureRandom()); becomes int keySize = export ? 512 : 1024; // default mode if (!export) { if (useLegacyEphemeralDHKeys) { // legacy mode keySize = 768; } else ... } else ... } } dh = new DHCrypt(keySize, sslContext.getSecureRandom()); If export is true in either case, the result is a key size of 512. If export is false in either case, the key size is 768 as we have useLegacyEphemeralDHKeys set to true by default. Different behaviour would only occur if the user expicitly set jdk.tls.ephemeralDHKeySize. No-one is suggesting this would be an IcedTea-only change. We can propose it for OpenJDK 7, along with the backlog of other patches, once it's open for business again. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 2 16:27:01 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Mar 2015 16:27:01 +0000 Subject: [Bug 2250] JSSE server is still limited to 768-bit DHE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2250 --- Comment #5 from Andrew Haley --- (In reply to Andrew John Hughes from comment #4) > I know, that's why I said we wouldn't use the default settings in this > patch. If we instead set useLegacyEphemeralDHKeys to true by default (the > patch sets it to false), we would get the same key size as at present i.e. The problem is that it's not possible to get a larger key size without changing the default; and doing that can break some other program running elsewhere in an app server. It's the same problem with upgrading to a newer JVM, but some compatibility problems might be expected in that case. Not for a minor change in a legacy VM. > Different behaviour would only occur if the user expicitly set > jdk.tls.ephemeralDHKeySize. Yes. > No-one is suggesting this would be an IcedTea-only change. Good. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 2 16:33:53 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Mar 2015 16:33:53 +0000 Subject: [Bug 2250] JSSE server is still limited to 768-bit DHE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2250 --- Comment #6 from Andrew John Hughes --- (In reply to Andrew Haley from comment #5) > (In reply to Andrew John Hughes from comment #4) > > I know, that's why I said we wouldn't use the default settings in this > > patch. If we instead set useLegacyEphemeralDHKeys to true by default (the > > patch sets it to false), we would get the same key size as at present i.e. > > The problem is that it's not possible to get a larger key size without > changing the default; and doing that can break some other program running > elsewhere in an app server. Sure, but at present, it's not possible to get a larger key size *at all*. Adding this would give those who want larger key sizes the option of having them by explicitly enabling them and dealing with any problems that result. > It's the same problem with upgrading to a newer > JVM, but some compatibility problems might be expected in that case. Not > for a minor change in a legacy VM. Not really, because a newer JVM affects everyone. This would only affect those who explicitly set the property. The majority are likely to be unaware that support for such a property was even added. > > > Different behaviour would only occur if the user expicitly set > > jdk.tls.ephemeralDHKeySize. > > Yes. > > > No-one is suggesting this would be an IcedTea-only change. > > Good. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Mon Mar 2 16:39:24 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 02 Mar 2015 17:39:24 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest Message-ID: <54F4923C.3030302@redhat.com> hi! fixinigVersionedjarReproducer.patch: CacheReproducerTest had invalid import. This push is fixing it. Also I had improved VersionedJarTest to stop randomly fail (it was test order depending) As those are tests changes only, again, I will push tomorrow. However. Later I noted that recently_used file is not handled via PahsAndFiles. I moved it here, which needed some more changes - like make it properly testable and so get rid of this untestable ENUM and replace it by getter singleton with possibility to make testable instance. I agree that this patch was written in rush, and needs proper review. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixinigVersionedjarReproducer.patch Type: text/x-patch Size: 5118 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: fixinigVersionedjarReproducer+recently_usedTopathsAndFiles.patch Type: text/x-patch Size: 18846 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 2 19:58:28 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Mar 2015 19:58:28 +0000 Subject: [Bug 2251] open JDK In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2251 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |unassigned at icedtea.classpat | |h.org Component|agent |IcedTea Version|unspecified |2.5.4 Assignee|omajid at redhat.com |gnu.andrew at redhat.com Product|Thermostat |IcedTea Target Milestone|2.0.0 |--- -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 2 20:05:25 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Mar 2015 20:05:25 +0000 Subject: [Bug 2251] open JDK In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2251 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |aph at redhat.com Resolution|--- |INVALID --- Comment #1 from Andrew Haley --- You seem to be running OpenJDK with a bootclasspath which points to core classes which are not from OpenJDK. This won't work. If you really need to add classes to the boot classpath, use -Xbootclasspath/a. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Tue Mar 3 00:19:28 2015 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 03 Mar 2015 00:19:28 +0000 Subject: /hg/icedtea: 2 new changesets Message-ID: changeset d84be26576af in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=d84be26576af author: Andrew John Hughes date: Mon Mar 02 14:56:30 2015 +0000 Bump to icedtea-3.0.0pre03. Upstream changes: - PR2199: Support giflib 5.1.0 - PR2212: DGifCloseFile call should check the return value, not the error code, for failure - PR2227: giflib 5.1 conditional excludes 6.0, 7.0, etc. - S4991647: PNGMetadata.getAsTree() sets bitDepth to invalid value - S6302052: Reference to nonexistant Class in javadoc - S6311046: -Xcheck:jni should support checking of GetPrimitiveArrayCritical. - S6521706: A switch operator in JFrame.processWindowEvent() should be rewritten - S6545422: [TESTBUG] NativeErrors.java uses wrong path name in exec - S6624085: Fourth mouse button (wheel) is treated like second button - isPopupTrigger returns true - S6642881: Improve performance of Class.getClassLoader() - S6853696: (ref) ReferenceQueue.remove(timeout) may return null even if timeout has not expired - S6883953: java -client -XX:ValueMapInitialSize=0 crashes - S6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94 - S6904367: (coll) IdentityHashMap is resized before exceeding the expected maximum size - S7010989: Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets - S7011804: SequenceInputStream with lots of empty substreams can cause StackOverflowError - S7033533: realSync() doesn't work with Xfce - S7058697: Unexpected exceptions in MID parser code - S7058700: Unexpected exceptions and timeouts in SF2 parser code - S7067052: Default printer media is ignored - S7095856: OutputStreamHook doesn't handle null values - S7107611: sun.security.pkcs11.SessionManager is scalability blocker - S7132678: G1: verify that the marking bitmaps have no marks for objects over TAMS - S7148531: [macosx] In test, the window does not have time to resize before make a screenshot - S7150092: NTLM authentication fail if user specified a different realm - S7169583: JInternalFrame title not antialiased in Nimbus LaF - S7170310: ScrollBar doesn't become active when tabs are created more than frame size - S8000975: (process) Merge UNIXProcess.java.bsd & UNIXProcess.java.linux (& .solaris & .aix) - S8003900: X11 dependencies should be removed from Mac OS X build. - S8007993: hotspot.log w/ enabled LogCompilation can be an invalid XML - S8010767: Build fails on OEL6 with 16 cores - S8011537: (fs) Path.register(..) clears interrupt status of thread with no InterruptedException - S8015256: Better class accessibility - S8015376: Remove jnlp and applet files from the JDK samples - S8019342: G1: High "Other" time most likely due to card redirtying - S8023461: Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock - S8024366: Make UseNUMA enable UseNUMAInterleaving - S8024626: CTW CRASH: SIGSEGV in ctw/jre/lib/rt_jar/preloading_1 and ctw/jre/lib/rt_jar/sun_awt_X11_ListHelper - S8025842: Convert warning("Thread holding lock at safepoint that vm can block on") to fatal(...) - S8025917: JDK demo applets not running with >=7u40 or (JDK 8 and JDK 9) - S8026303: CMS: JVM intermittently crashes with "FreeList of size 258 violates Conservation Principle" assert - S8026385: [macosx] (awt) setjmp/longjmp changes the process signal mask on OS X - S8026497: Font2DTest demo: unused resource files - S8026784: Error message in AdaptiveFreeList::verify_stats is wrong - S8026796: Make replace_in_map() on parent maps generic - S8026847: [TESTBUG] gc/g1/TestSummarizeRSetStats* tests launch 32bit jvm with UseCompressedOops - S8027144: Review restriction of JAX-WS java packages going to JDK8 - S8027148: SystemFlavorMap.getNativesForFlavor returns list of native formats in incorrect order - S8027553: Change the in_cset_fast_test functionality to use the G1BiasedArray abstraction - S8027959: Early reclamation of large objects in G1 - S8028037: [parfait] warnings from b114 for hotspot.src.share.vm - S8028407: adjust-mflags.sh failed build with GNU Make 4.0 with -I - S8028430: JDI: ReferenceType.visibleMethods() return wrong visible methods - S8028474: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh timeout, leaves looping process - S8028539: Endless loop in native code of sun.java2d.loops.ScaledBlit - S8028710: G1 does not retire allocation buffers after reference processing work - S8028727: [parfait] warnings from b116 for jdk.src.share.native.sun.security.ec: JNI pending exceptions - S8028780: JDK KRB5 module throws OutOfMemoryError when CCache is corrupt - S8029012: parameter_index for type annotation not updated after outer.this added - S8029070: memory leak in jmm_SetVMGlobal - S8029253: [macosx] Performance problems with Retina display on Mac OS X - S8029443: 'assert(klass->is_loader_alive(_is_alive)) failed: must be alive' during VM_CollectForMetadataAllocation - S8029452: Fork/Join task ForEachOps.ForEachOrderedTask clarifications and minor improvements - S8029524: Remove unsused method CollectedHeap::unsafe_max_alloc() - S8029536: JFileChooser filter uses .toString() instead of getDescription() for filter text on GTK laf - S8029548: (jdeps) use @jdk.Exported to determine supported vs JDK internal API - S8029607: Type of Service (TOS) cannot be set in IPv6 header - S8029797: Let jprt run configure when building - S8029837: NPE seen in XMLDocumentFragmentScannerImpl.setProperty since 7u40b33 - S8030079: Lint warnings in java.lang.invoke - S8030166: java/lang/ProcessBuilder/Basic.java fails intermittently: waitFor took too long - S8030681: add "serve" command and --quiet and --verbose options to hgforest - S8030976: Untaken paths should be more vigorously pruned at highest optimization level - S8031003: [Parfait] warnings from jdk/src/share/native/sun/security/jgss/wrapper: JNI exception pending - S8031092: jdeps does not recognize --help option. - S8031323: Optionally align objects copied to survivor spaces - S8031373: Lint warnings in java.util.stream - S8031376: TraceClassLoading expects there to be a (Java) caller when you load a class with the bootstrap class loader - S8031435: Ftp download does not work properly for ftp user without password - S8031696: [macosx] TwentyThousandTest test failed with OOM - S8031709: Configure --with-jvm-variants=client, server, x produces default outputdir containing comma - S8031721: Remove non-existent test from TEST.groups - S8031994: java/lang/Character/CheckProp test times out - S8032247: SA: Constantpool lookup for invokedynamic is not implemented - S8032379: Remove the is_scavenging flag to process_strong_roots - S8032573: CertificateFactory.getInstance("X.509").generateCertificates(InputStream) does not throw CertificateException for invalid input - S8032650: [parfait] warning from b124 for jdk/src/share/native/java/util: jni exception pending - S8032864: [macosx] sigsegv (0Xb) Being Generated When Starting JDev With Voiceover Running - S8032908: getTextContent doesn't return string in JAXP - S8033141: Cleanup of sun.awt.X11 package - S8033370: [parfait] warning from b126 for solaris/native/sun/util/locale/provider: JNI exception pending - S8033421: @SuppressWarnings("deprecation") does not work when overriding deprecated method - S8033483: Should ignore nested lambda bodies during overload resolution - S8033602: wrong stabs data in libjvm.debuginfo on JDK 8 - SPARC - S8033699: Incorrect radio button behavior - S8033764: Remove the usage of StarTask from BufferingOopClosure - S8033785: TimeZoneNamesTest should be removed - S8033893: jdk build is broken due to the changeset of JDK-8033370 - S8033923: Use BufferingOopClosure for G1 code root scanning - S8034005: cannot debug in synchronizer.o or objectMonitor.o on Solaris X86 - S8034031: [parfait] JNI exception pending in jdk/src/macosx/native/apple/security/KeystoreImpl.m - S8034032: Check src/macosx/native/java/util/prefs/MacOSXPreferencesFile.m for JNI pending issues - S8034033: [parfait] JNI exception pending in share/native/sun/security/krb5/nativeccache.c - S8034056: assert(_heap_alignment >= _space_alignment) failed: heap_alignment less than space_alignment - S8034085: Do not prefer indexed properties - S8034164: Introspector ignores indexed part of the property sometimes - S8034218: Improve fontconfig.properties for AIX platform - S8034761: Remove the do_code_roots parameter from process_strong_roots - S8034764: Use process_strong_roots to adjust the StringTable - S8034775: Failing to initialize VM when running with negative value for -XX:CICompilerCount - S8034935: JSR 292 support for PopFrame has a fragile coupling with DirectMethodHandle - S8035162: Service printing service - S8035165: Expose internal representation in sun.awt.X11 - S8035328: closed/compiler/6595044/Main.java failed with timeout - S8035393: Use CLDClosure instead of CLDToOopClosure in frame::oops_interpreted_do - S8035400: Move G1ParScanThreadState into its own files - S8035401: Fix visibility of G1ParScanThreadState members - S8035412: Cleanup ClassLoaderData::is_alive - S8035605: Expand functionality of PredictedIntrinsicGenerator - S8035648: Don't use Handle in java_lang_String::print - S8035650: Exclude AIX from VS.NET make/windows/projectcreator.make - S8035746: Add missing Klass::oop_is_instanceClassLoader() function - S8035759: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/krb5/NativeCreds.c - S8035781: Improve equality for annotations - S8035826: [parfait] JNI exception pending in src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c - S8035829: [parfait] JNI exception pending in jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c - S8035893: JVM_GetVersionInfo fails to zero structure - S8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC - S8035974: Refactor DigestBase.engineUpdate() method for better code generation by JIT compiler - S8036007: javac crashes when encountering an unresolvable interface - S8036091: compiler/membars/DekkerTest.java fails with -XX:CICompilerCount=1 - S8036156: Limit default method hierarchy - S8036533: Method for correct defaults - S8036588: VerifyFieldClosure fails instanceKlass:3133 - S8036612: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/mscapi/security.cpp - S8036613: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c - S8036614: AIX: fix adjust-mflags.sh to build with GNU Make 4.0 (adapt 8028407 for AIX) - S8036616: [TESTBUG] Embedded: sun/jvmstat/monitor/MonitoredVm/CR6672135.java should be launched with -XX:+UsePerfData - S8036805: Correct linker method lookup. - S8036861: Application can't be loaded fine,the save dialog can't show up. - S8036936: Use local locales - S8036953: Fix timing of varargs access check, per JDK-8016205 - S8036981: JAXB not preserving formatting for xsd:any Mixed content - S8037066: Secure transport layer - S8037209: Improvements and cleanups to bytecode assembly for lambda forms - S8037210: Get rid of char-based descriptions 'J' of basic types - S8037326: VerifyAccess.isMemberAccessible() has incorrect access check - S8037344: Use the "next" field to iterate over fine remembered instead of using the hash table - S8037404: javac NPE or VerifyError for code with constructor reference of inner class - S8037745: Consider re-enabling PKCS11 mechanisms previously disabled due to Solaris bug 7050617 - S8037746: Bundling Derby 10.11 with 8u40 - S8037846: Ensure streaming of input cipher streams - S8037925: CMM Testing: an allocated humongous object at the end of the heap should not prevents shrinking the heap - S8037948: Improve documentation for org.w3c.dom package - S8037958: ConcurrentMark::cleanup leaks BitMaps if VerifyDuringGC is enabled - S8037968: Add tests on alignment of objects copied to survivor space - S8038027: DTDBuilder should be run in headless mode - S8038261: JSR292: cache and reuse typed array accessors - S8038265: CMS: enable time based triggering of concurrent cycles - S8038268: VM Crashes in MetaspaceShared::generate_vtable_methods while creating CDS archive with limiting SharedMiscCodeSize - S8038333: TEST_BUG: java/lang/ref/EarlyTimeout.java fails with a non-adequate message - S8038364: Use certificate exceptions correctly - S8038393: [TESTBUG] ciReplay/* tests fail after 8034775 - S8038399: Remove dead oop_iterate MemRegion variants from SharedHeap, Generation and Space classes - S8038404: Move object_iterate_mem from Space to CMS since it is only ever used by CMS - S8038405: Clean up some virtual fucntions in Space class hierarchy - S8038412: Move object_iterate_careful down from Space to ContigousSpace and CFLSpace - S8038422: CDS test failed: assert((size % os::vm_allocation_granularity()) == 0) failed when limiting SharedMiscDataSize - S8038423: G1: Decommit memory within heap - S8038435: Some hgforest.sh commands don't receive parameters - S8038624: interpretedVFrame::expressions() must respect InterpreterOopMap for liveness - S8038754: ReplayCacheTestProc test fails with timeout - S8038756: new WB API :: get/setVMFlag - S8038776: VerifyError when running successfully compiled java class - S8038829: G1: More useful information in a few assert messages - S8038898: Safer safepoints - S8038903: More native monitor monitoring - S8038908: Make Signature more robust - S8038913: Bolster XML support - S8038919: Requesting focus to a modeless dialog doesn't work on Safari - S8038928: gc/g1/TestGCLogMessages.java fail with "[Evacuation Failure' - S8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet - S8038966: JAX-WS handles wrongly xsd:any arguments for Web services - S8038982: java/lang/ref/EarlyTimeout.java failed again - S8039097: Some tests fail with NPE since 7u60 b12 - S8039147: Cleanup SuspendibleThreadSet - S8039150: host_klass invariant fails when verifying newly loaded JSR-292 anonymous classes - S8039173: Propagate errors from Diagnostic Commands as exceptions in the attach framework - S8039444: Swing applications not being displayed properly - S8039489: Refactor test framework for dynamic VM options - S8039498: Add iterators to GrowableArray - S8039509: Wrap sockets more thoroughly - S8039520: More atomicity of atomic updates - S8039533: Higher resolution resolvers - S8039596: Remove HeapRegionRemSet::clear_incoming_entry - S8039915: Wrong NumberFormat.format() HALF_UP rounding when last digit exactly at rounding position greater than 5 - S8039990: Add sequential operation support to hgforest - S8040002: Clean up code and code duplication in re-diryting cards for verification - S8040007: GtkFileDialog strips user inputted filepath - S8040076: Memory leak. java.awt.List objects allowing multiple selections are not GC-ed. - S8040121: Load variable through a pointer of an incompatible type in src/hotspot/src/share/vm: opto/output.cpp, runtime/sharedRuntimeTrans.cpp, utilities/globalDefinitions_visCPP.hpp - S8040279: [macosx] Do not use the base image in the MultiResolutionBufferedImage - S8040617: [macosx] Large JTable cell results in a OutOfMemoryException - S8040722: G1: Clean up usages of heap_region_containing - S8040792: G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname) - S8040798: compiler/startup/SmallCodeCacheStartup.java timed out in RT_Baseline - S8040806: BitSet.toString() can throw IndexOutOfBoundsException - S8040808: Uninitialised memory in OGLBufImgsOps.c, D3DBufImgOps.cpp - S8040812: Uninitialised memory in jdk/src/share/native/sun/security/ec/impl/mpi.c - S8040920: Uninitialised memory in hotspot/src/share/vm/code/dependencies.cpp - S8040921: Uninitialised memory in hotspot/src/share/vm/c1/c1_LinearScan.cpp - S8040977: G1 crashes when run with -XX:-G1DeferredRSUpdate - S8041142: Re-enabling CBC_PAD PKCS11 mechanisms for Solaris - S8041151: More concurrent hgforest - S8041529: Better parameterization of parameter lists - S8041535: Update certificate lists for compact1 profile - S8041540: Better use of pages in font processing - S8041545: Better validation of generated rasters - S8041564: Improved management of logger resources - S8041572: [macosx] huge native memory leak in AWTWindow.m - S8041633: [TESTBUG] java/lang/SecurityManager/CheckPackageAccess.java fails with "In j.s file, but not in golden set: com.sun.activation.registries." - S8041717: Issue with class file parser - S8041734: JFrame in full screen mode leaves empty workspace after close - S8041946: CMM Testing: 8u40 an allocated humongous object at the end of the heap should not prevents shrinking the heap - S8041984: CompilerThread seems to occupy all CPU in a very rare situation - S8041987: [macosx] setDisplayMode crashes - S8041990: [macosx] Language specific keys does not work in applets when opened outside the browser - S8041992: Fix of JDK-8034775 neglects to account for non-JIT VMs - S8042053: Broken links to jarsigner and keytool docs in java.security package summary - S8042094: Test javax/swing/JFileChooser/7036025/bug7036025.java fails with java.lang.NullPointerException on Windows x86 - S8042123: Support default and static interface methods in JDI, JDWP and JDB - S8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale - S8042195: Introduce umbrella header orderAccess.inline.hpp. - S8042205: javax/management/monitor/*: some tests didn't get all the notifications - S8042235: redefining method used by multiple MethodHandles crashes VM - S8042255: make gc src file exclusion more automatic - S8042347: javac, Gen.LVTAssignAnalyzer should be refactored, it shouldn't be a static class - S8042417: hgforest: allow local clone of extra repos - S8042428: CompileQueue::free_all() code is incorrect - S8042431: compiler/7200264/TestIntVect.java fails with: Test Failed: AddVI 0 < 4 - S8042440: awt_Plugin no longer needed - S8042469: Launcher changes for native memory tracking scalability enhancement - S8042470: (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified - S8042480: CipherInputStream.close() throws AEADBadTagException in some cases - S8042570: Excessive number of tests timing out on nightly testing due to fix for 8040798 - S8042590: Running form URL throws NPE - S8042603: 'SafepointPollOffset' was not declared in static member function 'static bool Arguments::check_vm_args_consistency()' - S8042609: Limit splashiness of splash images - S8042622: Check for CRL results in IllegalArgumentException "white space not allowed" - S8042737: Introduce umbrella header prefetch.inline.hpp - S8042797: Avoid strawberries in LogRecord - S8042804: Support invoking Hotspot tests from top level - S8042810: hgforest: some shells run read in sub-shell and can't use fifo - S8042816: (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified, part 2 - S8042835: Remove mnemonic character from open, save and open directory JFileChooser's buttons - S8042945: Remove @throws ClassCastException for CertificateRevokedException constructor - S8042982: Unexpected RuntimeExceptions being thrown by SSLEngine - S8043158: Crash in CodeSweeperSweepNoFlushTest in CompileQueue::free_all() - S8043182: hgforest.sh: syntax error on line 329 - S8043200: Decrease the preference mode of RC4 in the enabled cipher suite list - S8043275: 8u40 backport: Fix interface initialization for default methods. - S8043301: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp versus math.h in VS2013 - S8043302: [TESTBUG] Need a test to cover JDK-8029755 - S8043454: Test case for 8037157 should not throw a VerifyError - S8043476: java/util/BitSet/BSMethods.java failed with: java.lang.OutOfMemoryError: Java heap space - S8043477: java/lang/ProcessBuilder/Basic.java failed with: java.lang.AssertionError: Some tests failed - S8043508: JVM core dumps with very long text in tooltip - S8043546: C1 optimizes @Stable instance fields with default values - S8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps - S8043610: Sorting columns in JFileChooser fails with AppContext NPE - S8043722: Swapped usage of idx_t and bm_word_t types in parMarkBitMap.cpp - S8043723: max_heap_for_compressed_oops() declared with size_t, but defined with uintx - S8043766: CMM Testing: 8u40 Decommit auxiliary data structures - S8043869: [macosx] java -splash does not honor @2x hi dpi notation for retina support - S8043926: javac, code valid in 7 is not compiling for 8 - S8044056: Testcase added in wrong location in 8043302 - S8044135: Add API to start JMX agent from attach framework - S8044140: Create NMT (Native Memory Tracking) tests for NMT2 - S8044215: Unable to initiate SpNego using a S4U2Proxy GSSCredential (Krb5ProxyCredential) - S8044269: Analysis of archive files. - S8044274: Proper property processing - S8044398: Attach code should propagate errors in Diagnostic Commands as errors - S8044406: JVM crash with JDK8 (build 1.8.0-b132) with G1 GC - S8044473: Allow for extended set of platform MXBeans - S8044538: assert(which != imm_operand) failed: instruction is not a movq reg, imm64 - S8044546: Crash on faulty reduce/lambda - S8044604: Increment minor version of HSx for 8u25 and initialize the build number - S8044614: [macosx] Focus issue with 2 applets in firefox - S8044629: (reflect) Constructor.getAnnotatedReceiverType() returns wrong value - S8044647: sun/tools/jrunscript/jrunscriptTest.sh start failing: Output of jrunscript -l nashorn differ from expected output - S8044659: Java SecureRandom on SPARC T4 much slower than on x86/Linux - S8044671: NPE from JapaneseEra when a new era is defined in calendar.properties - S8044737: Lambda: NPE while obtaining method reference through lambda expression - S8044748: JVM cannot access constructor though ::new reference although can call it directly - S8044749: Resolve autoconf and other merge issue from 8u20 to 8u25 - S8044866: Fix raw and unchecked lint warnings in asm - S8046007: Java app receives javax.print.PrintException: Printer is not accepting job - S8046046: Test sun/security/pkcs11/Signature/TestDSAKeyLength.java fails intermittently on Solaris 11 in 8u40 nightly - S8046060: Different results of floating point multiplication for lambda code block - S8046070: Class Data Sharing clean up and refactoring - S8046210: Missing memory barrier when reading init_lock - S8046213: Test test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java Fails - S8046231: G1: Code root location ... from nmethod ... not in strong code roots for region - S8046233: VerifyError on backward branch - S8046268: compiler/whitebox/ tests fail : must be osr_compiled - S8046289: compiler/6340864/TestLongVect.java timeout with - S8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX - S8046495: KeyEvent can not be accepted in quick mouse clicking - S8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc - S8046545: JNI exception pending in jdk/src/share/bin/java.c - S8046559: NPE when changing Windows theme - S8046598: Scalable Native memory tracking development - S8046662: Check JNI ReleaseStringChars / ReleaseStringUTFChars verify_guards test inverted - S8046670: Make CMS metadata aware closures applicable for other collectors - S8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943 - S8046715: Add a way to verify an extended set of command line options - S8046769: Set T family feature bit on Niagara systems - S8046783: Add hidden field to methods for event based tracing - S8046884: JNI exception pending in jdk/src/solaris/native/sun/java2d/x11: X11PMPLitLoops.c, X11SurfaceData.c - S8046887: JNI exception pending in jdk/src/solaris/native/sun/awt: awt_DrawingSurface.c, awt_GraphicsEnv.c, awt_InputMethod.c, sun_awt_X11_GtkFileDialogPeer.c - S8046888: JNI exception pending in jdk/src/share/native/sun/awt/image/awt_parseImage.c - S8046894: JNI exception pending in jdk/src/solaris/native/sun/awt/X11Color.c - S8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY - S8047062: Improve diagnostic output in com/sun/jndi/ldap/LdapTimeoutTest.java - S8047066: Test test/sun/awt/image/bug8038000.java fails with ClassCastException - S8047073: Some javax/management/ fails with JFR - S8047145: 8u20 l10n resource file translation update 2 - S8047186: jdk.net.Sockets throws InvocationTargetException instead of original runtime exceptions - S8047288: Fixes endless loop on mac caused by invoking Windows.isFocusable() on Appkit thread. - S8047323: Remove unused _copy_metadata_obj_cl in G1CopyingKeepAliveClosure - S8047326: Consolidate all CompiledIC::CompiledIC implementations and move it to compiledIC.cpp - S8047340: (process) Runtime.exec() fails in Turkish locale - S8047341: lambda reference to inner class in base class causes LambdaConversionException - S8047362: Add a version of CompiledIC_at that doesn't create a new RelocIterator - S8047373: Clean the ExceptionCache in one pass - S8047383: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions. - S8047674: java/net/URLPermission/nstest/lookup.sh NoClassDefFoundError when run in concurrent mode - S8047719: Incorrect LVT in switch statement - S8047732: new hotspot build - hs25.20-b21 - S8047740: Add hotspot testset to jprt.properties - S8047795: Collections.checkedList checking bypassed by List.replaceAll - S8047812: Ensure ClassLoaderDataGraph::classes_unloading_do only delivers klasses from CLDs with non-reclaimed class loader oops - S8047818: G1 HeapRegions can no longer be ContiguousSpaces - S8047819: G1 HeapRegionDCTOC does not need to inherit ContiguousSpaceDCTOC - S8047820: G1 Block offset table does not need to support generic Space classes - S8047821: G1 Does not use the save_marks functionality as intended - S8047925: Add mercurial version checks to get_source.sh - S8047934: Adding new API for unlocking diagnostic argument. - S8047976: Ergonomics for GC thread counts should update the flags - S8048020: Regression on java.util.logging.FileHandler - S8048025: Ensure cache consistency - S8048063: (jdeps) Add filtering capability - S8048073: Cannot read ccache entry with a realm-less service name - S8048080: (smartcardio) javax.smartcardio.Card.openLogicalChannel() dosn't work on MacOSX - S8048085: Aborting marking just before remark results in useless additional clearing of the next mark bitmap - S8048088: Conservative maximum heap alignment should take vm_allocation_granularity into account - S8048110: Using tables in JTextPane leads to infinite loop in FlowLayout.layoutRow - S8048112: G1 Full GC needs to support the case when the very first region is not available - S8048121: javac complex method references: revamp and simplify - S8048141: Update the Hotspot version numbers in Hotspot for JDK 8u40 - S8048150: Allow easy configurations for large CDS archives - S8048169: Change 8037816 breaks HS build on PPC64 and CPP-Interpreter platforms - S8048170: Test closed/java/text/Normalizer/ConformanceTest.java failed - S8048184: handle mercurial dev build version string - S8048194: GSSContext.acceptSecContext fails when a supported mech is not initiator preferred - S8048207: Collections.checkedQueue.offer() calls add on wrapped queue - S8048209: Collections.synchronizedNavigableSet().tailSet(Object,boolean) synchronizes on wrong object - S8048212: Two tests failed with "java.net.SocketException: Bad protocol option" on Windows after 8029607 - S8048214: Linker error when compiling G1SATBCardTableModRefBS after include order changes - S8048265: AWT crashes inside CCombinedSegTable::In called from Java_sun_awt_windows_WDefaultFontCharset_canConvert - S8048268: G1 Code Root Migration performs poorly - S8048269: Add flag to turn off class unloading after G1 concurrent mark - S8048270: Resolve autoconf and other merge issue from 8u20-b20 to 8u25 - S8048506: [macosx] javax.swing.PopupFactory issue with null owner - S8048511: Uninitialised memory in jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c - S8048512: Uninitialised memory in jdk/src/share/native/sun/security/ec/ECC_JNI.cpp - S8048515: Read outside array bounds in jdk/src/solaris/native/java/lang/java_props_md.c - S8048524: Memory leak in jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c - S8048549: [macosx] Disable usage of system menu bar if AWT is embedded in FX - S8048583: CustomMediaSizeName class matching to standard media is too loose - S8048703: ReplacedNodes dumps it's content to tty - S8048879: "unexpected yanked node" opto/postaloc.cpp:139 - S8048887: SortingFocusTraversalPolicy throws IllegalArgumentException from the sort method - S8048913: java/util/logging/LoggingDeadlock2.java times out - S8049043: Load variable through a pointer of an incompatible type in hotspot/src/share/vm/runtime/sharedRuntimeMath.hpp - S8049051: Use of during_initial_mark_pause() in G1CollectorPolicy::record_collection_pause_end() prevents use of seperate object copy time prediction during marking - S8049055: Tests added to the jdk/test/TEST.groups to be run on correct profiles - S8049057: JNI exception pending in jdk/src/windows/native/sun/windows/ - S8049065: [JLightweightFrame] Support DnD for SwingNode - S8049071: Add jtreg jobs to JPRT for hotspot - S8049075: javac, wildcards and generic vararg method invocation not accepted - S8049128: 8u20 l10n resource file translation update 2 - jaxp - S8049198: [macosx] Incorrect thread access when showing splash screen - S8049244: XML Signature performance issue caused by unbuffered signature data - S8049250: Need a flag to invert the Card.disconnect(reset) argument - S8049252: VerifyStack logic in Deoptimization::unpack_frames does not expect to see invoke bc at the top frame during normal deoptimization - S8049303: Transient network problems cause JMX thread to fail silenty - S8049327: [TESTBUG] gc/logging/TestGCId.java assumes default PrintGCID value is true - S8049340: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java timed out - S8049343: (tz) Support tzdata2014g - S8049346: [TESTBUG] fix the @run line of the test: jdk/test/java/awt/Focus/SortingFTP/JDK8048887.java - S8049373: All compact profiles builds fail following JDK-8044473 - S8049411: Minimal VM build broken after gcId.cpp was added - S8049418: [macosx] PopupMenuListener.popupMenuWillBecomeVisible is not called for empty combobox on MacOS/aqua look and feel - S8049421: G1 Class Unloading after completing a concurrent mark cycle - S8049426: Minor cleanups after G1 class unloading - S8049514: FEATURE_SECURE_PROCESSING can not be turned off on a validator through SchemaFactory - S8049528: Method marked w/ @ForceInline isn't inlined with "executed < MinInliningThreshold times" message - S8049529: LogCompilation: annotate make_not_compilable with compilation level - S8049530: Provide descriptive failure reason for compilation tasks removed for the queue - S8049532: LogCompilation: C1: inlining tree is flat (no depth is stored) - S8049542: C2: assert(size_in_words <= (julong)max_jint) failed: no overflow - S8049555: Move varargsArray from sun.invoke.util package to java.lang.invoke - S8049583: Test closed/java/awt/List/ListMultipleSelectTest/ListMultipleSelectTest fails on Window XP - S8049599: MetaspaceGC::_capacity_until_GC can overflow - S8049684: pstack crashes on java core dump - S8049831: Metadata Full GCs are not triggered when CMSClassUnloadingEnabled is turned off - S8049884: Reduce possible timing noise in com/sun/jndi/ldap/LdapTimeoutTest.java - S8049916: new hotspot build - hs25.40-b02 - S8049996: [macosx] test java/awt/image/ImageIconHang.java fails with NPE - S8050022: linux-sparcv9: assert(SharedSkipVerify || obj->is_oop()) failed: sanity check - S8050052: Small cleanups in java.lang.invoke code - S8050053: Improve caching of different invokers - S8050057: Improve caching of MethodHandle reinvokers - S8050079: crash while compiling java.lang.ref.Finalizer::runFinalizer - S8050115: javax/management/monitor/GaugeMonitorDeadlockTest.java fails intermittently - S8050165: linux-sparcv9: NMT detail causes assert((intptr_t*)younger_sp[FP->sp_offset_in_saved_window()] == (intptr_t*)((intptr_t)sp - STACK_BIAS)) failed: younger_sp must be valid - S8050166: Get rid of some package-private methods on arguments in j.l.i.MethodHandle - S8050167: linux-sparcv9: hs_err file does not show any stack information - S8050173: Add j.l.i.MethodHandle.copyWith(MethodType, LambdaForm) - S8050174: Support overriding of isInvokeSpecial flag in WrappedMember - S8050200: Make LambdaForm intrinsics detection more robust - S8050229: Uninitialised memory in hotspot/src/share/vm/compiler/oopMap.cpp - S8050386: javac, follow-up of fix for JDK-8049305 - S8050485: super() in a try block in a ctor causes VerifyError - S8050804: (jdeps) Recommend supported API to replace use of JDK internal API - S8050877: Improve code for pairwise argument conversions and value boxing/unboxing - S8050884: Intrinsify ValueConversions.identity() functions - S8050887: Intrinsify constants for default values - S8050893: (smartcardio) Invert reset argument in tests in sun/security/smartcardio - S8050942: PPC64: implement template interpreter for ppc64le - S8050972: Concurrency problem in PcDesc cache - S8050973: CMS/G1 GC: add missing Resource and Handle mark - S8050978: Fix bad field access check in C1 and C2 - S8050983: Misplaced parentheses in sun.net.www.http.HttpClient break HTTP PUT streaming - S8051002: Incorrectly merged share/vm/classfile/classFileParser.cpp was pushed to 8u20. - S8051004: javac, incorrect bug id in tests for JDK-8050386 - S8051005: Third Party License Readme update for 8u20 - S8051012: Regression in verifier for method call from inside of a branch - S8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on - S8051359: JPopupMenu creation in headless mode with JDK9b23 causes NPE - S8051378: AIX: Change "8030763: Validate global memory allocation" breaks the HotSpot build - S8051402: javac, type containment should accept that CAP <= ? extends CAP and CAP <= ? super CAP - S8051467: javac, additional test case for JDK-8051402 - S8051588: DataTransferer.getInstance throws ClassCastException in headless mode - S8051614: smartcardio TCK tests fail due to lack of 'reset' permission - S8051838: [Findbugs] sun.awt.image.MultiResolutionCachedImage expose internal representation - S8051857: OperationTimedOut exception inside from XToolkit.syncNativeQueue call - S8051883: TEST.groups references missing test: gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java - S8051908: new hotspot build - hs25.20-b23 - S8051910: new hotspot build - hs25.40-b03 - S8051958: Cannot assign a value to final variable in lambda - S8051973: Eager reclaim leaves marks of marked but reclaimed objects on the next bitmap - S8052081: Optimize generated by C2 code for Intel's Atom processor - S8052162: REGRESSION: sun/java2d/cmm/ColorConvertOp tests fail since 7u71 b01 - S8052170: G1 asserts at collection exit with -XX:-G1DeferredRSUpdate - S8052172: Evacuation failure handling in G1 does not evacuate all objects if -XX:-G1DeferredRSUpdate is set - S8052313: Backport CDS tests from JDK-9 to jdk8_u40 - S8052403: java/util/logging/CheckZombieLockTest.java fails with NoSuchFileException - S8052406: SSLv2Hello protocol may be filter out unexpectedly - S8053938: Collections.checkedList(empty list).replaceAll((UnaryOperator)null) doesn't throw NPE after JDK-8047795 - S8053963: (dc) Use DatagramChannel.receive() instead of read() in connect() - S8054008: Using -XX:-LazyBootClassLoader crashes with ACCESS_VIOLATION on Win 64bit. - S8054009: Support SKIP_BOOT_CYCLE=false when invoked from JPRT - S8054029: (fc) FileChannel.size() returns 0 for block devices on Linux - S8054054: 8040121 is broken - S8054159: new hotspot build - hs25.40-b04 - S8054210: NullPointerException when compiling specific code. - S8054224: Recursive method that was compiled by C1 is unable to catch StackOverflowError - S8054292: code comments leak in fastdebug builds - S8054341: Remove some obsolete code in G1CollectedHeap class - S8054362: gc/g1/TestEagerReclaimHumongousRegions2.java timeout - S8054368: nsk/jdi/VirtualMachine/exit/exit002 crash with detail tracking on (NMT2) - S8054372: Cleanup of com.sun.media.sound packages - S8054376: Move RTM flags from Experimental to Product - S8054402: "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes - S8054431: Some of the input validation in the javasound is too strict - S8054448: (ann) Cannot reference field of inner class in an anonymous class - S8054478: C2: Incorrectly compiled char[] array access crashes JVM - S8054480: Test java/util/logging/TestLoggerBundleSync.java fails: Unexpected bundle name: null - S8054530: C2: assert(res == old_res) failed: Inconsistency between old and new - S8054546: NMT2 leaks memory - S8054547: Re-enable warning for incompatible java launcher - S8054550: new hotspot build - hs25.40-b05 - S8054638: xrender: text drawn after setColor(Color.white) is actually black - S8054711: [TESTBUG] Enable NMT2 tests after NMT2 is integrated - S8054800: JNI exception pending in jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp - S8054801: Memory leak in jdk/src/windows/native/sun/windows/awt_InputMethod.cpp - S8054804: 8u25 l10n resource file translation update - S8054805: Update CLI tests on RTM options to reflect changes in JDK-8054376 - S8054808: Bitmap verification sometimes fails after Full GC aborts concurrent mark. - S8054817: File ccache only recognizes Linux and Solaris defaults - S8054818: Refactor HeapRegionSeq to manage heap region and auxiliary data - S8054819: Rename HeapRegionSeq to HeapRegionManager - S8054836: [TESTBUG] Test is needed to verify correctness of malloc tracking - S8054841: (process) ProcessBuilder leaks native memory - S8054883: Segmentation error while running program - S8054927: Missing MemNode::acquire ordering in some volatile Load nodes - S8054938: [TESTBUG] Wrong WhiteBox.java was pushed by JDK-8044140 - S8054952: [TESTBUG] Add missing NMT2 tests - S8054970: gc src file exclusion should exclude alternative sources - S8054987: (reflect) Add sharing of annotations between instances of Executable - S8055006: Store original value of Min/MaxHeapFreeRatio - S8055007: NMT2: emptyStack missing in minimal build - S8055012: [TESTBUG] NMTHelper fails to parse NMT output - S8055051: runtime/NMT/CommandLineEmptyArgument.java fails - S8055052: [TESTBUG] runtime/NMT/JcmdDetailDiff.java fails on Windows when there are no debug symbols available - S8055053: [TESTBUG] runtime/NMT/VirtualAllocCommitUncommitRecommit.java fails - S8055061: assert at share/vm/services/virtualMemoryTracker.cpp:332 Error: ShouldNotReachHere() when running NMT tests - S8055063: Parameter#toString() fails w/ AIOOBE for ctr of inner class w/ generic type - S8055069: TSX and RTM should be deprecated more strongly until hardware is corrected - S8055098: WB API should be extended to provide information about size and age of object. - S8055155: new hotspot build - hs25.40-b06 - S8055217: Make jdk8u40 the default jprt release for hs25.40 - S8055222: Currency update needed for ISO 4217 Amendment #159 - S8055236: Deadlock during NMT2 shutdown on Windows - S8055243: Make jdk8u40 the default release - S8055275: Several gc/class_unloading/ tests fail due to missed +UnlockDiagnosticVMOptions flag - S8055286: Extend CompileCommand=option to handle numeric parameters - S8055289: Internal Error: mallocTracker.cpp:146 fatal error: Should not use malloc for big memory block, use virtual memory instead - S8055393: [Testbug] Some tests are being executed and fail under profiles - S8055421: (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c - S8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method - S8055514: Wrong, confusing error when non-static varargs referenced in static context - S8055525: Bigapp weblogic+medrec fails to startup after JDK-8038423 - S8055635: Missing include in g1RegionToSpaceMapper.hpp results in unresolved symbol of fastdebug build without precompiled headers - S8055657: Test compiler/classUnloading/methodUnloading/TestMethodUnloading.java does not work with non-default GC - S8055662: Update mapfile for libjfr - S8055677: java/lang/instrument/RedefineBigClass.sh RetransformBigClass.sh start failing after JDK-8055012 - S8055684: runtime/NMT/CommandLineEmptyArgument.java fails - S8055717: Increment hsx 25.25 build to b02 for 8u25-b11 - S8055731: sun/security/smartcardio/TestDirect.java throws java.lang.IndexOutOfBoundsException - S8055744: 8u-dev nightly solaris builds failed on 08/20 - S8055765: Misplaced @key stress prevents MallocSiteHashOverflow.java and MallocStressTest.java tests from running - S8055785: Modifications of I/O methods for instrumentation purposes - S8055786: new hotspot build - hs25.40-b07 - S8055798: Japanese translation for a warning from javac looks incorrect. - S8055816: Remove dead code in g1BlockOffsetTable - S8055903: Develop sanity tests on SPARC's SHA instructions support - S8055904: Develop tests for new command-line options related to SHA intrinsics - S8055919: Remove dead code in G1 concurrent marking code - S8055946: assert(result == NULL || result->is_oop()) failed: must be oop - S8055949: ByteArrayOutputStream capacity should be maximal array size permitted by VM - S8055952: new hotspot build - hs25.40-b08 - S8055953: [TESTBUG] Fix for 8055098 does not contain unit test - S8056014: Type inference may be skipped for a complex receiver generic method in a parameter position - S8056026: Debug security logging should print Provider used for each crypto operation - S8056043: Heap does not shrink within the heap after JDK-8038423 - S8056049: getProcessCpuLoad() stops working in one process when a different process exits - S8056051: int[]::clone causes "java.lang.NoClassDefFoundError: Array" - S8056056: Remove unnecessary inclusion of HS_ALT_MAKE from solaris Makefile - S8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations' - S8056072: add jprt_optimized targets - S8056084: Refactor Hashtable to allow implementations without rehashing support - S8056091: Move compiler/intrinsics/mathexact/sanity/Verifier to compiler/testlibrary and extend its functionality - S8056121: set the default release to 8u25 in the source tree for JPRT - S8056122: Upgrade JDK to use LittleCMS 2.6 - S8056124: Hotspot should use PICL interface to get cacheline size on SPARC - S8056154: JVM crash with EXCEPTION_ACCESS_VIOLATION when there are many threads running - S8056175: Change "8048150: Allow easy configurations for large CDS archives" triggers conversion warning with older GCC - S8056183: os::is_MP() always reports true when NMT is enabled - S8056211: api/java_awt/Event/InputMethodEvent/serial/index.html#Input[serial2002] failure - S8056223: typo in export_optimized_jdk - S8056237: [TESTBUG] gc/g1/TestHumongousShrinkHeap.java fails due to OOM - S8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse - S8056248: Improve ForkJoin thread throttling - S8056249: Improve CompletableFuture resource usage - S8056256: [TESTBUG] Disable NMTWithCDS.java test as launcher change has yet promoted - S8056263: [TESTBUG] Re-enable NMTWithCDS.java test - S8056299: new hotspot build - hs25.40-b09 - S8056914: Right Click Menu for Paste not showing after upgrading to java 7 - S8056926: Improve caching of GuardWithTest combinator - S8056964: JDK-8055286 changes are incomplete. - S8056971: Minor class loading clean-up - S8056984: Exception in compiler: java.lang.AssertionError: isSubClass T - S8056987: 8u-dev nightly windows builds failed from 8/29 - S8057020: LambdaForm caches should support eviction - S8057042: LambdaFormEditor: derive new LFs from a base LF - S8057043: Type annotations not retained during class redefine / retransform - S8057129: Fix AIX build after the Extend CompileCommand=option change 8055286 - S8057143: Incomplete renaming of variables containing "hrs" to "hrm" related to HeapRegionSeq - S8057165: [TESTBUG] Need a test to cover JDK-8054883 - S8057184: JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris - S8057531: refactor gc argument processing code slightly - S8057535: add a thread extension class - S8057536: Refactor G1 to allow context specific allocations - S8057564: JVM hangs at getAgentProperties after attaching to VM with lower - S8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc) - S8057623: add an extension class for argument handling - S8057629: Third Party License Readme update for 8u40 - S8057643: Unable to build --with-debug-level=optimized on OSX - S8057649: new hotspot build - hs25.40-b10 - S8057654: Extract checks performed during MethodHandle construction into separate methods - S8057656: Improve MethodType.isCastableTo() & MethodType.isConvertibleTo() checks - S8057657: Annotate LambdaForm parameters with types - S8057658: Enable G1 FullGC extensions - S8057707: TEST library enhancement in lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java - S8057710: Refactor G1 heap region default sizes - S8057719: Develop new tests for LambdaForm Reduction and Caching feature - S8057722: G1: Code root hashtable updated incorrectly when evacuation failed - S8057747: Several test failing after update to tzdata2014g - S8057750: CTW should not make MH intrinsics not entrant - S8057751: CompileNativeLibraries for custom build - S8057752: WhiteBox extension support for testing - S8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair - S8057768: Make heap region region type in G1 HeapRegion explicit - S8057770: api/javax_swing/JScrollPane/indexTGF.html#UpdateUI failed with MotifLookAndFeel on all platform - S8057788: [macosx] "Pinch to zoom" does not work since jdk7 - S8057793: BigDecimal is no longer effectively immutable - S8057794: Compiler Error when obtaining .class property - S8057799: Unnecessary NULL check in G1KeepAliveClosure - S8057800: Method reference with generic type creates NPE when compiling - S8057813: Alterations to jdk_security3 test target - S8057818: collect allocation context statistics at gc pauses - S8057824: methods to copy allocation context statistics - S8057827: notify an obj when allocation context stats are available - S8057830: Crash in Java2D Queue Flusher, OGLSD_SetScratchSurface - S8057893: JComboBox actionListener never receives "comboBoxEdited" from getActionCommand - S8057922: Improve LambdaForm sharing by using LambdaFormEditor more extensively - S8057934: Upgrade to LittleCMS 2.6 breaks AIX build - S8057936: java.net.URLClassLoader.findClass uses exceptions in control flow - S8057959: Retag 8u25-b16 to include more fixes - S8058092: Test vm/mlvm/meth/stress/compiler/deoptimize. Assert in src/share/vm/classfile/systemDictionary.cpp: MH intrinsic invariant - S8058112: Invalid BootstrapMethod for constructor/method reference - S8058120: Rendering / caret errors with HTMLDocument - S8058136: Test api/java_awt/SplashScreen/index.html\#ClosedSplashScreenTests fails because of java.lang.IllegalStateException was not thrown - S8058148: MaxNodeLimit and LiveNodeCountInliningCutoff - S8058184: Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters - S8058193: [macosx] Potential incomplete fix for JDK-8031485 - S8058197: AWT fails on generic non-reparenting window managers - S8058209: Race in G1 card scanning could allow scanning of memory covered by PLABs - S8058216: NetworkInterface.getHardwareAddress can return zero length byte array when run with preferIPv4Stack - S8058235: identify GCs initiated to update allocation context stats - S8058251: assert(_count > 0) failed: Negative counter when running runtime/NMT/MallocTrackingVerify.java - S8058275: new hotspot build - hs25.40-b11 - S8058291: Missing some checks during parameter validation - S8058293: Bit set computation in MHs.findFirstDupOrDrop/findFirstDrop is broken - S8058448: Disable JPRT submissions from the hotspot repo - S8058473: "Comparison method violates its general contract" when using Clipboard - S8058475: TestCMSClassUnloadingEnabledHWM.java fails with '.*CMS Initial Mark.*' missing from stdout/stderr - S8058481: Test gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java was removed, but TEST.groups still refers to it - S8058487: JRE installer fails if older jre is on the system with MSI 1603 error. System error 183 - S8058505: BigIntegerTest does not exercise Burnikel-Ziegler division - S8058511: StackOverflowError at com.sun.tools.javac.code.Types.lub - S8058536: java/lang/instrument/NativeMethodPrefixAgent.java fails due to VirtualMachineError: out of space in CodeCache for method handle intrinsic - S8058564: Tiered compilation performance drop in PIT - S8058568: GC cleanup phase can cause G1 skipping a System.gc() - S8058573: Resolve autoconf and other merge issue from 8u25 and 8u40 - S8058584: Ignore java/lang/invoke/LFCaching/LFGarbageCollectedTest until 8057020 is fixed - S8058606: [TESTBUG] Detailed Native Memory Tracking (NMT) data is not verified as output at VM exit - S8058626: Missing part of 8057656 in 8u40 compared to 9 - S8058632: Revert JDK-8054984 from 8u40 - S8058653: [TEST_BUG] Test java/awt/Graphics2D/DrawString/DrawStringCrash.java fails with OutOfMemoryError - S8058657: Add @jdk.Exported to com.sun.jarsigner APIs - S8058661: Compiled LambdaForms should inherit from Object to improve class loading performance - S8058664: Bad fonts in BigIntegerTest - S8058679: More bad characters in BigIntegerTest - S8058695: [TESTBUG] Reinvokers with arity >253 can't be cached - S8058708: java.lang.AssertionError compiling source code - S8058715: stability issues when being launched as an embedded JVM via JNI - S8058728: TEST_BUG: Make java/lang/invoke/LFCaching/LFGarbageCollectedTest.java skip arrayElementSetter and arrayElementGetter methods - S8058733: [TESTBUG] java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java and LFMultiThreadCachingTest.java failed on some platforms due to java.lang.VirtualMachineError - S8058739: The test case failed as "ERROR in native method: ReleasePrimitiveArrayCritical: failed bounds check" - S8058744: Crash in C1 OSRed method w/ Unsafe usage - S8058798: new hotspot build - hs25.40-b12 - S8058818: Allocation of more then 1G of memory using Unsafe.allocateMemory is still causing a fatal error on 32bit platforms - S8058825: EA: ConnectionGraph::split_unique_types does incorrect scalar replacement - S8058828: Wrong ciConstant type for arrays from ConstantPool::_resolved_reference - S8058847: C2: EliminateAutoBox regression after 8042786 - S8058858: JRE 8u20 crashes while using Japanese IM on Windows - S8058870: Mac: JFXPanel deadlocks in jnlp mode - S8058892: FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl - S8058919: Add sanity test for minimal VM in test/Makefile - S8058927: ATG throws ClassNotFoundException - S8058932: java/net/InetAddress/IPv4Formats.java failed because hello.foo.bar does exist - S8058936: hotspot/test/Makefile should use jtreg script from $JT_HOME/bin/jreg (instead of $JT_HOME/win32/bin/jtreg) - S8059002: 8058744 needs a test case - S8059070: [TESTBUG] java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java failed - timeout - S8059100: SIGSEGV VirtualMemoryTracker::remove_released_region - S8059131: sawindbg.dll is not compiled with /SAFESEH - S8059136: Reverse removal of applet demos [backout 8015376] - S8059139: It should be possible to explicitly disable usage of TZCNT instr w/ -XX:-UseBMI1Instructions - S8059177: jdk8u40 l10n resource file translation update 1 - S8059200: Promoted JDK9 b31 for Solaris-amd64 fails (Error: dl failure on line 744, no picl library) on Solaris 11.1 - S8059204: new hotspot build - hs25.40-b13 - S8059206: (tz) Support tzdata2014i - S8059216: Make PrintGCApplicationStoppedTime print information about stopping threads - S8059226: Names of rtm_state_change and unstable_if deoptimization reasons were swapped in 8u40 - S8059269: FileHandler may throw NPE if pattern is a simple name and the lock file already exists - S8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr - S8059311: com/sun/jndi/ldap/LdapTimeoutTest.java fails with exit_code == 0 - S8059327: XML parser returns corrupt attribute value - S8059445: Remove CompilationRepeat - S8059452: G1: Change the default values for G1HeapWastePercent and G1MixedGCLiveThresholdPercent - S8059462: Typo in keytool resource file - S8059466: Force young GC to initiate marking cycle when stat update is requested - S8059556: C2: crash while inlining MethodHandle invocation w/ null receiver - S8059590: ArrayIndexOutOfBoundsException occurs when Container with overridden getComponents() is deserialized - S8059592: Recent bugfixes in ppc64 port. - S8059618: new hotspot build - hs25.40-b14 - S8059621: JVM crashes with "unexpected index type" assert in LIRGenerator::do_UnsafeGetRaw - S8059655: new hotspot build - hs25.40-b15 - S8059710: javac, the same approach used in fix for JDK-8058708 should be applied to Code.closeAliveRanges - S8059739: Dragged and Dropped data is corrupted for two data types - S8059758: Footprint regressions with JDK-8038423 - S8059780: SPECjvm2008-MPEG performance regressions on x64 platforms - S8059803: Update use of GetVersionEx to get correct Windows version in hs_err files - S8059877: GWT branch frequencies pollution due to LF sharing - S8059880: Get rid of LambdaForm interpretation - S8059921: Missing compile error in Java 8 mode for Interface.super.field access - S8059941: [D3D] The fix for JDK-8029253 should be ported to d3d pipeline - S8059942: Default implementation of DrawImage.renderImageXform() should be improved for d3d/ogl - S8059943: [macosx] Aqua LaF should use BI.TYPE_INT_ARGB_PRE for a better performance - S8059944: [OGL] Metrics for a method choice copying of texture should be improved - S8059948: Rename the test group from jdk_rt to jdk_rm - S8059998: Broken link in java.awt.event Interface KeyListener - S8060006: No Russian time zones mapping for Windows - S8060116: After JDK-8047976 gc/g1/TestSummarizeRSetStatsThreads fails - S8060147: SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv - S8060151: Check-in changes for 8u40 nroff Open JDK - S8060169: Update the Crash Reporting URL in the Java crash log - S8060454: [TESTBUG] Whitebox tests fail with -XX:CompileThreshold=100 - S8060467: CMS: small OldPLABSize and -XX:-ResizePLAB cause assert(ResizePLAB || n_blks == OldPLABSize) failed: Error - S8060483: NPE with explicitCastArguments unboxing null - S8060485: (str) contentEquals checks the String contents twice on mismatch - S8061234: ResourceContext.requestAccurateUpdate() is unreliable - S8061275: new hotspot build - hs25.40-b16 - S8061392: PrinterJob NPE when drawing translucent image with null user clip - S8061456: [OGL] Incorrect clip is used during sw->surface blit in xor mode - S8061486: [TESTBUG] compiler/whitebox/ tests fail : must be osr_compiled (reappeared in nightlies) - S8061651: Interface to the Lookup Index Cache to improve URLClassPath search time - S8061817: Whitebox.deoptimizeMethod() does not deoptimize all OSR versions of method - S8061830: [asm] refresh internal ASM version v5.0.3 - S8061861: new hotspot build - hs25.40-b17 - S8061960: java/lang/instrument/DaemonThread/TestDaemonThread.java regularly fails due to exceeded timeout - S8061969: [TESTBUG] MallocSiteHashOverflow.java should be enabled for 32-bit platforms - S8061983: [TESTBUG] compiler/whitebox/MakeMethodNotCompilableTest.java fails with "must not be in queue" - S8062021: NPE in sun/lwawt/macosx/CPlatformWindow::toFront after JDK-8060146 - S8062036: ConcurrentMarkThread::slt may be invoked before ConcurrentMarkThread::makeSurrogateLockerThread causing intermittent crashes - S8062164: Incorrect color conversion, when bicubic interpolation is used - S8062169: Multiple OSR compilations issued for same bci - S8062233: add java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java to problem list - S8062247: [TESTBUG] Allow WhiteBox test to access JVM offsets - S8062359: javac Attr crashes with NPE in TypeAnnotationsValidator visitNewClass - S8062475: Enable hook for custom doc generation - S8062501: Modifications of server socket channel accept() methods for instrumentation purposes - S8062589: new hotspot build - hs25.40-b18 - S8062608: BCEL corrupts debug data of methods that use generics - S8062635: Enable custom CompileJavaClasses.gmk - S8062742: compiler/EliminateAutoBox/UnsignedLoads.java fails with client vm - S8062744: jdk.net.Sockets.setOption/getOption does not support IP_TOS - S8062747: Compiler error when anonymous class uses method with parametrized exception - S8062771: Core reflection should use final fields whenever possible - S8062870: src/share/vm/services/mallocTracker.hpp:64 assert(_count > 0) failed: Negative counter - S8062950: Bug in locking code when UseOptoBiasInlining is disabled: assert(dmw->is_neutral()) failed: invariant - S8062957: Heap is not shrunk when deallocating under memory pressure - S8063052: Inference chokes on wildcard derived from method reference - S8063135: Enable full LF sharing by default - S8063700: -Xcheck:jni changes cause many JCK failures in api/javax_crypto tests in SunPKCS11 - S8064288: sun.management.Flag should loadLibrary() - S8064361: new hotspot build - hs25.40-b19 - S8064375: Change certain errors to warnings in CDS output. - S8064391: More thread safety problems in core reflection - S8064468: ownedWindowList access requires synchronization in Window.setAlwaysOnTop() method - S8064516: BCEL still corrupts generic methods if bytecode offsets are modified - S8064556: G1: ParallelGCThreads=0 may cause assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty - S8064560: (tz) Support tzdata2014j - S8064667: Add -XX:+CheckEndorsedAndExtDirs flag to JDK 8 - S8064701: Some CDS optimizations should be disabled if bootclasspath is modified by JVMTI - S8064716: TestHumongousShrinkHeap.java can not be run with -XX:+ExplicitGCInvokesConcurrent - S8064854: new hotspot build - hs25.40-b20 - S8065072: sun/net/www/http/HttpClient/StreamingRetry.java failed intermittently - S8065098: JColorChooser no longer supports drag and drop between two JVM instances - S8065132: Parameter annotations not updated when synthetic parameters are prepended - S8065157: jdk8u40 Japanese man page file translation update - S8065183: Add --with-copyright-year option to configure - S8065227: Report allocation context stats at end of cleanup - S8065238: javax.naming.NamingException after upgrade to JDK 8 - S8065305: Make it possible to extend the G1CollectorPolicy - S8065346: WB_AddToBootstrapClassLoaderSearch calls JvmtiEnv::create_a_jvmti when not in _thread_in_vm state - S8065361: Fixup headers and definitions for INCLUDE_TRACE - S8065385: new hotspot build - hs25.40-b21 - S8065397: Remove ExtendedPlatformComponent.java from EXFILES list - S8065552: setAccessible(true) on fields of Class may throw a SecurityException - S8065618: C2 RA incorrectly removes kill projections - S8065627: Animated GIFs fail to display on a HiDPI display - S8065634: Crash in InstanceKlass::clean_method_data when _method is NULL - S8065702: Deprecate the Extension Mechanism - S8065764: javax/management/monitor/CounterMonitorTest.java hangs - S8065765: Missing space in output message from -XX:+CheckEndorsedAndExtDirs - S8065991: LogManager unecessarily calls JavaAWTAccess from within a critical section - S8066045: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066061: new hotspot build - hs25.40-b22 - S8066103: C2's range check smearing allows out of bound array accesses - S8066142: Edit the value in the text field and then press the tab key, the number don't increase - S8066143: [TESTBUG] New tests in gc/survivorAlignment/ fails - S8066146: jdk.nashorn.api.scripting package javadoc should be included in jdk docs - S8066199: C2 escape analysis prevents VM from exiting quickly - S8066397: Remove network-related seed initialization code in ThreadLocal/SplittableRandom - S8066647: new hotspot build - hs25.40-b23 - S8066649: 8u backport for 8065618 is incorrect - S8066670: PrintSharedArchiveAndExit does not exit the VM when the archive is invalid - S8066746: MHs.explicitCastArguments does incorrect type checks for VarargsCollector - S8066756: Test test/sun/awt/dnd/8024061/bug8024061.java fails - S8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066900: Array Out Of Bounds Exception causes variable corruption - S8066964: ppc64: argument and return type profiling, fix problem with popframe - S8066986: [headless] DataTransferer.getInstance throws ClassCastException in headless mode - S8067039: Revert changes to annotation attribute generation - S8067144: SIGSEGV with +TraceDeoptimization in Deoptimization::print_objects - S8067232: [TESTBUG] runtime/CheckEndorsedAndExtDirs/EndorsedExtDirs.java fails with ClassNotFoundException - S8068548: jdeps needs a different mechanism to recognize javax.jnlp as supported API - S8068631: new hotspot build - hs25.40-b24 - S8068650: $jdk/api/javac/tree contains docs for nashorn 2015-03-02 Andrew John Hughes * Makefile.am: (JDK_UPDATE_VERSION): Bump to 40. (BUILD_VERSION): Set to b21. (CORBA_CHANGESET): Update to icedtea-3.0.0pre03 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (NASHORN_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (NASHORN_SHA256SUM): Likewise. * NEWS: Updated. * configure.ac: Bump to 3.0.0pre03. * hotspot.map: Update to icedtea-3.0.0pre03 tag. changeset a9271fe74b8d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a9271fe74b8d author: Andrew John Hughes date: Tue Mar 03 00:15:26 2015 +0000 PR1281, RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive 2015-03-02 Andrew John Hughes * Makefile.am: (add-archive): Change from BUILD_OUTPUT_DIR to BUILD_IMAGE_DIR. (clean-add-archive): Likewise. (add-archive-debug): Change from DEBUG_BUILD_OUTPUT_DIR to BUILD_DEBUG_IMAGE_DIR. (clean-add-archive-debug): Likewise. (add-archive-boot): Change from BOOT_BUILD_OUTPUT_DIR to BUILD_BOOT_IMAGE_DIR. (clean-add-archive-boot): Likewise. 2013-06-05 Andrew John Hughes PR1281: Updating/Installing OpenJDK should recreate the shared class-data archive * Makefile.am: (.PHONY): Add clean-add-archive, clean-add-archive-debug and clean-add-archive-boot. 2013-02-08 Andrew John Hughes PR1301: PR1171 causes Zero builds to fail * Makefile.am: (add-archive): Don't run -Xshare:dump if building Zero. (add-archive-debug): Likewise. (add-archive-boot): Likewise. 2013-01-25 Andrew John Hughes * Makefile.am: (clean-add-archive): Delete the archive. (clean-add-archive-debug): Likewise for debug. (clean-add-archive-boot): Likewise for bootstrap. 2012-11-28 Andrew John Hughes * Makefile.am: (add-archive): Only run -Xshare:dump when java exists and we aren't building CACAO or JamVM. (add-archive-debug): Likewise. (add-archive-boot): Likewise. 2012-11-20 Andrew John Hughes RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive * Makefile.am: (add-archive): Run -Xshare:dump on the newly built JDK. (clean-add-archive): Delete stamp. (add-archive-debug): Same as add-archive for icedtea-debug. (clean-add-archive-debug): Same as clean-add-archive for icedtea-debug. (icedtea-stage2): Depend on add-archive. (clean-icedtea-stage2): Depend on clean-add-archive. (icedtea-debug-stage2): Depend on add-archive-debug. (clean-icedtea-debug-stage2): Depend on clean-add-archive-debug. (add-archive-boot): Same as add-archive for icedtea-boot. (clean-add-archive-boot): Same as clean-add-archive for icedtea-boot. (icedtea-stage1): Depend on add-archive-boot. (clean-icedtea-stage1): Depend on clean-add-archive-boot. * NEWS: Mention. diffstat: ChangeLog | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 102 +++++++++++++++++++++++++++++++++++++++++++++------------- NEWS | 4 ++ configure.ac | 2 +- hotspot.map | 2 +- 5 files changed, 172 insertions(+), 25 deletions(-) diffs (286 lines): diff -r 860b787aa4c4 -r a9271fe74b8d ChangeLog --- a/ChangeLog Thu Feb 26 01:19:27 2015 +0000 +++ b/ChangeLog Tue Mar 03 00:15:26 2015 +0000 @@ -1,3 +1,90 @@ +2015-03-02 Andrew John Hughes + + * Makefile.am: + (add-archive): Change from BUILD_OUTPUT_DIR to + BUILD_IMAGE_DIR. + (clean-add-archive): Likewise. + (add-archive-debug): Change from DEBUG_BUILD_OUTPUT_DIR + to BUILD_DEBUG_IMAGE_DIR. + (clean-add-archive-debug): Likewise. + (add-archive-boot): Change from BOOT_BUILD_OUTPUT_DIR + to BUILD_BOOT_IMAGE_DIR. + (clean-add-archive-boot): Likewise. + +2013-06-05 Andrew John Hughes + + PR1281: Updating/Installing OpenJDK should recreate the + shared class-data archive + * Makefile.am: + (.PHONY): Add clean-add-archive, clean-add-archive-debug + and clean-add-archive-boot. + +2013-02-08 Andrew John Hughes + + PR1301: PR1171 causes Zero builds to fail + * Makefile.am: + (add-archive): Don't run -Xshare:dump if building + Zero. + (add-archive-debug): Likewise. + (add-archive-boot): Likewise. + +2013-01-25 Andrew John Hughes + + * Makefile.am: + (clean-add-archive): Delete the archive. + (clean-add-archive-debug): Likewise for debug. + (clean-add-archive-boot): Likewise for bootstrap. + +2012-11-28 Andrew John Hughes + + * Makefile.am: + (add-archive): Only run -Xshare:dump when java + exists and we aren't building CACAO or JamVM. + (add-archive-debug): Likewise. + (add-archive-boot): Likewise. + +2012-11-20 Andrew John Hughes + + RH513605: Updating/Installing OpenJDK should recreate + the shared class-data archive + * Makefile.am: + (add-archive): Run -Xshare:dump on the newly built JDK. + (clean-add-archive): Delete stamp. + (add-archive-debug): Same as add-archive for icedtea-debug. + (clean-add-archive-debug): Same as clean-add-archive for icedtea-debug. + (icedtea-stage2): Depend on add-archive. + (clean-icedtea-stage2): Depend on clean-add-archive. + (icedtea-debug-stage2): Depend on add-archive-debug. + (clean-icedtea-debug-stage2): Depend on clean-add-archive-debug. + (add-archive-boot): Same as add-archive for icedtea-boot. + (clean-add-archive-boot): Same as clean-add-archive for icedtea-boot. + (icedtea-stage1): Depend on add-archive-boot. + (clean-icedtea-stage1): Depend on clean-add-archive-boot. + * NEWS: Mention. + +2015-03-02 Andrew John Hughes + + * Makefile.am: + (JDK_UPDATE_VERSION): Bump to 40. + (BUILD_VERSION): Set to b21. + (CORBA_CHANGESET): Update to icedtea-3.0.0pre03 tag. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (NASHORN_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + (NASHORN_SHA256SUM): Likewise. + * NEWS: Updated. + * configure.ac: Bump to 3.0.0pre03. + * hotspot.map: Update to icedtea-3.0.0pre03 tag. + 2015-02-25 Andrew John Hughes * NEWS: Updated. diff -r 860b787aa4c4 -r a9271fe74b8d Makefile.am --- a/Makefile.am Thu Feb 26 01:19:27 2015 +0000 +++ b/Makefile.am Tue Mar 03 00:15:26 2015 +0000 @@ -1,24 +1,24 @@ # Dependencies -JDK_UPDATE_VERSION = 20 -BUILD_VERSION = b23 +JDK_UPDATE_VERSION = 40 +BUILD_VERSION = b21 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 83ebbcc0dda5 -JAXP_CHANGESET = 888f90c5e7da -JAXWS_CHANGESET = 9be5317def51 -JDK_CHANGESET = 03f9102db2c0 -LANGTOOLS_CHANGESET = 948daf9c5e22 -OPENJDK_CHANGESET = a81a301b0f89 -NASHORN_CHANGESET = 2a866ca13bc6 +CORBA_CHANGESET = 6c974fba96cb +JAXP_CHANGESET = e727012c23d9 +JAXWS_CHANGESET = 7ba7b06f15cf +JDK_CHANGESET = a5c3d9643077 +LANGTOOLS_CHANGESET = 0d5d2b8411d9 +OPENJDK_CHANGESET = 44a10ae251ca +NASHORN_CHANGESET = d8fc6574c0b2 -CORBA_SHA256SUM = 023aea7e793e57404380318fc827250dc5c711219dd85bc90fdf46a41497f1b6 -JAXP_SHA256SUM = 6436cce532e70421483307aafcc6a9eb6b607812617fefba668c321a6190d4c5 -JAXWS_SHA256SUM = 2f696e725176e8b24dad07eb7ab5442ee4601b40ed115c3cabae987ce49a48c3 -JDK_SHA256SUM = 88d4b37120269e5e31f8de22660a29e09bfa07beda8b37cc79b32d00b10d19aa -LANGTOOLS_SHA256SUM = 9f9457e40f1e354e305aca01108285d5714cd59c2ab4e84ac4edd2ab418e5ae9 -OPENJDK_SHA256SUM = a2d87a9a688ed97b91483a12c9fbd12669f12ea297595788a75b15891267dd11 -NASHORN_SHA256SUM = a5053e8698569821278786efd816fed4c4264ad5017f6a95d6ff735331d30116 +CORBA_SHA256SUM = 0b65f0faec1d3bea618a5d7ebc5fa734163ee21039e58ba1f38acf99ff92bbca +JAXP_SHA256SUM = 01dc9a20c521ffa8057dbf47a4f7b555a47156c6f9a1826e2ef893deb830c5cc +JAXWS_SHA256SUM = 2fc04ea4fabef520222600d533d72eb8305882349f8a6763144032a93bca521f +JDK_SHA256SUM = 1190242429de1c3c25db5114b35b9237deb53fe776a4b17613641d457030d9c7 +LANGTOOLS_SHA256SUM = 71dbcb8990f66749332d72001ea79b458baa51fcd1086907178c83f07007a860 +OPENJDK_SHA256SUM = b915757c7c17448c670e93b7b9885e46afad43fbf6585c2e0f9d3582237a8bd7 +NASHORN_SHA256SUM = b85c66df90280d529894563ab774968a462a57ad9568d8a2ab31a7f897cbe1e2 HS_TYPE = "`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" HS_URL = "`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" @@ -533,7 +533,8 @@ jtregcheck clean-remove-intree-libraries \ clean-jamvm clean-extract-jamvm clean-add-jamvm clean-add-jamvm-debug \ clean-extract-hotspot clean-sanitise-openjdk clean-icedtea-debug \ - clean-download-nashorn clean-extract-nashorn clean-download-hotspot + clean-download-nashorn clean-extract-nashorn clean-download-hotspot \ + clean-add-archive clean-add-archive-debug clean-add-archive-boot env: @echo 'unset JAVA_HOME' @@ -1582,20 +1583,53 @@ rm -f stamps/icedtea-debug-configure.stamp rm -f stamps/icedtea-debug.stamp +stamps/add-archive.stamp: stamps/icedtea.stamp +if !ENABLE_JAMVM +if !ENABLE_CACAO +if !ZERO_BUILD + if [ -e $(BUILD_IMAGE_DIR)/j2sdk-image/bin/java ] ; then \ + $(BUILD_IMAGE_DIR)/j2sdk-image/bin/java -Xshare:dump ; \ + fi +endif +endif +endif + touch stamps/add-archive.stamp + +clean-add-archive: + rm -vf $(BUILD_IMAGE_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/*/*.jsa + rm -f stamps/add-archive.stamp + +stamps/add-archive-debug.stamp: stamps/icedtea-debug.stamp +if !ENABLE_JAMVM +if !ENABLE_CACAO +if !ZERO_BUILD + if [ -e $(BUILD_DEBUG_IMAGE_DIR)/j2sdk-image/bin/java ] ; then \ + $(BUILD_DEBUG_IMAGE_DIR)/j2sdk-image/bin/java -Xshare:dump ; \ + fi +endif +endif +endif + touch stamps/add-archive-debug.stamp + +clean-add-archive-debug: + rm -vf $(BUILD_DEBUG_IMAGE_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/*/*.jsa + rm -f stamps/add-archive-debug.stamp + stamps/icedtea-stage2.stamp: stamps/icedtea.stamp stamps/add-cacao.stamp \ - stamps/add-zero.stamp stamps/add-jamvm.stamp + stamps/add-zero.stamp stamps/add-jamvm.stamp stamps/add-archive.stamp mkdir -p stamps touch $@ -clean-icedtea-stage2: clean-add-jamvm +clean-icedtea-stage2: clean-add-jamvm clean-add-archive rm -f stamps/icedtea-stage2.stamp stamps/icedtea-debug-stage2.stamp: stamps/icedtea-debug.stamp \ - stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp stamps/add-jamvm-debug.stamp + stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp stamps/add-jamvm-debug.stamp \ + stamps/add-archive-debug.stamp mkdir -p stamps touch $@ -clean-icedtea-debug-stage2: clean-add-jamvm-debug +clean-icedtea-debug-stage2: clean-add-jamvm-debug clean-add-archive-debug rm -f stamps/icedtea-debug-stage2.stamp # OpenJDK boot Targets @@ -1661,11 +1695,27 @@ rm -f stamps/icedtea-boot-configure.stamp rm -f stamps/icedtea-boot.stamp -stamps/icedtea-stage1.stamp: stamps/icedtea-boot.stamp +stamps/add-archive-boot.stamp: stamps/icedtea-boot.stamp +if !ENABLE_JAMVM +if !ENABLE_CACAO +if !ZERO_BUILD + if [ -e $(BUILD_BOOT_IMAGE_DIR)/j2sdk-image/bin/java ] ; then \ + $(BUILD_BOOT_IMAGE_DIR)/j2sdk-image/bin/java -Xshare:dump ; \ + fi +endif +endif +endif + touch $@ + +clean-add-archive-boot: + rm -vf $(BUILD_BOOT_IMAGE_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/*/*.jsa + rm -f stamps/add-archive-boot.stamp + +stamps/icedtea-stage1.stamp: stamps/icedtea-boot.stamp stamps/add-archive-boot.stamp mkdir -p stamps touch $@ -clean-icedtea-stage1: +clean-icedtea-stage1: clean-add-archive-boot rm -f stamps/icedtea-stage1.stamp # PulseAudio based mixer @@ -2171,6 +2221,12 @@ # Target Aliases # =============== +add-archive: stamps/add-archive.stamp + +add-archive-boot: stamps/add-archive-ecj.stamp + +add-archive-debug: stamps/add-archive-debug.stamp + add-zero: stamps/add-zero.stamp add-zero-debug: stamps/add-zero-debug.stamp diff -r 860b787aa4c4 -r a9271fe74b8d NEWS --- a/NEWS Thu Feb 26 01:19:27 2015 +0000 +++ b/NEWS Tue Mar 03 00:15:26 2015 +0000 @@ -26,6 +26,7 @@ - PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops - PR1275: Provide option to turn off downloading of tarballs - PR1279: Synchronise CACAO versions between IcedTea6/7/8 where possible + - PR1281, RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive - PR1325: Only add classes to rt-source-files.txt if actually needed - PR1346: Filter out -j option to make - PR1347: Update list of checked JDKs @@ -49,6 +50,9 @@ - PR1950: Add build support for Zero SH - PR1965, G498288: Allow builds on PaX kernels - PR1994: make dist broken + - PR2199: Support giflib 5.1.0 + - PR2212: DGifCloseFile call should check the return value, not the error code, for failure + - PR2227: giflib 5.1 conditional excludes 6.0, 7.0, etc. - PR2248: HotSpot tarball fails verification after download - Don't substitute 'j' for '-j' inside -I directives - Extend 8041658 to all files in the HotSpot build. diff -r 860b787aa4c4 -r a9271fe74b8d configure.ac --- a/configure.ac Thu Feb 26 01:19:27 2015 +0000 +++ b/configure.ac Tue Mar 03 00:15:26 2015 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [3.0.0pre02], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [3.0.0pre03], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r 860b787aa4c4 -r a9271fe74b8d hotspot.map --- a/hotspot.map Thu Feb 26 01:19:27 2015 +0000 +++ b/hotspot.map Tue Mar 03 00:15:26 2015 +0000 @@ -1,2 +1,2 @@ # version url changeset md5sum -default drop http://icedtea.classpath.org/download/drops/icedtea8 877471da7fbb cf305e49c36efd556972146213716283d261c40de2c7443e1e0cfe5e0e6cd32b +default drop http://icedtea.classpath.org/download/drops/icedtea8 85e5201a55e4 0fcf2f5f49ff4504fd095a57e767ea3c3eb8181e65d9e8b3f3accd3f03ff97b8 From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 00:19:49 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 00:19:49 +0000 Subject: [Bug 2227] [IcedTea8] giflib 5.1 conditional excludes 6.0, 7.0, etc. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2227 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=d84be26576af author: Andrew John Hughes date: Mon Mar 02 14:56:30 2015 +0000 Bump to icedtea-3.0.0pre03. Upstream changes: - PR2199: Support giflib 5.1.0 - PR2212: DGifCloseFile call should check the return value, not the error code, for failure - PR2227: giflib 5.1 conditional excludes 6.0, 7.0, etc. - S4991647: PNGMetadata.getAsTree() sets bitDepth to invalid value - S6302052: Reference to nonexistant Class in javadoc - S6311046: -Xcheck:jni should support checking of GetPrimitiveArrayCritical. - S6521706: A switch operator in JFrame.processWindowEvent() should be rewritten - S6545422: [TESTBUG] NativeErrors.java uses wrong path name in exec - S6624085: Fourth mouse button (wheel) is treated like second button - isPopupTrigger returns true - S6642881: Improve performance of Class.getClassLoader() - S6853696: (ref) ReferenceQueue.remove(timeout) may return null even if timeout has not expired - S6883953: java -client -XX:ValueMapInitialSize=0 crashes - S6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94 - S6904367: (coll) IdentityHashMap is resized before exceeding the expected maximum size - S7010989: Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets - S7011804: SequenceInputStream with lots of empty substreams can cause StackOverflowError - S7033533: realSync() doesn't work with Xfce - S7058697: Unexpected exceptions in MID parser code - S7058700: Unexpected exceptions and timeouts in SF2 parser code - S7067052: Default printer media is ignored - S7095856: OutputStreamHook doesn't handle null values - S7107611: sun.security.pkcs11.SessionManager is scalability blocker - S7132678: G1: verify that the marking bitmaps have no marks for objects over TAMS - S7148531: [macosx] In test, the window does not have time to resize before make a screenshot - S7150092: NTLM authentication fail if user specified a different realm - S7169583: JInternalFrame title not antialiased in Nimbus LaF - S7170310: ScrollBar doesn't become active when tabs are created more than frame size - S8000975: (process) Merge UNIXProcess.java.bsd & UNIXProcess.java.linux (& .solaris & .aix) - S8003900: X11 dependencies should be removed from Mac OS X build. - S8007993: hotspot.log w/ enabled LogCompilation can be an invalid XML - S8010767: Build fails on OEL6 with 16 cores - S8011537: (fs) Path.register(..) clears interrupt status of thread with no InterruptedException - S8015256: Better class accessibility - S8015376: Remove jnlp and applet files from the JDK samples - S8019342: G1: High "Other" time most likely due to card redirtying - S8023461: Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock - S8024366: Make UseNUMA enable UseNUMAInterleaving - S8024626: CTW CRASH: SIGSEGV in ctw/jre/lib/rt_jar/preloading_1 and ctw/jre/lib/rt_jar/sun_awt_X11_ListHelper - S8025842: Convert warning("Thread holding lock at safepoint that vm can block on") to fatal(...) - S8025917: JDK demo applets not running with >=7u40 or (JDK 8 and JDK 9) - S8026303: CMS: JVM intermittently crashes with "FreeList of size 258 violates Conservation Principle" assert - S8026385: [macosx] (awt) setjmp/longjmp changes the process signal mask on OS X - S8026497: Font2DTest demo: unused resource files - S8026784: Error message in AdaptiveFreeList::verify_stats is wrong - S8026796: Make replace_in_map() on parent maps generic - S8026847: [TESTBUG] gc/g1/TestSummarizeRSetStats* tests launch 32bit jvm with UseCompressedOops - S8027144: Review restriction of JAX-WS java packages going to JDK8 - S8027148: SystemFlavorMap.getNativesForFlavor returns list of native formats in incorrect order - S8027553: Change the in_cset_fast_test functionality to use the G1BiasedArray abstraction - S8027959: Early reclamation of large objects in G1 - S8028037: [parfait] warnings from b114 for hotspot.src.share.vm - S8028407: adjust-mflags.sh failed build with GNU Make 4.0 with -I - S8028430: JDI: ReferenceType.visibleMethods() return wrong visible methods - S8028474: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh timeout, leaves looping process - S8028539: Endless loop in native code of sun.java2d.loops.ScaledBlit - S8028710: G1 does not retire allocation buffers after reference processing work - S8028727: [parfait] warnings from b116 for jdk.src.share.native.sun.security.ec: JNI pending exceptions - S8028780: JDK KRB5 module throws OutOfMemoryError when CCache is corrupt - S8029012: parameter_index for type annotation not updated after outer.this added - S8029070: memory leak in jmm_SetVMGlobal - S8029253: [macosx] Performance problems with Retina display on Mac OS X - S8029443: 'assert(klass->is_loader_alive(_is_alive)) failed: must be alive' during VM_CollectForMetadataAllocation - S8029452: Fork/Join task ForEachOps.ForEachOrderedTask clarifications and minor improvements - S8029524: Remove unsused method CollectedHeap::unsafe_max_alloc() - S8029536: JFileChooser filter uses .toString() instead of getDescription() for filter text on GTK laf - S8029548: (jdeps) use @jdk.Exported to determine supported vs JDK internal API - S8029607: Type of Service (TOS) cannot be set in IPv6 header - S8029797: Let jprt run configure when building - S8029837: NPE seen in XMLDocumentFragmentScannerImpl.setProperty since 7u40b33 - S8030079: Lint warnings in java.lang.invoke - S8030166: java/lang/ProcessBuilder/Basic.java fails intermittently: waitFor took too long - S8030681: add "serve" command and --quiet and --verbose options to hgforest - S8030976: Untaken paths should be more vigorously pruned at highest optimization level - S8031003: [Parfait] warnings from jdk/src/share/native/sun/security/jgss/wrapper: JNI exception pending - S8031092: jdeps does not recognize --help option. - S8031323: Optionally align objects copied to survivor spaces - S8031373: Lint warnings in java.util.stream - S8031376: TraceClassLoading expects there to be a (Java) caller when you load a class with the bootstrap class loader - S8031435: Ftp download does not work properly for ftp user without password - S8031696: [macosx] TwentyThousandTest test failed with OOM - S8031709: Configure --with-jvm-variants=client, server, x produces default outputdir containing comma - S8031721: Remove non-existent test from TEST.groups - S8031994: java/lang/Character/CheckProp test times out - S8032247: SA: Constantpool lookup for invokedynamic is not implemented - S8032379: Remove the is_scavenging flag to process_strong_roots - S8032573: CertificateFactory.getInstance("X.509").generateCertificates(InputStream) does not throw CertificateException for invalid input - S8032650: [parfait] warning from b124 for jdk/src/share/native/java/util: jni exception pending - S8032864: [macosx] sigsegv (0Xb) Being Generated When Starting JDev With Voiceover Running - S8032908: getTextContent doesn't return string in JAXP - S8033141: Cleanup of sun.awt.X11 package - S8033370: [parfait] warning from b126 for solaris/native/sun/util/locale/provider: JNI exception pending - S8033421: @SuppressWarnings("deprecation") does not work when overriding deprecated method - S8033483: Should ignore nested lambda bodies during overload resolution - S8033602: wrong stabs data in libjvm.debuginfo on JDK 8 - SPARC - S8033699: Incorrect radio button behavior - S8033764: Remove the usage of StarTask from BufferingOopClosure - S8033785: TimeZoneNamesTest should be removed - S8033893: jdk build is broken due to the changeset of JDK-8033370 - S8033923: Use BufferingOopClosure for G1 code root scanning - S8034005: cannot debug in synchronizer.o or objectMonitor.o on Solaris X86 - S8034031: [parfait] JNI exception pending in jdk/src/macosx/native/apple/security/KeystoreImpl.m - S8034032: Check src/macosx/native/java/util/prefs/MacOSXPreferencesFile.m for JNI pending issues - S8034033: [parfait] JNI exception pending in share/native/sun/security/krb5/nativeccache.c - S8034056: assert(_heap_alignment >= _space_alignment) failed: heap_alignment less than space_alignment - S8034085: Do not prefer indexed properties - S8034164: Introspector ignores indexed part of the property sometimes - S8034218: Improve fontconfig.properties for AIX platform - S8034761: Remove the do_code_roots parameter from process_strong_roots - S8034764: Use process_strong_roots to adjust the StringTable - S8034775: Failing to initialize VM when running with negative value for -XX:CICompilerCount - S8034935: JSR 292 support for PopFrame has a fragile coupling with DirectMethodHandle - S8035162: Service printing service - S8035165: Expose internal representation in sun.awt.X11 - S8035328: closed/compiler/6595044/Main.java failed with timeout - S8035393: Use CLDClosure instead of CLDToOopClosure in frame::oops_interpreted_do - S8035400: Move G1ParScanThreadState into its own files - S8035401: Fix visibility of G1ParScanThreadState members - S8035412: Cleanup ClassLoaderData::is_alive - S8035605: Expand functionality of PredictedIntrinsicGenerator - S8035648: Don't use Handle in java_lang_String::print - S8035650: Exclude AIX from VS.NET make/windows/projectcreator.make - S8035746: Add missing Klass::oop_is_instanceClassLoader() function - S8035759: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/krb5/NativeCreds.c - S8035781: Improve equality for annotations - S8035826: [parfait] JNI exception pending in src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c - S8035829: [parfait] JNI exception pending in jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c - S8035893: JVM_GetVersionInfo fails to zero structure - S8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC - S8035974: Refactor DigestBase.engineUpdate() method for better code generation by JIT compiler - S8036007: javac crashes when encountering an unresolvable interface - S8036091: compiler/membars/DekkerTest.java fails with -XX:CICompilerCount=1 - S8036156: Limit default method hierarchy - S8036533: Method for correct defaults - S8036588: VerifyFieldClosure fails instanceKlass:3133 - S8036612: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/mscapi/security.cpp - S8036613: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c - S8036614: AIX: fix adjust-mflags.sh to build with GNU Make 4.0 (adapt 8028407 for AIX) - S8036616: [TESTBUG] Embedded: sun/jvmstat/monitor/MonitoredVm/CR6672135.java should be launched with -XX:+UsePerfData - S8036805: Correct linker method lookup. - S8036861: Application can't be loaded fine,the save dialog can't show up. - S8036936: Use local locales - S8036953: Fix timing of varargs access check, per JDK-8016205 - S8036981: JAXB not preserving formatting for xsd:any Mixed content - S8037066: Secure transport layer - S8037209: Improvements and cleanups to bytecode assembly for lambda forms - S8037210: Get rid of char-based descriptions 'J' of basic types - S8037326: VerifyAccess.isMemberAccessible() has incorrect access check - S8037344: Use the "next" field to iterate over fine remembered instead of using the hash table - S8037404: javac NPE or VerifyError for code with constructor reference of inner class - S8037745: Consider re-enabling PKCS11 mechanisms previously disabled due to Solaris bug 7050617 - S8037746: Bundling Derby 10.11 with 8u40 - S8037846: Ensure streaming of input cipher streams - S8037925: CMM Testing: an allocated humongous object at the end of the heap should not prevents shrinking the heap - S8037948: Improve documentation for org.w3c.dom package - S8037958: ConcurrentMark::cleanup leaks BitMaps if VerifyDuringGC is enabled - S8037968: Add tests on alignment of objects copied to survivor space - S8038027: DTDBuilder should be run in headless mode - S8038261: JSR292: cache and reuse typed array accessors - S8038265: CMS: enable time based triggering of concurrent cycles - S8038268: VM Crashes in MetaspaceShared::generate_vtable_methods while creating CDS archive with limiting SharedMiscCodeSize - S8038333: TEST_BUG: java/lang/ref/EarlyTimeout.java fails with a non-adequate message - S8038364: Use certificate exceptions correctly - S8038393: [TESTBUG] ciReplay/* tests fail after 8034775 - S8038399: Remove dead oop_iterate MemRegion variants from SharedHeap, Generation and Space classes - S8038404: Move object_iterate_mem from Space to CMS since it is only ever used by CMS - S8038405: Clean up some virtual fucntions in Space class hierarchy - S8038412: Move object_iterate_careful down from Space to ContigousSpace and CFLSpace - S8038422: CDS test failed: assert((size % os::vm_allocation_granularity()) == 0) failed when limiting SharedMiscDataSize - S8038423: G1: Decommit memory within heap - S8038435: Some hgforest.sh commands don't receive parameters - S8038624: interpretedVFrame::expressions() must respect InterpreterOopMap for liveness - S8038754: ReplayCacheTestProc test fails with timeout - S8038756: new WB API :: get/setVMFlag - S8038776: VerifyError when running successfully compiled java class - S8038829: G1: More useful information in a few assert messages - S8038898: Safer safepoints - S8038903: More native monitor monitoring - S8038908: Make Signature more robust - S8038913: Bolster XML support - S8038919: Requesting focus to a modeless dialog doesn't work on Safari - S8038928: gc/g1/TestGCLogMessages.java fail with "[Evacuation Failure' - S8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet - S8038966: JAX-WS handles wrongly xsd:any arguments for Web services - S8038982: java/lang/ref/EarlyTimeout.java failed again - S8039097: Some tests fail with NPE since 7u60 b12 - S8039147: Cleanup SuspendibleThreadSet - S8039150: host_klass invariant fails when verifying newly loaded JSR-292 anonymous classes - S8039173: Propagate errors from Diagnostic Commands as exceptions in the attach framework - S8039444: Swing applications not being displayed properly - S8039489: Refactor test framework for dynamic VM options - S8039498: Add iterators to GrowableArray - S8039509: Wrap sockets more thoroughly - S8039520: More atomicity of atomic updates - S8039533: Higher resolution resolvers - S8039596: Remove HeapRegionRemSet::clear_incoming_entry - S8039915: Wrong NumberFormat.format() HALF_UP rounding when last digit exactly at rounding position greater than 5 - S8039990: Add sequential operation support to hgforest - S8040002: Clean up code and code duplication in re-diryting cards for verification - S8040007: GtkFileDialog strips user inputted filepath - S8040076: Memory leak. java.awt.List objects allowing multiple selections are not GC-ed. - S8040121: Load variable through a pointer of an incompatible type in src/hotspot/src/share/vm: opto/output.cpp, runtime/sharedRuntimeTrans.cpp, utilities/globalDefinitions_visCPP.hpp - S8040279: [macosx] Do not use the base image in the MultiResolutionBufferedImage - S8040617: [macosx] Large JTable cell results in a OutOfMemoryException - S8040722: G1: Clean up usages of heap_region_containing - S8040792: G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname) - S8040798: compiler/startup/SmallCodeCacheStartup.java timed out in RT_Baseline - S8040806: BitSet.toString() can throw IndexOutOfBoundsException - S8040808: Uninitialised memory in OGLBufImgsOps.c, D3DBufImgOps.cpp - S8040812: Uninitialised memory in jdk/src/share/native/sun/security/ec/impl/mpi.c - S8040920: Uninitialised memory in hotspot/src/share/vm/code/dependencies.cpp - S8040921: Uninitialised memory in hotspot/src/share/vm/c1/c1_LinearScan.cpp - S8040977: G1 crashes when run with -XX:-G1DeferredRSUpdate - S8041142: Re-enabling CBC_PAD PKCS11 mechanisms for Solaris - S8041151: More concurrent hgforest - S8041529: Better parameterization of parameter lists - S8041535: Update certificate lists for compact1 profile - S8041540: Better use of pages in font processing - S8041545: Better validation of generated rasters - S8041564: Improved management of logger resources - S8041572: [macosx] huge native memory leak in AWTWindow.m - S8041633: [TESTBUG] java/lang/SecurityManager/CheckPackageAccess.java fails with "In j.s file, but not in golden set: com.sun.activation.registries." - S8041717: Issue with class file parser - S8041734: JFrame in full screen mode leaves empty workspace after close - S8041946: CMM Testing: 8u40 an allocated humongous object at the end of the heap should not prevents shrinking the heap - S8041984: CompilerThread seems to occupy all CPU in a very rare situation - S8041987: [macosx] setDisplayMode crashes - S8041990: [macosx] Language specific keys does not work in applets when opened outside the browser - S8041992: Fix of JDK-8034775 neglects to account for non-JIT VMs - S8042053: Broken links to jarsigner and keytool docs in java.security package summary - S8042094: Test javax/swing/JFileChooser/7036025/bug7036025.java fails with java.lang.NullPointerException on Windows x86 - S8042123: Support default and static interface methods in JDI, JDWP and JDB - S8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale - S8042195: Introduce umbrella header orderAccess.inline.hpp. - S8042205: javax/management/monitor/*: some tests didn't get all the notifications - S8042235: redefining method used by multiple MethodHandles crashes VM - S8042255: make gc src file exclusion more automatic - S8042347: javac, Gen.LVTAssignAnalyzer should be refactored, it shouldn't be a static class - S8042417: hgforest: allow local clone of extra repos - S8042428: CompileQueue::free_all() code is incorrect - S8042431: compiler/7200264/TestIntVect.java fails with: Test Failed: AddVI 0 < 4 - S8042440: awt_Plugin no longer needed - S8042469: Launcher changes for native memory tracking scalability enhancement - S8042470: (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified - S8042480: CipherInputStream.close() throws AEADBadTagException in some cases - S8042570: Excessive number of tests timing out on nightly testing due to fix for 8040798 - S8042590: Running form URL throws NPE - S8042603: 'SafepointPollOffset' was not declared in static member function 'static bool Arguments::check_vm_args_consistency()' - S8042609: Limit splashiness of splash images - S8042622: Check for CRL results in IllegalArgumentException "white space not allowed" - S8042737: Introduce umbrella header prefetch.inline.hpp - S8042797: Avoid strawberries in LogRecord - S8042804: Support invoking Hotspot tests from top level - S8042810: hgforest: some shells run read in sub-shell and can't use fifo - S8042816: (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified, part 2 - S8042835: Remove mnemonic character from open, save and open directory JFileChooser's buttons - S8042945: Remove @throws ClassCastException for CertificateRevokedException constructor - S8042982: Unexpected RuntimeExceptions being thrown by SSLEngine - S8043158: Crash in CodeSweeperSweepNoFlushTest in CompileQueue::free_all() - S8043182: hgforest.sh: syntax error on line 329 - S8043200: Decrease the preference mode of RC4 in the enabled cipher suite list - S8043275: 8u40 backport: Fix interface initialization for default methods. - S8043301: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp versus math.h in VS2013 - S8043302: [TESTBUG] Need a test to cover JDK-8029755 - S8043454: Test case for 8037157 should not throw a VerifyError - S8043476: java/util/BitSet/BSMethods.java failed with: java.lang.OutOfMemoryError: Java heap space - S8043477: java/lang/ProcessBuilder/Basic.java failed with: java.lang.AssertionError: Some tests failed - S8043508: JVM core dumps with very long text in tooltip - S8043546: C1 optimizes @Stable instance fields with default values - S8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps - S8043610: Sorting columns in JFileChooser fails with AppContext NPE - S8043722: Swapped usage of idx_t and bm_word_t types in parMarkBitMap.cpp - S8043723: max_heap_for_compressed_oops() declared with size_t, but defined with uintx - S8043766: CMM Testing: 8u40 Decommit auxiliary data structures - S8043869: [macosx] java -splash does not honor @2x hi dpi notation for retina support - S8043926: javac, code valid in 7 is not compiling for 8 - S8044056: Testcase added in wrong location in 8043302 - S8044135: Add API to start JMX agent from attach framework - S8044140: Create NMT (Native Memory Tracking) tests for NMT2 - S8044215: Unable to initiate SpNego using a S4U2Proxy GSSCredential (Krb5ProxyCredential) - S8044269: Analysis of archive files. - S8044274: Proper property processing - S8044398: Attach code should propagate errors in Diagnostic Commands as errors - S8044406: JVM crash with JDK8 (build 1.8.0-b132) with G1 GC - S8044473: Allow for extended set of platform MXBeans - S8044538: assert(which != imm_operand) failed: instruction is not a movq reg, imm64 - S8044546: Crash on faulty reduce/lambda - S8044604: Increment minor version of HSx for 8u25 and initialize the build number - S8044614: [macosx] Focus issue with 2 applets in firefox - S8044629: (reflect) Constructor.getAnnotatedReceiverType() returns wrong value - S8044647: sun/tools/jrunscript/jrunscriptTest.sh start failing: Output of jrunscript -l nashorn differ from expected output - S8044659: Java SecureRandom on SPARC T4 much slower than on x86/Linux - S8044671: NPE from JapaneseEra when a new era is defined in calendar.properties - S8044737: Lambda: NPE while obtaining method reference through lambda expression - S8044748: JVM cannot access constructor though ::new reference although can call it directly - S8044749: Resolve autoconf and other merge issue from 8u20 to 8u25 - S8044866: Fix raw and unchecked lint warnings in asm - S8046007: Java app receives javax.print.PrintException: Printer is not accepting job - S8046046: Test sun/security/pkcs11/Signature/TestDSAKeyLength.java fails intermittently on Solaris 11 in 8u40 nightly - S8046060: Different results of floating point multiplication for lambda code block - S8046070: Class Data Sharing clean up and refactoring - S8046210: Missing memory barrier when reading init_lock - S8046213: Test test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java Fails - S8046231: G1: Code root location ... from nmethod ... not in strong code roots for region - S8046233: VerifyError on backward branch - S8046268: compiler/whitebox/ tests fail : must be osr_compiled - S8046289: compiler/6340864/TestLongVect.java timeout with - S8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX - S8046495: KeyEvent can not be accepted in quick mouse clicking - S8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc - S8046545: JNI exception pending in jdk/src/share/bin/java.c - S8046559: NPE when changing Windows theme - S8046598: Scalable Native memory tracking development - S8046662: Check JNI ReleaseStringChars / ReleaseStringUTFChars verify_guards test inverted - S8046670: Make CMS metadata aware closures applicable for other collectors - S8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943 - S8046715: Add a way to verify an extended set of command line options - S8046769: Set T family feature bit on Niagara systems - S8046783: Add hidden field to methods for event based tracing - S8046884: JNI exception pending in jdk/src/solaris/native/sun/java2d/x11: X11PMPLitLoops.c, X11SurfaceData.c - S8046887: JNI exception pending in jdk/src/solaris/native/sun/awt: awt_DrawingSurface.c, awt_GraphicsEnv.c, awt_InputMethod.c, sun_awt_X11_GtkFileDialogPeer.c - S8046888: JNI exception pending in jdk/src/share/native/sun/awt/image/awt_parseImage.c - S8046894: JNI exception pending in jdk/src/solaris/native/sun/awt/X11Color.c - S8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY - S8047062: Improve diagnostic output in com/sun/jndi/ldap/LdapTimeoutTest.java - S8047066: Test test/sun/awt/image/bug8038000.java fails with ClassCastException - S8047073: Some javax/management/ fails with JFR - S8047145: 8u20 l10n resource file translation update 2 - S8047186: jdk.net.Sockets throws InvocationTargetException instead of original runtime exceptions - S8047288: Fixes endless loop on mac caused by invoking Windows.isFocusable() on Appkit thread. - S8047323: Remove unused _copy_metadata_obj_cl in G1CopyingKeepAliveClosure - S8047326: Consolidate all CompiledIC::CompiledIC implementations and move it to compiledIC.cpp - S8047340: (process) Runtime.exec() fails in Turkish locale - S8047341: lambda reference to inner class in base class causes LambdaConversionException - S8047362: Add a version of CompiledIC_at that doesn't create a new RelocIterator - S8047373: Clean the ExceptionCache in one pass - S8047383: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions. - S8047674: java/net/URLPermission/nstest/lookup.sh NoClassDefFoundError when run in concurrent mode - S8047719: Incorrect LVT in switch statement - S8047732: new hotspot build - hs25.20-b21 - S8047740: Add hotspot testset to jprt.properties - S8047795: Collections.checkedList checking bypassed by List.replaceAll - S8047812: Ensure ClassLoaderDataGraph::classes_unloading_do only delivers klasses from CLDs with non-reclaimed class loader oops - S8047818: G1 HeapRegions can no longer be ContiguousSpaces - S8047819: G1 HeapRegionDCTOC does not need to inherit ContiguousSpaceDCTOC - S8047820: G1 Block offset table does not need to support generic Space classes - S8047821: G1 Does not use the save_marks functionality as intended - S8047925: Add mercurial version checks to get_source.sh - S8047934: Adding new API for unlocking diagnostic argument. - S8047976: Ergonomics for GC thread counts should update the flags - S8048020: Regression on java.util.logging.FileHandler - S8048025: Ensure cache consistency - S8048063: (jdeps) Add filtering capability - S8048073: Cannot read ccache entry with a realm-less service name - S8048080: (smartcardio) javax.smartcardio.Card.openLogicalChannel() dosn't work on MacOSX - S8048085: Aborting marking just before remark results in useless additional clearing of the next mark bitmap - S8048088: Conservative maximum heap alignment should take vm_allocation_granularity into account - S8048110: Using tables in JTextPane leads to infinite loop in FlowLayout.layoutRow - S8048112: G1 Full GC needs to support the case when the very first region is not available - S8048121: javac complex method references: revamp and simplify - S8048141: Update the Hotspot version numbers in Hotspot for JDK 8u40 - S8048150: Allow easy configurations for large CDS archives - S8048169: Change 8037816 breaks HS build on PPC64 and CPP-Interpreter platforms - S8048170: Test closed/java/text/Normalizer/ConformanceTest.java failed - S8048184: handle mercurial dev build version string - S8048194: GSSContext.acceptSecContext fails when a supported mech is not initiator preferred - S8048207: Collections.checkedQueue.offer() calls add on wrapped queue - S8048209: Collections.synchronizedNavigableSet().tailSet(Object,boolean) synchronizes on wrong object - S8048212: Two tests failed with "java.net.SocketException: Bad protocol option" on Windows after 8029607 - S8048214: Linker error when compiling G1SATBCardTableModRefBS after include order changes - S8048265: AWT crashes inside CCombinedSegTable::In called from Java_sun_awt_windows_WDefaultFontCharset_canConvert - S8048268: G1 Code Root Migration performs poorly - S8048269: Add flag to turn off class unloading after G1 concurrent mark - S8048270: Resolve autoconf and other merge issue from 8u20-b20 to 8u25 - S8048506: [macosx] javax.swing.PopupFactory issue with null owner - S8048511: Uninitialised memory in jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c - S8048512: Uninitialised memory in jdk/src/share/native/sun/security/ec/ECC_JNI.cpp - S8048515: Read outside array bounds in jdk/src/solaris/native/java/lang/java_props_md.c - S8048524: Memory leak in jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c - S8048549: [macosx] Disable usage of system menu bar if AWT is embedded in FX - S8048583: CustomMediaSizeName class matching to standard media is too loose - S8048703: ReplacedNodes dumps it's content to tty - S8048879: "unexpected yanked node" opto/postaloc.cpp:139 - S8048887: SortingFocusTraversalPolicy throws IllegalArgumentException from the sort method - S8048913: java/util/logging/LoggingDeadlock2.java times out - S8049043: Load variable through a pointer of an incompatible type in hotspot/src/share/vm/runtime/sharedRuntimeMath.hpp - S8049051: Use of during_initial_mark_pause() in G1CollectorPolicy::record_collection_pause_end() prevents use of seperate object copy time prediction during marking - S8049055: Tests added to the jdk/test/TEST.groups to be run on correct profiles - S8049057: JNI exception pending in jdk/src/windows/native/sun/windows/ - S8049065: [JLightweightFrame] Support DnD for SwingNode - S8049071: Add jtreg jobs to JPRT for hotspot - S8049075: javac, wildcards and generic vararg method invocation not accepted - S8049128: 8u20 l10n resource file translation update 2 - jaxp - S8049198: [macosx] Incorrect thread access when showing splash screen - S8049244: XML Signature performance issue caused by unbuffered signature data - S8049250: Need a flag to invert the Card.disconnect(reset) argument - S8049252: VerifyStack logic in Deoptimization::unpack_frames does not expect to see invoke bc at the top frame during normal deoptimization - S8049303: Transient network problems cause JMX thread to fail silenty - S8049327: [TESTBUG] gc/logging/TestGCId.java assumes default PrintGCID value is true - S8049340: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java timed out - S8049343: (tz) Support tzdata2014g - S8049346: [TESTBUG] fix the @run line of the test: jdk/test/java/awt/Focus/SortingFTP/JDK8048887.java - S8049373: All compact profiles builds fail following JDK-8044473 - S8049411: Minimal VM build broken after gcId.cpp was added - S8049418: [macosx] PopupMenuListener.popupMenuWillBecomeVisible is not called for empty combobox on MacOS/aqua look and feel - S8049421: G1 Class Unloading after completing a concurrent mark cycle - S8049426: Minor cleanups after G1 class unloading - S8049514: FEATURE_SECURE_PROCESSING can not be turned off on a validator through SchemaFactory - S8049528: Method marked w/ @ForceInline isn't inlined with "executed < MinInliningThreshold times" message - S8049529: LogCompilation: annotate make_not_compilable with compilation level - S8049530: Provide descriptive failure reason for compilation tasks removed for the queue - S8049532: LogCompilation: C1: inlining tree is flat (no depth is stored) - S8049542: C2: assert(size_in_words <= (julong)max_jint) failed: no overflow - S8049555: Move varargsArray from sun.invoke.util package to java.lang.invoke - S8049583: Test closed/java/awt/List/ListMultipleSelectTest/ListMultipleSelectTest fails on Window XP - S8049599: MetaspaceGC::_capacity_until_GC can overflow - S8049684: pstack crashes on java core dump - S8049831: Metadata Full GCs are not triggered when CMSClassUnloadingEnabled is turned off - S8049884: Reduce possible timing noise in com/sun/jndi/ldap/LdapTimeoutTest.java - S8049916: new hotspot build - hs25.40-b02 - S8049996: [macosx] test java/awt/image/ImageIconHang.java fails with NPE - S8050022: linux-sparcv9: assert(SharedSkipVerify || obj->is_oop()) failed: sanity check - S8050052: Small cleanups in java.lang.invoke code - S8050053: Improve caching of different invokers - S8050057: Improve caching of MethodHandle reinvokers - S8050079: crash while compiling java.lang.ref.Finalizer::runFinalizer - S8050115: javax/management/monitor/GaugeMonitorDeadlockTest.java fails intermittently - S8050165: linux-sparcv9: NMT detail causes assert((intptr_t*)younger_sp[FP->sp_offset_in_saved_window()] == (intptr_t*)((intptr_t)sp - STACK_BIAS)) failed: younger_sp must be valid - S8050166: Get rid of some package-private methods on arguments in j.l.i.MethodHandle - S8050167: linux-sparcv9: hs_err file does not show any stack information - S8050173: Add j.l.i.MethodHandle.copyWith(MethodType, LambdaForm) - S8050174: Support overriding of isInvokeSpecial flag in WrappedMember - S8050200: Make LambdaForm intrinsics detection more robust - S8050229: Uninitialised memory in hotspot/src/share/vm/compiler/oopMap.cpp - S8050386: javac, follow-up of fix for JDK-8049305 - S8050485: super() in a try block in a ctor causes VerifyError - S8050804: (jdeps) Recommend supported API to replace use of JDK internal API - S8050877: Improve code for pairwise argument conversions and value boxing/unboxing - S8050884: Intrinsify ValueConversions.identity() functions - S8050887: Intrinsify constants for default values - S8050893: (smartcardio) Invert reset argument in tests in sun/security/smartcardio - S8050942: PPC64: implement template interpreter for ppc64le - S8050972: Concurrency problem in PcDesc cache - S8050973: CMS/G1 GC: add missing Resource and Handle mark - S8050978: Fix bad field access check in C1 and C2 - S8050983: Misplaced parentheses in sun.net.www.http.HttpClient break HTTP PUT streaming - S8051002: Incorrectly merged share/vm/classfile/classFileParser.cpp was pushed to 8u20. - S8051004: javac, incorrect bug id in tests for JDK-8050386 - S8051005: Third Party License Readme update for 8u20 - S8051012: Regression in verifier for method call from inside of a branch - S8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on - S8051359: JPopupMenu creation in headless mode with JDK9b23 causes NPE - S8051378: AIX: Change "8030763: Validate global memory allocation" breaks the HotSpot build - S8051402: javac, type containment should accept that CAP <= ? extends CAP and CAP <= ? super CAP - S8051467: javac, additional test case for JDK-8051402 - S8051588: DataTransferer.getInstance throws ClassCastException in headless mode - S8051614: smartcardio TCK tests fail due to lack of 'reset' permission - S8051838: [Findbugs] sun.awt.image.MultiResolutionCachedImage expose internal representation - S8051857: OperationTimedOut exception inside from XToolkit.syncNativeQueue call - S8051883: TEST.groups references missing test: gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java - S8051908: new hotspot build - hs25.20-b23 - S8051910: new hotspot build - hs25.40-b03 - S8051958: Cannot assign a value to final variable in lambda - S8051973: Eager reclaim leaves marks of marked but reclaimed objects on the next bitmap - S8052081: Optimize generated by C2 code for Intel's Atom processor - S8052162: REGRESSION: sun/java2d/cmm/ColorConvertOp tests fail since 7u71 b01 - S8052170: G1 asserts at collection exit with -XX:-G1DeferredRSUpdate - S8052172: Evacuation failure handling in G1 does not evacuate all objects if -XX:-G1DeferredRSUpdate is set - S8052313: Backport CDS tests from JDK-9 to jdk8_u40 - S8052403: java/util/logging/CheckZombieLockTest.java fails with NoSuchFileException - S8052406: SSLv2Hello protocol may be filter out unexpectedly - S8053938: Collections.checkedList(empty list).replaceAll((UnaryOperator)null) doesn't throw NPE after JDK-8047795 - S8053963: (dc) Use DatagramChannel.receive() instead of read() in connect() - S8054008: Using -XX:-LazyBootClassLoader crashes with ACCESS_VIOLATION on Win 64bit. - S8054009: Support SKIP_BOOT_CYCLE=false when invoked from JPRT - S8054029: (fc) FileChannel.size() returns 0 for block devices on Linux - S8054054: 8040121 is broken - S8054159: new hotspot build - hs25.40-b04 - S8054210: NullPointerException when compiling specific code. - S8054224: Recursive method that was compiled by C1 is unable to catch StackOverflowError - S8054292: code comments leak in fastdebug builds - S8054341: Remove some obsolete code in G1CollectedHeap class - S8054362: gc/g1/TestEagerReclaimHumongousRegions2.java timeout - S8054368: nsk/jdi/VirtualMachine/exit/exit002 crash with detail tracking on (NMT2) - S8054372: Cleanup of com.sun.media.sound packages - S8054376: Move RTM flags from Experimental to Product - S8054402: "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes - S8054431: Some of the input validation in the javasound is too strict - S8054448: (ann) Cannot reference field of inner class in an anonymous class - S8054478: C2: Incorrectly compiled char[] array access crashes JVM - S8054480: Test java/util/logging/TestLoggerBundleSync.java fails: Unexpected bundle name: null - S8054530: C2: assert(res == old_res) failed: Inconsistency between old and new - S8054546: NMT2 leaks memory - S8054547: Re-enable warning for incompatible java launcher - S8054550: new hotspot build - hs25.40-b05 - S8054638: xrender: text drawn after setColor(Color.white) is actually black - S8054711: [TESTBUG] Enable NMT2 tests after NMT2 is integrated - S8054800: JNI exception pending in jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp - S8054801: Memory leak in jdk/src/windows/native/sun/windows/awt_InputMethod.cpp - S8054804: 8u25 l10n resource file translation update - S8054805: Update CLI tests on RTM options to reflect changes in JDK-8054376 - S8054808: Bitmap verification sometimes fails after Full GC aborts concurrent mark. - S8054817: File ccache only recognizes Linux and Solaris defaults - S8054818: Refactor HeapRegionSeq to manage heap region and auxiliary data - S8054819: Rename HeapRegionSeq to HeapRegionManager - S8054836: [TESTBUG] Test is needed to verify correctness of malloc tracking - S8054841: (process) ProcessBuilder leaks native memory - S8054883: Segmentation error while running program - S8054927: Missing MemNode::acquire ordering in some volatile Load nodes - S8054938: [TESTBUG] Wrong WhiteBox.java was pushed by JDK-8044140 - S8054952: [TESTBUG] Add missing NMT2 tests - S8054970: gc src file exclusion should exclude alternative sources - S8054987: (reflect) Add sharing of annotations between instances of Executable - S8055006: Store original value of Min/MaxHeapFreeRatio - S8055007: NMT2: emptyStack missing in minimal build - S8055012: [TESTBUG] NMTHelper fails to parse NMT output - S8055051: runtime/NMT/CommandLineEmptyArgument.java fails - S8055052: [TESTBUG] runtime/NMT/JcmdDetailDiff.java fails on Windows when there are no debug symbols available - S8055053: [TESTBUG] runtime/NMT/VirtualAllocCommitUncommitRecommit.java fails - S8055061: assert at share/vm/services/virtualMemoryTracker.cpp:332 Error: ShouldNotReachHere() when running NMT tests - S8055063: Parameter#toString() fails w/ AIOOBE for ctr of inner class w/ generic type - S8055069: TSX and RTM should be deprecated more strongly until hardware is corrected - S8055098: WB API should be extended to provide information about size and age of object. - S8055155: new hotspot build - hs25.40-b06 - S8055217: Make jdk8u40 the default jprt release for hs25.40 - S8055222: Currency update needed for ISO 4217 Amendment #159 - S8055236: Deadlock during NMT2 shutdown on Windows - S8055243: Make jdk8u40 the default release - S8055275: Several gc/class_unloading/ tests fail due to missed +UnlockDiagnosticVMOptions flag - S8055286: Extend CompileCommand=option to handle numeric parameters - S8055289: Internal Error: mallocTracker.cpp:146 fatal error: Should not use malloc for big memory block, use virtual memory instead - S8055393: [Testbug] Some tests are being executed and fail under profiles - S8055421: (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c - S8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method - S8055514: Wrong, confusing error when non-static varargs referenced in static context - S8055525: Bigapp weblogic+medrec fails to startup after JDK-8038423 - S8055635: Missing include in g1RegionToSpaceMapper.hpp results in unresolved symbol of fastdebug build without precompiled headers - S8055657: Test compiler/classUnloading/methodUnloading/TestMethodUnloading.java does not work with non-default GC - S8055662: Update mapfile for libjfr - S8055677: java/lang/instrument/RedefineBigClass.sh RetransformBigClass.sh start failing after JDK-8055012 - S8055684: runtime/NMT/CommandLineEmptyArgument.java fails - S8055717: Increment hsx 25.25 build to b02 for 8u25-b11 - S8055731: sun/security/smartcardio/TestDirect.java throws java.lang.IndexOutOfBoundsException - S8055744: 8u-dev nightly solaris builds failed on 08/20 - S8055765: Misplaced @key stress prevents MallocSiteHashOverflow.java and MallocStressTest.java tests from running - S8055785: Modifications of I/O methods for instrumentation purposes - S8055786: new hotspot build - hs25.40-b07 - S8055798: Japanese translation for a warning from javac looks incorrect. - S8055816: Remove dead code in g1BlockOffsetTable - S8055903: Develop sanity tests on SPARC's SHA instructions support - S8055904: Develop tests for new command-line options related to SHA intrinsics - S8055919: Remove dead code in G1 concurrent marking code - S8055946: assert(result == NULL || result->is_oop()) failed: must be oop - S8055949: ByteArrayOutputStream capacity should be maximal array size permitted by VM - S8055952: new hotspot build - hs25.40-b08 - S8055953: [TESTBUG] Fix for 8055098 does not contain unit test - S8056014: Type inference may be skipped for a complex receiver generic method in a parameter position - S8056026: Debug security logging should print Provider used for each crypto operation - S8056043: Heap does not shrink within the heap after JDK-8038423 - S8056049: getProcessCpuLoad() stops working in one process when a different process exits - S8056051: int[]::clone causes "java.lang.NoClassDefFoundError: Array" - S8056056: Remove unnecessary inclusion of HS_ALT_MAKE from solaris Makefile - S8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations' - S8056072: add jprt_optimized targets - S8056084: Refactor Hashtable to allow implementations without rehashing support - S8056091: Move compiler/intrinsics/mathexact/sanity/Verifier to compiler/testlibrary and extend its functionality - S8056121: set the default release to 8u25 in the source tree for JPRT - S8056122: Upgrade JDK to use LittleCMS 2.6 - S8056124: Hotspot should use PICL interface to get cacheline size on SPARC - S8056154: JVM crash with EXCEPTION_ACCESS_VIOLATION when there are many threads running - S8056175: Change "8048150: Allow easy configurations for large CDS archives" triggers conversion warning with older GCC - S8056183: os::is_MP() always reports true when NMT is enabled - S8056211: api/java_awt/Event/InputMethodEvent/serial/index.html#Input[serial2002] failure - S8056223: typo in export_optimized_jdk - S8056237: [TESTBUG] gc/g1/TestHumongousShrinkHeap.java fails due to OOM - S8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse - S8056248: Improve ForkJoin thread throttling - S8056249: Improve CompletableFuture resource usage - S8056256: [TESTBUG] Disable NMTWithCDS.java test as launcher change has yet promoted - S8056263: [TESTBUG] Re-enable NMTWithCDS.java test - S8056299: new hotspot build - hs25.40-b09 - S8056914: Right Click Menu for Paste not showing after upgrading to java 7 - S8056926: Improve caching of GuardWithTest combinator - S8056964: JDK-8055286 changes are incomplete. - S8056971: Minor class loading clean-up - S8056984: Exception in compiler: java.lang.AssertionError: isSubClass T - S8056987: 8u-dev nightly windows builds failed from 8/29 - S8057020: LambdaForm caches should support eviction - S8057042: LambdaFormEditor: derive new LFs from a base LF - S8057043: Type annotations not retained during class redefine / retransform - S8057129: Fix AIX build after the Extend CompileCommand=option change 8055286 - S8057143: Incomplete renaming of variables containing "hrs" to "hrm" related to HeapRegionSeq - S8057165: [TESTBUG] Need a test to cover JDK-8054883 - S8057184: JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris - S8057531: refactor gc argument processing code slightly - S8057535: add a thread extension class - S8057536: Refactor G1 to allow context specific allocations - S8057564: JVM hangs at getAgentProperties after attaching to VM with lower - S8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc) - S8057623: add an extension class for argument handling - S8057629: Third Party License Readme update for 8u40 - S8057643: Unable to build --with-debug-level=optimized on OSX - S8057649: new hotspot build - hs25.40-b10 - S8057654: Extract checks performed during MethodHandle construction into separate methods - S8057656: Improve MethodType.isCastableTo() & MethodType.isConvertibleTo() checks - S8057657: Annotate LambdaForm parameters with types - S8057658: Enable G1 FullGC extensions - S8057707: TEST library enhancement in lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java - S8057710: Refactor G1 heap region default sizes - S8057719: Develop new tests for LambdaForm Reduction and Caching feature - S8057722: G1: Code root hashtable updated incorrectly when evacuation failed - S8057747: Several test failing after update to tzdata2014g - S8057750: CTW should not make MH intrinsics not entrant - S8057751: CompileNativeLibraries for custom build - S8057752: WhiteBox extension support for testing - S8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair - S8057768: Make heap region region type in G1 HeapRegion explicit - S8057770: api/javax_swing/JScrollPane/indexTGF.html#UpdateUI failed with MotifLookAndFeel on all platform - S8057788: [macosx] "Pinch to zoom" does not work since jdk7 - S8057793: BigDecimal is no longer effectively immutable - S8057794: Compiler Error when obtaining .class property - S8057799: Unnecessary NULL check in G1KeepAliveClosure - S8057800: Method reference with generic type creates NPE when compiling - S8057813: Alterations to jdk_security3 test target - S8057818: collect allocation context statistics at gc pauses - S8057824: methods to copy allocation context statistics - S8057827: notify an obj when allocation context stats are available - S8057830: Crash in Java2D Queue Flusher, OGLSD_SetScratchSurface - S8057893: JComboBox actionListener never receives "comboBoxEdited" from getActionCommand - S8057922: Improve LambdaForm sharing by using LambdaFormEditor more extensively - S8057934: Upgrade to LittleCMS 2.6 breaks AIX build - S8057936: java.net.URLClassLoader.findClass uses exceptions in control flow - S8057959: Retag 8u25-b16 to include more fixes - S8058092: Test vm/mlvm/meth/stress/compiler/deoptimize. Assert in src/share/vm/classfile/systemDictionary.cpp: MH intrinsic invariant - S8058112: Invalid BootstrapMethod for constructor/method reference - S8058120: Rendering / caret errors with HTMLDocument - S8058136: Test api/java_awt/SplashScreen/index.html\#ClosedSplashScreenTests fails because of java.lang.IllegalStateException was not thrown - S8058148: MaxNodeLimit and LiveNodeCountInliningCutoff - S8058184: Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters - S8058193: [macosx] Potential incomplete fix for JDK-8031485 - S8058197: AWT fails on generic non-reparenting window managers - S8058209: Race in G1 card scanning could allow scanning of memory covered by PLABs - S8058216: NetworkInterface.getHardwareAddress can return zero length byte array when run with preferIPv4Stack - S8058235: identify GCs initiated to update allocation context stats - S8058251: assert(_count > 0) failed: Negative counter when running runtime/NMT/MallocTrackingVerify.java - S8058275: new hotspot build - hs25.40-b11 - S8058291: Missing some checks during parameter validation - S8058293: Bit set computation in MHs.findFirstDupOrDrop/findFirstDrop is broken - S8058448: Disable JPRT submissions from the hotspot repo - S8058473: "Comparison method violates its general contract" when using Clipboard - S8058475: TestCMSClassUnloadingEnabledHWM.java fails with '.*CMS Initial Mark.*' missing from stdout/stderr - S8058481: Test gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java was removed, but TEST.groups still refers to it - S8058487: JRE installer fails if older jre is on the system with MSI 1603 error. System error 183 - S8058505: BigIntegerTest does not exercise Burnikel-Ziegler division - S8058511: StackOverflowError at com.sun.tools.javac.code.Types.lub - S8058536: java/lang/instrument/NativeMethodPrefixAgent.java fails due to VirtualMachineError: out of space in CodeCache for method handle intrinsic - S8058564: Tiered compilation performance drop in PIT - S8058568: GC cleanup phase can cause G1 skipping a System.gc() - S8058573: Resolve autoconf and other merge issue from 8u25 and 8u40 - S8058584: Ignore java/lang/invoke/LFCaching/LFGarbageCollectedTest until 8057020 is fixed - S8058606: [TESTBUG] Detailed Native Memory Tracking (NMT) data is not verified as output at VM exit - S8058626: Missing part of 8057656 in 8u40 compared to 9 - S8058632: Revert JDK-8054984 from 8u40 - S8058653: [TEST_BUG] Test java/awt/Graphics2D/DrawString/DrawStringCrash.java fails with OutOfMemoryError - S8058657: Add @jdk.Exported to com.sun.jarsigner APIs - S8058661: Compiled LambdaForms should inherit from Object to improve class loading performance - S8058664: Bad fonts in BigIntegerTest - S8058679: More bad characters in BigIntegerTest - S8058695: [TESTBUG] Reinvokers with arity >253 can't be cached - S8058708: java.lang.AssertionError compiling source code - S8058715: stability issues when being launched as an embedded JVM via JNI - S8058728: TEST_BUG: Make java/lang/invoke/LFCaching/LFGarbageCollectedTest.java skip arrayElementSetter and arrayElementGetter methods - S8058733: [TESTBUG] java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java and LFMultiThreadCachingTest.java failed on some platforms due to java.lang.VirtualMachineError - S8058739: The test case failed as "ERROR in native method: ReleasePrimitiveArrayCritical: failed bounds check" - S8058744: Crash in C1 OSRed method w/ Unsafe usage - S8058798: new hotspot build - hs25.40-b12 - S8058818: Allocation of more then 1G of memory using Unsafe.allocateMemory is still causing a fatal error on 32bit platforms - S8058825: EA: ConnectionGraph::split_unique_types does incorrect scalar replacement - S8058828: Wrong ciConstant type for arrays from ConstantPool::_resolved_reference - S8058847: C2: EliminateAutoBox regression after 8042786 - S8058858: JRE 8u20 crashes while using Japanese IM on Windows - S8058870: Mac: JFXPanel deadlocks in jnlp mode - S8058892: FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl - S8058919: Add sanity test for minimal VM in test/Makefile - S8058927: ATG throws ClassNotFoundException - S8058932: java/net/InetAddress/IPv4Formats.java failed because hello.foo.bar does exist - S8058936: hotspot/test/Makefile should use jtreg script from $JT_HOME/bin/jreg (instead of $JT_HOME/win32/bin/jtreg) - S8059002: 8058744 needs a test case - S8059070: [TESTBUG] java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java failed - timeout - S8059100: SIGSEGV VirtualMemoryTracker::remove_released_region - S8059131: sawindbg.dll is not compiled with /SAFESEH - S8059136: Reverse removal of applet demos [backout 8015376] - S8059139: It should be possible to explicitly disable usage of TZCNT instr w/ -XX:-UseBMI1Instructions - S8059177: jdk8u40 l10n resource file translation update 1 - S8059200: Promoted JDK9 b31 for Solaris-amd64 fails (Error: dl failure on line 744, no picl library) on Solaris 11.1 - S8059204: new hotspot build - hs25.40-b13 - S8059206: (tz) Support tzdata2014i - S8059216: Make PrintGCApplicationStoppedTime print information about stopping threads - S8059226: Names of rtm_state_change and unstable_if deoptimization reasons were swapped in 8u40 - S8059269: FileHandler may throw NPE if pattern is a simple name and the lock file already exists - S8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr - S8059311: com/sun/jndi/ldap/LdapTimeoutTest.java fails with exit_code == 0 - S8059327: XML parser returns corrupt attribute value - S8059445: Remove CompilationRepeat - S8059452: G1: Change the default values for G1HeapWastePercent and G1MixedGCLiveThresholdPercent - S8059462: Typo in keytool resource file - S8059466: Force young GC to initiate marking cycle when stat update is requested - S8059556: C2: crash while inlining MethodHandle invocation w/ null receiver - S8059590: ArrayIndexOutOfBoundsException occurs when Container with overridden getComponents() is deserialized - S8059592: Recent bugfixes in ppc64 port. - S8059618: new hotspot build - hs25.40-b14 - S8059621: JVM crashes with "unexpected index type" assert in LIRGenerator::do_UnsafeGetRaw - S8059655: new hotspot build - hs25.40-b15 - S8059710: javac, the same approach used in fix for JDK-8058708 should be applied to Code.closeAliveRanges - S8059739: Dragged and Dropped data is corrupted for two data types - S8059758: Footprint regressions with JDK-8038423 - S8059780: SPECjvm2008-MPEG performance regressions on x64 platforms - S8059803: Update use of GetVersionEx to get correct Windows version in hs_err files - S8059877: GWT branch frequencies pollution due to LF sharing - S8059880: Get rid of LambdaForm interpretation - S8059921: Missing compile error in Java 8 mode for Interface.super.field access - S8059941: [D3D] The fix for JDK-8029253 should be ported to d3d pipeline - S8059942: Default implementation of DrawImage.renderImageXform() should be improved for d3d/ogl - S8059943: [macosx] Aqua LaF should use BI.TYPE_INT_ARGB_PRE for a better performance - S8059944: [OGL] Metrics for a method choice copying of texture should be improved - S8059948: Rename the test group from jdk_rt to jdk_rm - S8059998: Broken link in java.awt.event Interface KeyListener - S8060006: No Russian time zones mapping for Windows - S8060116: After JDK-8047976 gc/g1/TestSummarizeRSetStatsThreads fails - S8060147: SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv - S8060151: Check-in changes for 8u40 nroff Open JDK - S8060169: Update the Crash Reporting URL in the Java crash log - S8060454: [TESTBUG] Whitebox tests fail with -XX:CompileThreshold=100 - S8060467: CMS: small OldPLABSize and -XX:-ResizePLAB cause assert(ResizePLAB || n_blks == OldPLABSize) failed: Error - S8060483: NPE with explicitCastArguments unboxing null - S8060485: (str) contentEquals checks the String contents twice on mismatch - S8061234: ResourceContext.requestAccurateUpdate() is unreliable - S8061275: new hotspot build - hs25.40-b16 - S8061392: PrinterJob NPE when drawing translucent image with null user clip - S8061456: [OGL] Incorrect clip is used during sw->surface blit in xor mode - S8061486: [TESTBUG] compiler/whitebox/ tests fail : must be osr_compiled (reappeared in nightlies) - S8061651: Interface to the Lookup Index Cache to improve URLClassPath search time - S8061817: Whitebox.deoptimizeMethod() does not deoptimize all OSR versions of method - S8061830: [asm] refresh internal ASM version v5.0.3 - S8061861: new hotspot build - hs25.40-b17 - S8061960: java/lang/instrument/DaemonThread/TestDaemonThread.java regularly fails due to exceeded timeout - S8061969: [TESTBUG] MallocSiteHashOverflow.java should be enabled for 32-bit platforms - S8061983: [TESTBUG] compiler/whitebox/MakeMethodNotCompilableTest.java fails with "must not be in queue" - S8062021: NPE in sun/lwawt/macosx/CPlatformWindow::toFront after JDK-8060146 - S8062036: ConcurrentMarkThread::slt may be invoked before ConcurrentMarkThread::makeSurrogateLockerThread causing intermittent crashes - S8062164: Incorrect color conversion, when bicubic interpolation is used - S8062169: Multiple OSR compilations issued for same bci - S8062233: add java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java to problem list - S8062247: [TESTBUG] Allow WhiteBox test to access JVM offsets - S8062359: javac Attr crashes with NPE in TypeAnnotationsValidator visitNewClass - S8062475: Enable hook for custom doc generation - S8062501: Modifications of server socket channel accept() methods for instrumentation purposes - S8062589: new hotspot build - hs25.40-b18 - S8062608: BCEL corrupts debug data of methods that use generics - S8062635: Enable custom CompileJavaClasses.gmk - S8062742: compiler/EliminateAutoBox/UnsignedLoads.java fails with client vm - S8062744: jdk.net.Sockets.setOption/getOption does not support IP_TOS - S8062747: Compiler error when anonymous class uses method with parametrized exception - S8062771: Core reflection should use final fields whenever possible - S8062870: src/share/vm/services/mallocTracker.hpp:64 assert(_count > 0) failed: Negative counter - S8062950: Bug in locking code when UseOptoBiasInlining is disabled: assert(dmw->is_neutral()) failed: invariant - S8062957: Heap is not shrunk when deallocating under memory pressure - S8063052: Inference chokes on wildcard derived from method reference - S8063135: Enable full LF sharing by default - S8063700: -Xcheck:jni changes cause many JCK failures in api/javax_crypto tests in SunPKCS11 - S8064288: sun.management.Flag should loadLibrary() - S8064361: new hotspot build - hs25.40-b19 - S8064375: Change certain errors to warnings in CDS output. - S8064391: More thread safety problems in core reflection - S8064468: ownedWindowList access requires synchronization in Window.setAlwaysOnTop() method - S8064516: BCEL still corrupts generic methods if bytecode offsets are modified - S8064556: G1: ParallelGCThreads=0 may cause assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty - S8064560: (tz) Support tzdata2014j - S8064667: Add -XX:+CheckEndorsedAndExtDirs flag to JDK 8 - S8064701: Some CDS optimizations should be disabled if bootclasspath is modified by JVMTI - S8064716: TestHumongousShrinkHeap.java can not be run with -XX:+ExplicitGCInvokesConcurrent - S8064854: new hotspot build - hs25.40-b20 - S8065072: sun/net/www/http/HttpClient/StreamingRetry.java failed intermittently - S8065098: JColorChooser no longer supports drag and drop between two JVM instances - S8065132: Parameter annotations not updated when synthetic parameters are prepended - S8065157: jdk8u40 Japanese man page file translation update - S8065183: Add --with-copyright-year option to configure - S8065227: Report allocation context stats at end of cleanup - S8065238: javax.naming.NamingException after upgrade to JDK 8 - S8065305: Make it possible to extend the G1CollectorPolicy - S8065346: WB_AddToBootstrapClassLoaderSearch calls JvmtiEnv::create_a_jvmti when not in _thread_in_vm state - S8065361: Fixup headers and definitions for INCLUDE_TRACE - S8065385: new hotspot build - hs25.40-b21 - S8065397: Remove ExtendedPlatformComponent.java from EXFILES list - S8065552: setAccessible(true) on fields of Class may throw a SecurityException - S8065618: C2 RA incorrectly removes kill projections - S8065627: Animated GIFs fail to display on a HiDPI display - S8065634: Crash in InstanceKlass::clean_method_data when _method is NULL - S8065702: Deprecate the Extension Mechanism - S8065764: javax/management/monitor/CounterMonitorTest.java hangs - S8065765: Missing space in output message from -XX:+CheckEndorsedAndExtDirs - S8065991: LogManager unecessarily calls JavaAWTAccess from within a critical section - S8066045: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066061: new hotspot build - hs25.40-b22 - S8066103: C2's range check smearing allows out of bound array accesses - S8066142: Edit the value in the text field and then press the tab key, the number don't increase - S8066143: [TESTBUG] New tests in gc/survivorAlignment/ fails - S8066146: jdk.nashorn.api.scripting package javadoc should be included in jdk docs - S8066199: C2 escape analysis prevents VM from exiting quickly - S8066397: Remove network-related seed initialization code in ThreadLocal/SplittableRandom - S8066647: new hotspot build - hs25.40-b23 - S8066649: 8u backport for 8065618 is incorrect - S8066670: PrintSharedArchiveAndExit does not exit the VM when the archive is invalid - S8066746: MHs.explicitCastArguments does incorrect type checks for VarargsCollector - S8066756: Test test/sun/awt/dnd/8024061/bug8024061.java fails - S8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066900: Array Out Of Bounds Exception causes variable corruption - S8066964: ppc64: argument and return type profiling, fix problem with popframe - S8066986: [headless] DataTransferer.getInstance throws ClassCastException in headless mode - S8067039: Revert changes to annotation attribute generation - S8067144: SIGSEGV with +TraceDeoptimization in Deoptimization::print_objects - S8067232: [TESTBUG] runtime/CheckEndorsedAndExtDirs/EndorsedExtDirs.java fails with ClassNotFoundException - S8068548: jdeps needs a different mechanism to recognize javax.jnlp as supported API - S8068631: new hotspot build - hs25.40-b24 - S8068650: $jdk/api/javac/tree contains docs for nashorn 2015-03-02 Andrew John Hughes * Makefile.am: (JDK_UPDATE_VERSION): Bump to 40. (BUILD_VERSION): Set to b21. (CORBA_CHANGESET): Update to icedtea-3.0.0pre03 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (NASHORN_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (NASHORN_SHA256SUM): Likewise. * NEWS: Updated. * configure.ac: Bump to 3.0.0pre03. * hotspot.map: Update to icedtea-3.0.0pre03 tag. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 00:20:24 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 00:20:24 +0000 Subject: [Bug 2212] [IcedTea8] DGifCloseFile call should check the return value, not the error code, for failure In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2212 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=d84be26576af author: Andrew John Hughes date: Mon Mar 02 14:56:30 2015 +0000 Bump to icedtea-3.0.0pre03. Upstream changes: - PR2199: Support giflib 5.1.0 - PR2212: DGifCloseFile call should check the return value, not the error code, for failure - PR2227: giflib 5.1 conditional excludes 6.0, 7.0, etc. - S4991647: PNGMetadata.getAsTree() sets bitDepth to invalid value - S6302052: Reference to nonexistant Class in javadoc - S6311046: -Xcheck:jni should support checking of GetPrimitiveArrayCritical. - S6521706: A switch operator in JFrame.processWindowEvent() should be rewritten - S6545422: [TESTBUG] NativeErrors.java uses wrong path name in exec - S6624085: Fourth mouse button (wheel) is treated like second button - isPopupTrigger returns true - S6642881: Improve performance of Class.getClassLoader() - S6853696: (ref) ReferenceQueue.remove(timeout) may return null even if timeout has not expired - S6883953: java -client -XX:ValueMapInitialSize=0 crashes - S6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94 - S6904367: (coll) IdentityHashMap is resized before exceeding the expected maximum size - S7010989: Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets - S7011804: SequenceInputStream with lots of empty substreams can cause StackOverflowError - S7033533: realSync() doesn't work with Xfce - S7058697: Unexpected exceptions in MID parser code - S7058700: Unexpected exceptions and timeouts in SF2 parser code - S7067052: Default printer media is ignored - S7095856: OutputStreamHook doesn't handle null values - S7107611: sun.security.pkcs11.SessionManager is scalability blocker - S7132678: G1: verify that the marking bitmaps have no marks for objects over TAMS - S7148531: [macosx] In test, the window does not have time to resize before make a screenshot - S7150092: NTLM authentication fail if user specified a different realm - S7169583: JInternalFrame title not antialiased in Nimbus LaF - S7170310: ScrollBar doesn't become active when tabs are created more than frame size - S8000975: (process) Merge UNIXProcess.java.bsd & UNIXProcess.java.linux (& .solaris & .aix) - S8003900: X11 dependencies should be removed from Mac OS X build. - S8007993: hotspot.log w/ enabled LogCompilation can be an invalid XML - S8010767: Build fails on OEL6 with 16 cores - S8011537: (fs) Path.register(..) clears interrupt status of thread with no InterruptedException - S8015256: Better class accessibility - S8015376: Remove jnlp and applet files from the JDK samples - S8019342: G1: High "Other" time most likely due to card redirtying - S8023461: Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock - S8024366: Make UseNUMA enable UseNUMAInterleaving - S8024626: CTW CRASH: SIGSEGV in ctw/jre/lib/rt_jar/preloading_1 and ctw/jre/lib/rt_jar/sun_awt_X11_ListHelper - S8025842: Convert warning("Thread holding lock at safepoint that vm can block on") to fatal(...) - S8025917: JDK demo applets not running with >=7u40 or (JDK 8 and JDK 9) - S8026303: CMS: JVM intermittently crashes with "FreeList of size 258 violates Conservation Principle" assert - S8026385: [macosx] (awt) setjmp/longjmp changes the process signal mask on OS X - S8026497: Font2DTest demo: unused resource files - S8026784: Error message in AdaptiveFreeList::verify_stats is wrong - S8026796: Make replace_in_map() on parent maps generic - S8026847: [TESTBUG] gc/g1/TestSummarizeRSetStats* tests launch 32bit jvm with UseCompressedOops - S8027144: Review restriction of JAX-WS java packages going to JDK8 - S8027148: SystemFlavorMap.getNativesForFlavor returns list of native formats in incorrect order - S8027553: Change the in_cset_fast_test functionality to use the G1BiasedArray abstraction - S8027959: Early reclamation of large objects in G1 - S8028037: [parfait] warnings from b114 for hotspot.src.share.vm - S8028407: adjust-mflags.sh failed build with GNU Make 4.0 with -I - S8028430: JDI: ReferenceType.visibleMethods() return wrong visible methods - S8028474: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh timeout, leaves looping process - S8028539: Endless loop in native code of sun.java2d.loops.ScaledBlit - S8028710: G1 does not retire allocation buffers after reference processing work - S8028727: [parfait] warnings from b116 for jdk.src.share.native.sun.security.ec: JNI pending exceptions - S8028780: JDK KRB5 module throws OutOfMemoryError when CCache is corrupt - S8029012: parameter_index for type annotation not updated after outer.this added - S8029070: memory leak in jmm_SetVMGlobal - S8029253: [macosx] Performance problems with Retina display on Mac OS X - S8029443: 'assert(klass->is_loader_alive(_is_alive)) failed: must be alive' during VM_CollectForMetadataAllocation - S8029452: Fork/Join task ForEachOps.ForEachOrderedTask clarifications and minor improvements - S8029524: Remove unsused method CollectedHeap::unsafe_max_alloc() - S8029536: JFileChooser filter uses .toString() instead of getDescription() for filter text on GTK laf - S8029548: (jdeps) use @jdk.Exported to determine supported vs JDK internal API - S8029607: Type of Service (TOS) cannot be set in IPv6 header - S8029797: Let jprt run configure when building - S8029837: NPE seen in XMLDocumentFragmentScannerImpl.setProperty since 7u40b33 - S8030079: Lint warnings in java.lang.invoke - S8030166: java/lang/ProcessBuilder/Basic.java fails intermittently: waitFor took too long - S8030681: add "serve" command and --quiet and --verbose options to hgforest - S8030976: Untaken paths should be more vigorously pruned at highest optimization level - S8031003: [Parfait] warnings from jdk/src/share/native/sun/security/jgss/wrapper: JNI exception pending - S8031092: jdeps does not recognize --help option. - S8031323: Optionally align objects copied to survivor spaces - S8031373: Lint warnings in java.util.stream - S8031376: TraceClassLoading expects there to be a (Java) caller when you load a class with the bootstrap class loader - S8031435: Ftp download does not work properly for ftp user without password - S8031696: [macosx] TwentyThousandTest test failed with OOM - S8031709: Configure --with-jvm-variants=client, server, x produces default outputdir containing comma - S8031721: Remove non-existent test from TEST.groups - S8031994: java/lang/Character/CheckProp test times out - S8032247: SA: Constantpool lookup for invokedynamic is not implemented - S8032379: Remove the is_scavenging flag to process_strong_roots - S8032573: CertificateFactory.getInstance("X.509").generateCertificates(InputStream) does not throw CertificateException for invalid input - S8032650: [parfait] warning from b124 for jdk/src/share/native/java/util: jni exception pending - S8032864: [macosx] sigsegv (0Xb) Being Generated When Starting JDev With Voiceover Running - S8032908: getTextContent doesn't return string in JAXP - S8033141: Cleanup of sun.awt.X11 package - S8033370: [parfait] warning from b126 for solaris/native/sun/util/locale/provider: JNI exception pending - S8033421: @SuppressWarnings("deprecation") does not work when overriding deprecated method - S8033483: Should ignore nested lambda bodies during overload resolution - S8033602: wrong stabs data in libjvm.debuginfo on JDK 8 - SPARC - S8033699: Incorrect radio button behavior - S8033764: Remove the usage of StarTask from BufferingOopClosure - S8033785: TimeZoneNamesTest should be removed - S8033893: jdk build is broken due to the changeset of JDK-8033370 - S8033923: Use BufferingOopClosure for G1 code root scanning - S8034005: cannot debug in synchronizer.o or objectMonitor.o on Solaris X86 - S8034031: [parfait] JNI exception pending in jdk/src/macosx/native/apple/security/KeystoreImpl.m - S8034032: Check src/macosx/native/java/util/prefs/MacOSXPreferencesFile.m for JNI pending issues - S8034033: [parfait] JNI exception pending in share/native/sun/security/krb5/nativeccache.c - S8034056: assert(_heap_alignment >= _space_alignment) failed: heap_alignment less than space_alignment - S8034085: Do not prefer indexed properties - S8034164: Introspector ignores indexed part of the property sometimes - S8034218: Improve fontconfig.properties for AIX platform - S8034761: Remove the do_code_roots parameter from process_strong_roots - S8034764: Use process_strong_roots to adjust the StringTable - S8034775: Failing to initialize VM when running with negative value for -XX:CICompilerCount - S8034935: JSR 292 support for PopFrame has a fragile coupling with DirectMethodHandle - S8035162: Service printing service - S8035165: Expose internal representation in sun.awt.X11 - S8035328: closed/compiler/6595044/Main.java failed with timeout - S8035393: Use CLDClosure instead of CLDToOopClosure in frame::oops_interpreted_do - S8035400: Move G1ParScanThreadState into its own files - S8035401: Fix visibility of G1ParScanThreadState members - S8035412: Cleanup ClassLoaderData::is_alive - S8035605: Expand functionality of PredictedIntrinsicGenerator - S8035648: Don't use Handle in java_lang_String::print - S8035650: Exclude AIX from VS.NET make/windows/projectcreator.make - S8035746: Add missing Klass::oop_is_instanceClassLoader() function - S8035759: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/krb5/NativeCreds.c - S8035781: Improve equality for annotations - S8035826: [parfait] JNI exception pending in src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c - S8035829: [parfait] JNI exception pending in jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c - S8035893: JVM_GetVersionInfo fails to zero structure - S8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC - S8035974: Refactor DigestBase.engineUpdate() method for better code generation by JIT compiler - S8036007: javac crashes when encountering an unresolvable interface - S8036091: compiler/membars/DekkerTest.java fails with -XX:CICompilerCount=1 - S8036156: Limit default method hierarchy - S8036533: Method for correct defaults - S8036588: VerifyFieldClosure fails instanceKlass:3133 - S8036612: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/mscapi/security.cpp - S8036613: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c - S8036614: AIX: fix adjust-mflags.sh to build with GNU Make 4.0 (adapt 8028407 for AIX) - S8036616: [TESTBUG] Embedded: sun/jvmstat/monitor/MonitoredVm/CR6672135.java should be launched with -XX:+UsePerfData - S8036805: Correct linker method lookup. - S8036861: Application can't be loaded fine,the save dialog can't show up. - S8036936: Use local locales - S8036953: Fix timing of varargs access check, per JDK-8016205 - S8036981: JAXB not preserving formatting for xsd:any Mixed content - S8037066: Secure transport layer - S8037209: Improvements and cleanups to bytecode assembly for lambda forms - S8037210: Get rid of char-based descriptions 'J' of basic types - S8037326: VerifyAccess.isMemberAccessible() has incorrect access check - S8037344: Use the "next" field to iterate over fine remembered instead of using the hash table - S8037404: javac NPE or VerifyError for code with constructor reference of inner class - S8037745: Consider re-enabling PKCS11 mechanisms previously disabled due to Solaris bug 7050617 - S8037746: Bundling Derby 10.11 with 8u40 - S8037846: Ensure streaming of input cipher streams - S8037925: CMM Testing: an allocated humongous object at the end of the heap should not prevents shrinking the heap - S8037948: Improve documentation for org.w3c.dom package - S8037958: ConcurrentMark::cleanup leaks BitMaps if VerifyDuringGC is enabled - S8037968: Add tests on alignment of objects copied to survivor space - S8038027: DTDBuilder should be run in headless mode - S8038261: JSR292: cache and reuse typed array accessors - S8038265: CMS: enable time based triggering of concurrent cycles - S8038268: VM Crashes in MetaspaceShared::generate_vtable_methods while creating CDS archive with limiting SharedMiscCodeSize - S8038333: TEST_BUG: java/lang/ref/EarlyTimeout.java fails with a non-adequate message - S8038364: Use certificate exceptions correctly - S8038393: [TESTBUG] ciReplay/* tests fail after 8034775 - S8038399: Remove dead oop_iterate MemRegion variants from SharedHeap, Generation and Space classes - S8038404: Move object_iterate_mem from Space to CMS since it is only ever used by CMS - S8038405: Clean up some virtual fucntions in Space class hierarchy - S8038412: Move object_iterate_careful down from Space to ContigousSpace and CFLSpace - S8038422: CDS test failed: assert((size % os::vm_allocation_granularity()) == 0) failed when limiting SharedMiscDataSize - S8038423: G1: Decommit memory within heap - S8038435: Some hgforest.sh commands don't receive parameters - S8038624: interpretedVFrame::expressions() must respect InterpreterOopMap for liveness - S8038754: ReplayCacheTestProc test fails with timeout - S8038756: new WB API :: get/setVMFlag - S8038776: VerifyError when running successfully compiled java class - S8038829: G1: More useful information in a few assert messages - S8038898: Safer safepoints - S8038903: More native monitor monitoring - S8038908: Make Signature more robust - S8038913: Bolster XML support - S8038919: Requesting focus to a modeless dialog doesn't work on Safari - S8038928: gc/g1/TestGCLogMessages.java fail with "[Evacuation Failure' - S8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet - S8038966: JAX-WS handles wrongly xsd:any arguments for Web services - S8038982: java/lang/ref/EarlyTimeout.java failed again - S8039097: Some tests fail with NPE since 7u60 b12 - S8039147: Cleanup SuspendibleThreadSet - S8039150: host_klass invariant fails when verifying newly loaded JSR-292 anonymous classes - S8039173: Propagate errors from Diagnostic Commands as exceptions in the attach framework - S8039444: Swing applications not being displayed properly - S8039489: Refactor test framework for dynamic VM options - S8039498: Add iterators to GrowableArray - S8039509: Wrap sockets more thoroughly - S8039520: More atomicity of atomic updates - S8039533: Higher resolution resolvers - S8039596: Remove HeapRegionRemSet::clear_incoming_entry - S8039915: Wrong NumberFormat.format() HALF_UP rounding when last digit exactly at rounding position greater than 5 - S8039990: Add sequential operation support to hgforest - S8040002: Clean up code and code duplication in re-diryting cards for verification - S8040007: GtkFileDialog strips user inputted filepath - S8040076: Memory leak. java.awt.List objects allowing multiple selections are not GC-ed. - S8040121: Load variable through a pointer of an incompatible type in src/hotspot/src/share/vm: opto/output.cpp, runtime/sharedRuntimeTrans.cpp, utilities/globalDefinitions_visCPP.hpp - S8040279: [macosx] Do not use the base image in the MultiResolutionBufferedImage - S8040617: [macosx] Large JTable cell results in a OutOfMemoryException - S8040722: G1: Clean up usages of heap_region_containing - S8040792: G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname) - S8040798: compiler/startup/SmallCodeCacheStartup.java timed out in RT_Baseline - S8040806: BitSet.toString() can throw IndexOutOfBoundsException - S8040808: Uninitialised memory in OGLBufImgsOps.c, D3DBufImgOps.cpp - S8040812: Uninitialised memory in jdk/src/share/native/sun/security/ec/impl/mpi.c - S8040920: Uninitialised memory in hotspot/src/share/vm/code/dependencies.cpp - S8040921: Uninitialised memory in hotspot/src/share/vm/c1/c1_LinearScan.cpp - S8040977: G1 crashes when run with -XX:-G1DeferredRSUpdate - S8041142: Re-enabling CBC_PAD PKCS11 mechanisms for Solaris - S8041151: More concurrent hgforest - S8041529: Better parameterization of parameter lists - S8041535: Update certificate lists for compact1 profile - S8041540: Better use of pages in font processing - S8041545: Better validation of generated rasters - S8041564: Improved management of logger resources - S8041572: [macosx] huge native memory leak in AWTWindow.m - S8041633: [TESTBUG] java/lang/SecurityManager/CheckPackageAccess.java fails with "In j.s file, but not in golden set: com.sun.activation.registries." - S8041717: Issue with class file parser - S8041734: JFrame in full screen mode leaves empty workspace after close - S8041946: CMM Testing: 8u40 an allocated humongous object at the end of the heap should not prevents shrinking the heap - S8041984: CompilerThread seems to occupy all CPU in a very rare situation - S8041987: [macosx] setDisplayMode crashes - S8041990: [macosx] Language specific keys does not work in applets when opened outside the browser - S8041992: Fix of JDK-8034775 neglects to account for non-JIT VMs - S8042053: Broken links to jarsigner and keytool docs in java.security package summary - S8042094: Test javax/swing/JFileChooser/7036025/bug7036025.java fails with java.lang.NullPointerException on Windows x86 - S8042123: Support default and static interface methods in JDI, JDWP and JDB - S8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale - S8042195: Introduce umbrella header orderAccess.inline.hpp. - S8042205: javax/management/monitor/*: some tests didn't get all the notifications - S8042235: redefining method used by multiple MethodHandles crashes VM - S8042255: make gc src file exclusion more automatic - S8042347: javac, Gen.LVTAssignAnalyzer should be refactored, it shouldn't be a static class - S8042417: hgforest: allow local clone of extra repos - S8042428: CompileQueue::free_all() code is incorrect - S8042431: compiler/7200264/TestIntVect.java fails with: Test Failed: AddVI 0 < 4 - S8042440: awt_Plugin no longer needed - S8042469: Launcher changes for native memory tracking scalability enhancement - S8042470: (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified - S8042480: CipherInputStream.close() throws AEADBadTagException in some cases - S8042570: Excessive number of tests timing out on nightly testing due to fix for 8040798 - S8042590: Running form URL throws NPE - S8042603: 'SafepointPollOffset' was not declared in static member function 'static bool Arguments::check_vm_args_consistency()' - S8042609: Limit splashiness of splash images - S8042622: Check for CRL results in IllegalArgumentException "white space not allowed" - S8042737: Introduce umbrella header prefetch.inline.hpp - S8042797: Avoid strawberries in LogRecord - S8042804: Support invoking Hotspot tests from top level - S8042810: hgforest: some shells run read in sub-shell and can't use fifo - S8042816: (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified, part 2 - S8042835: Remove mnemonic character from open, save and open directory JFileChooser's buttons - S8042945: Remove @throws ClassCastException for CertificateRevokedException constructor - S8042982: Unexpected RuntimeExceptions being thrown by SSLEngine - S8043158: Crash in CodeSweeperSweepNoFlushTest in CompileQueue::free_all() - S8043182: hgforest.sh: syntax error on line 329 - S8043200: Decrease the preference mode of RC4 in the enabled cipher suite list - S8043275: 8u40 backport: Fix interface initialization for default methods. - S8043301: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp versus math.h in VS2013 - S8043302: [TESTBUG] Need a test to cover JDK-8029755 - S8043454: Test case for 8037157 should not throw a VerifyError - S8043476: java/util/BitSet/BSMethods.java failed with: java.lang.OutOfMemoryError: Java heap space - S8043477: java/lang/ProcessBuilder/Basic.java failed with: java.lang.AssertionError: Some tests failed - S8043508: JVM core dumps with very long text in tooltip - S8043546: C1 optimizes @Stable instance fields with default values - S8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps - S8043610: Sorting columns in JFileChooser fails with AppContext NPE - S8043722: Swapped usage of idx_t and bm_word_t types in parMarkBitMap.cpp - S8043723: max_heap_for_compressed_oops() declared with size_t, but defined with uintx - S8043766: CMM Testing: 8u40 Decommit auxiliary data structures - S8043869: [macosx] java -splash does not honor @2x hi dpi notation for retina support - S8043926: javac, code valid in 7 is not compiling for 8 - S8044056: Testcase added in wrong location in 8043302 - S8044135: Add API to start JMX agent from attach framework - S8044140: Create NMT (Native Memory Tracking) tests for NMT2 - S8044215: Unable to initiate SpNego using a S4U2Proxy GSSCredential (Krb5ProxyCredential) - S8044269: Analysis of archive files. - S8044274: Proper property processing - S8044398: Attach code should propagate errors in Diagnostic Commands as errors - S8044406: JVM crash with JDK8 (build 1.8.0-b132) with G1 GC - S8044473: Allow for extended set of platform MXBeans - S8044538: assert(which != imm_operand) failed: instruction is not a movq reg, imm64 - S8044546: Crash on faulty reduce/lambda - S8044604: Increment minor version of HSx for 8u25 and initialize the build number - S8044614: [macosx] Focus issue with 2 applets in firefox - S8044629: (reflect) Constructor.getAnnotatedReceiverType() returns wrong value - S8044647: sun/tools/jrunscript/jrunscriptTest.sh start failing: Output of jrunscript -l nashorn differ from expected output - S8044659: Java SecureRandom on SPARC T4 much slower than on x86/Linux - S8044671: NPE from JapaneseEra when a new era is defined in calendar.properties - S8044737: Lambda: NPE while obtaining method reference through lambda expression - S8044748: JVM cannot access constructor though ::new reference although can call it directly - S8044749: Resolve autoconf and other merge issue from 8u20 to 8u25 - S8044866: Fix raw and unchecked lint warnings in asm - S8046007: Java app receives javax.print.PrintException: Printer is not accepting job - S8046046: Test sun/security/pkcs11/Signature/TestDSAKeyLength.java fails intermittently on Solaris 11 in 8u40 nightly - S8046060: Different results of floating point multiplication for lambda code block - S8046070: Class Data Sharing clean up and refactoring - S8046210: Missing memory barrier when reading init_lock - S8046213: Test test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java Fails - S8046231: G1: Code root location ... from nmethod ... not in strong code roots for region - S8046233: VerifyError on backward branch - S8046268: compiler/whitebox/ tests fail : must be osr_compiled - S8046289: compiler/6340864/TestLongVect.java timeout with - S8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX - S8046495: KeyEvent can not be accepted in quick mouse clicking - S8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc - S8046545: JNI exception pending in jdk/src/share/bin/java.c - S8046559: NPE when changing Windows theme - S8046598: Scalable Native memory tracking development - S8046662: Check JNI ReleaseStringChars / ReleaseStringUTFChars verify_guards test inverted - S8046670: Make CMS metadata aware closures applicable for other collectors - S8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943 - S8046715: Add a way to verify an extended set of command line options - S8046769: Set T family feature bit on Niagara systems - S8046783: Add hidden field to methods for event based tracing - S8046884: JNI exception pending in jdk/src/solaris/native/sun/java2d/x11: X11PMPLitLoops.c, X11SurfaceData.c - S8046887: JNI exception pending in jdk/src/solaris/native/sun/awt: awt_DrawingSurface.c, awt_GraphicsEnv.c, awt_InputMethod.c, sun_awt_X11_GtkFileDialogPeer.c - S8046888: JNI exception pending in jdk/src/share/native/sun/awt/image/awt_parseImage.c - S8046894: JNI exception pending in jdk/src/solaris/native/sun/awt/X11Color.c - S8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY - S8047062: Improve diagnostic output in com/sun/jndi/ldap/LdapTimeoutTest.java - S8047066: Test test/sun/awt/image/bug8038000.java fails with ClassCastException - S8047073: Some javax/management/ fails with JFR - S8047145: 8u20 l10n resource file translation update 2 - S8047186: jdk.net.Sockets throws InvocationTargetException instead of original runtime exceptions - S8047288: Fixes endless loop on mac caused by invoking Windows.isFocusable() on Appkit thread. - S8047323: Remove unused _copy_metadata_obj_cl in G1CopyingKeepAliveClosure - S8047326: Consolidate all CompiledIC::CompiledIC implementations and move it to compiledIC.cpp - S8047340: (process) Runtime.exec() fails in Turkish locale - S8047341: lambda reference to inner class in base class causes LambdaConversionException - S8047362: Add a version of CompiledIC_at that doesn't create a new RelocIterator - S8047373: Clean the ExceptionCache in one pass - S8047383: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions. - S8047674: java/net/URLPermission/nstest/lookup.sh NoClassDefFoundError when run in concurrent mode - S8047719: Incorrect LVT in switch statement - S8047732: new hotspot build - hs25.20-b21 - S8047740: Add hotspot testset to jprt.properties - S8047795: Collections.checkedList checking bypassed by List.replaceAll - S8047812: Ensure ClassLoaderDataGraph::classes_unloading_do only delivers klasses from CLDs with non-reclaimed class loader oops - S8047818: G1 HeapRegions can no longer be ContiguousSpaces - S8047819: G1 HeapRegionDCTOC does not need to inherit ContiguousSpaceDCTOC - S8047820: G1 Block offset table does not need to support generic Space classes - S8047821: G1 Does not use the save_marks functionality as intended - S8047925: Add mercurial version checks to get_source.sh - S8047934: Adding new API for unlocking diagnostic argument. - S8047976: Ergonomics for GC thread counts should update the flags - S8048020: Regression on java.util.logging.FileHandler - S8048025: Ensure cache consistency - S8048063: (jdeps) Add filtering capability - S8048073: Cannot read ccache entry with a realm-less service name - S8048080: (smartcardio) javax.smartcardio.Card.openLogicalChannel() dosn't work on MacOSX - S8048085: Aborting marking just before remark results in useless additional clearing of the next mark bitmap - S8048088: Conservative maximum heap alignment should take vm_allocation_granularity into account - S8048110: Using tables in JTextPane leads to infinite loop in FlowLayout.layoutRow - S8048112: G1 Full GC needs to support the case when the very first region is not available - S8048121: javac complex method references: revamp and simplify - S8048141: Update the Hotspot version numbers in Hotspot for JDK 8u40 - S8048150: Allow easy configurations for large CDS archives - S8048169: Change 8037816 breaks HS build on PPC64 and CPP-Interpreter platforms - S8048170: Test closed/java/text/Normalizer/ConformanceTest.java failed - S8048184: handle mercurial dev build version string - S8048194: GSSContext.acceptSecContext fails when a supported mech is not initiator preferred - S8048207: Collections.checkedQueue.offer() calls add on wrapped queue - S8048209: Collections.synchronizedNavigableSet().tailSet(Object,boolean) synchronizes on wrong object - S8048212: Two tests failed with "java.net.SocketException: Bad protocol option" on Windows after 8029607 - S8048214: Linker error when compiling G1SATBCardTableModRefBS after include order changes - S8048265: AWT crashes inside CCombinedSegTable::In called from Java_sun_awt_windows_WDefaultFontCharset_canConvert - S8048268: G1 Code Root Migration performs poorly - S8048269: Add flag to turn off class unloading after G1 concurrent mark - S8048270: Resolve autoconf and other merge issue from 8u20-b20 to 8u25 - S8048506: [macosx] javax.swing.PopupFactory issue with null owner - S8048511: Uninitialised memory in jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c - S8048512: Uninitialised memory in jdk/src/share/native/sun/security/ec/ECC_JNI.cpp - S8048515: Read outside array bounds in jdk/src/solaris/native/java/lang/java_props_md.c - S8048524: Memory leak in jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c - S8048549: [macosx] Disable usage of system menu bar if AWT is embedded in FX - S8048583: CustomMediaSizeName class matching to standard media is too loose - S8048703: ReplacedNodes dumps it's content to tty - S8048879: "unexpected yanked node" opto/postaloc.cpp:139 - S8048887: SortingFocusTraversalPolicy throws IllegalArgumentException from the sort method - S8048913: java/util/logging/LoggingDeadlock2.java times out - S8049043: Load variable through a pointer of an incompatible type in hotspot/src/share/vm/runtime/sharedRuntimeMath.hpp - S8049051: Use of during_initial_mark_pause() in G1CollectorPolicy::record_collection_pause_end() prevents use of seperate object copy time prediction during marking - S8049055: Tests added to the jdk/test/TEST.groups to be run on correct profiles - S8049057: JNI exception pending in jdk/src/windows/native/sun/windows/ - S8049065: [JLightweightFrame] Support DnD for SwingNode - S8049071: Add jtreg jobs to JPRT for hotspot - S8049075: javac, wildcards and generic vararg method invocation not accepted - S8049128: 8u20 l10n resource file translation update 2 - jaxp - S8049198: [macosx] Incorrect thread access when showing splash screen - S8049244: XML Signature performance issue caused by unbuffered signature data - S8049250: Need a flag to invert the Card.disconnect(reset) argument - S8049252: VerifyStack logic in Deoptimization::unpack_frames does not expect to see invoke bc at the top frame during normal deoptimization - S8049303: Transient network problems cause JMX thread to fail silenty - S8049327: [TESTBUG] gc/logging/TestGCId.java assumes default PrintGCID value is true - S8049340: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java timed out - S8049343: (tz) Support tzdata2014g - S8049346: [TESTBUG] fix the @run line of the test: jdk/test/java/awt/Focus/SortingFTP/JDK8048887.java - S8049373: All compact profiles builds fail following JDK-8044473 - S8049411: Minimal VM build broken after gcId.cpp was added - S8049418: [macosx] PopupMenuListener.popupMenuWillBecomeVisible is not called for empty combobox on MacOS/aqua look and feel - S8049421: G1 Class Unloading after completing a concurrent mark cycle - S8049426: Minor cleanups after G1 class unloading - S8049514: FEATURE_SECURE_PROCESSING can not be turned off on a validator through SchemaFactory - S8049528: Method marked w/ @ForceInline isn't inlined with "executed < MinInliningThreshold times" message - S8049529: LogCompilation: annotate make_not_compilable with compilation level - S8049530: Provide descriptive failure reason for compilation tasks removed for the queue - S8049532: LogCompilation: C1: inlining tree is flat (no depth is stored) - S8049542: C2: assert(size_in_words <= (julong)max_jint) failed: no overflow - S8049555: Move varargsArray from sun.invoke.util package to java.lang.invoke - S8049583: Test closed/java/awt/List/ListMultipleSelectTest/ListMultipleSelectTest fails on Window XP - S8049599: MetaspaceGC::_capacity_until_GC can overflow - S8049684: pstack crashes on java core dump - S8049831: Metadata Full GCs are not triggered when CMSClassUnloadingEnabled is turned off - S8049884: Reduce possible timing noise in com/sun/jndi/ldap/LdapTimeoutTest.java - S8049916: new hotspot build - hs25.40-b02 - S8049996: [macosx] test java/awt/image/ImageIconHang.java fails with NPE - S8050022: linux-sparcv9: assert(SharedSkipVerify || obj->is_oop()) failed: sanity check - S8050052: Small cleanups in java.lang.invoke code - S8050053: Improve caching of different invokers - S8050057: Improve caching of MethodHandle reinvokers - S8050079: crash while compiling java.lang.ref.Finalizer::runFinalizer - S8050115: javax/management/monitor/GaugeMonitorDeadlockTest.java fails intermittently - S8050165: linux-sparcv9: NMT detail causes assert((intptr_t*)younger_sp[FP->sp_offset_in_saved_window()] == (intptr_t*)((intptr_t)sp - STACK_BIAS)) failed: younger_sp must be valid - S8050166: Get rid of some package-private methods on arguments in j.l.i.MethodHandle - S8050167: linux-sparcv9: hs_err file does not show any stack information - S8050173: Add j.l.i.MethodHandle.copyWith(MethodType, LambdaForm) - S8050174: Support overriding of isInvokeSpecial flag in WrappedMember - S8050200: Make LambdaForm intrinsics detection more robust - S8050229: Uninitialised memory in hotspot/src/share/vm/compiler/oopMap.cpp - S8050386: javac, follow-up of fix for JDK-8049305 - S8050485: super() in a try block in a ctor causes VerifyError - S8050804: (jdeps) Recommend supported API to replace use of JDK internal API - S8050877: Improve code for pairwise argument conversions and value boxing/unboxing - S8050884: Intrinsify ValueConversions.identity() functions - S8050887: Intrinsify constants for default values - S8050893: (smartcardio) Invert reset argument in tests in sun/security/smartcardio - S8050942: PPC64: implement template interpreter for ppc64le - S8050972: Concurrency problem in PcDesc cache - S8050973: CMS/G1 GC: add missing Resource and Handle mark - S8050978: Fix bad field access check in C1 and C2 - S8050983: Misplaced parentheses in sun.net.www.http.HttpClient break HTTP PUT streaming - S8051002: Incorrectly merged share/vm/classfile/classFileParser.cpp was pushed to 8u20. - S8051004: javac, incorrect bug id in tests for JDK-8050386 - S8051005: Third Party License Readme update for 8u20 - S8051012: Regression in verifier for method call from inside of a branch - S8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on - S8051359: JPopupMenu creation in headless mode with JDK9b23 causes NPE - S8051378: AIX: Change "8030763: Validate global memory allocation" breaks the HotSpot build - S8051402: javac, type containment should accept that CAP <= ? extends CAP and CAP <= ? super CAP - S8051467: javac, additional test case for JDK-8051402 - S8051588: DataTransferer.getInstance throws ClassCastException in headless mode - S8051614: smartcardio TCK tests fail due to lack of 'reset' permission - S8051838: [Findbugs] sun.awt.image.MultiResolutionCachedImage expose internal representation - S8051857: OperationTimedOut exception inside from XToolkit.syncNativeQueue call - S8051883: TEST.groups references missing test: gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java - S8051908: new hotspot build - hs25.20-b23 - S8051910: new hotspot build - hs25.40-b03 - S8051958: Cannot assign a value to final variable in lambda - S8051973: Eager reclaim leaves marks of marked but reclaimed objects on the next bitmap - S8052081: Optimize generated by C2 code for Intel's Atom processor - S8052162: REGRESSION: sun/java2d/cmm/ColorConvertOp tests fail since 7u71 b01 - S8052170: G1 asserts at collection exit with -XX:-G1DeferredRSUpdate - S8052172: Evacuation failure handling in G1 does not evacuate all objects if -XX:-G1DeferredRSUpdate is set - S8052313: Backport CDS tests from JDK-9 to jdk8_u40 - S8052403: java/util/logging/CheckZombieLockTest.java fails with NoSuchFileException - S8052406: SSLv2Hello protocol may be filter out unexpectedly - S8053938: Collections.checkedList(empty list).replaceAll((UnaryOperator)null) doesn't throw NPE after JDK-8047795 - S8053963: (dc) Use DatagramChannel.receive() instead of read() in connect() - S8054008: Using -XX:-LazyBootClassLoader crashes with ACCESS_VIOLATION on Win 64bit. - S8054009: Support SKIP_BOOT_CYCLE=false when invoked from JPRT - S8054029: (fc) FileChannel.size() returns 0 for block devices on Linux - S8054054: 8040121 is broken - S8054159: new hotspot build - hs25.40-b04 - S8054210: NullPointerException when compiling specific code. - S8054224: Recursive method that was compiled by C1 is unable to catch StackOverflowError - S8054292: code comments leak in fastdebug builds - S8054341: Remove some obsolete code in G1CollectedHeap class - S8054362: gc/g1/TestEagerReclaimHumongousRegions2.java timeout - S8054368: nsk/jdi/VirtualMachine/exit/exit002 crash with detail tracking on (NMT2) - S8054372: Cleanup of com.sun.media.sound packages - S8054376: Move RTM flags from Experimental to Product - S8054402: "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes - S8054431: Some of the input validation in the javasound is too strict - S8054448: (ann) Cannot reference field of inner class in an anonymous class - S8054478: C2: Incorrectly compiled char[] array access crashes JVM - S8054480: Test java/util/logging/TestLoggerBundleSync.java fails: Unexpected bundle name: null - S8054530: C2: assert(res == old_res) failed: Inconsistency between old and new - S8054546: NMT2 leaks memory - S8054547: Re-enable warning for incompatible java launcher - S8054550: new hotspot build - hs25.40-b05 - S8054638: xrender: text drawn after setColor(Color.white) is actually black - S8054711: [TESTBUG] Enable NMT2 tests after NMT2 is integrated - S8054800: JNI exception pending in jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp - S8054801: Memory leak in jdk/src/windows/native/sun/windows/awt_InputMethod.cpp - S8054804: 8u25 l10n resource file translation update - S8054805: Update CLI tests on RTM options to reflect changes in JDK-8054376 - S8054808: Bitmap verification sometimes fails after Full GC aborts concurrent mark. - S8054817: File ccache only recognizes Linux and Solaris defaults - S8054818: Refactor HeapRegionSeq to manage heap region and auxiliary data - S8054819: Rename HeapRegionSeq to HeapRegionManager - S8054836: [TESTBUG] Test is needed to verify correctness of malloc tracking - S8054841: (process) ProcessBuilder leaks native memory - S8054883: Segmentation error while running program - S8054927: Missing MemNode::acquire ordering in some volatile Load nodes - S8054938: [TESTBUG] Wrong WhiteBox.java was pushed by JDK-8044140 - S8054952: [TESTBUG] Add missing NMT2 tests - S8054970: gc src file exclusion should exclude alternative sources - S8054987: (reflect) Add sharing of annotations between instances of Executable - S8055006: Store original value of Min/MaxHeapFreeRatio - S8055007: NMT2: emptyStack missing in minimal build - S8055012: [TESTBUG] NMTHelper fails to parse NMT output - S8055051: runtime/NMT/CommandLineEmptyArgument.java fails - S8055052: [TESTBUG] runtime/NMT/JcmdDetailDiff.java fails on Windows when there are no debug symbols available - S8055053: [TESTBUG] runtime/NMT/VirtualAllocCommitUncommitRecommit.java fails - S8055061: assert at share/vm/services/virtualMemoryTracker.cpp:332 Error: ShouldNotReachHere() when running NMT tests - S8055063: Parameter#toString() fails w/ AIOOBE for ctr of inner class w/ generic type - S8055069: TSX and RTM should be deprecated more strongly until hardware is corrected - S8055098: WB API should be extended to provide information about size and age of object. - S8055155: new hotspot build - hs25.40-b06 - S8055217: Make jdk8u40 the default jprt release for hs25.40 - S8055222: Currency update needed for ISO 4217 Amendment #159 - S8055236: Deadlock during NMT2 shutdown on Windows - S8055243: Make jdk8u40 the default release - S8055275: Several gc/class_unloading/ tests fail due to missed +UnlockDiagnosticVMOptions flag - S8055286: Extend CompileCommand=option to handle numeric parameters - S8055289: Internal Error: mallocTracker.cpp:146 fatal error: Should not use malloc for big memory block, use virtual memory instead - S8055393: [Testbug] Some tests are being executed and fail under profiles - S8055421: (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c - S8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method - S8055514: Wrong, confusing error when non-static varargs referenced in static context - S8055525: Bigapp weblogic+medrec fails to startup after JDK-8038423 - S8055635: Missing include in g1RegionToSpaceMapper.hpp results in unresolved symbol of fastdebug build without precompiled headers - S8055657: Test compiler/classUnloading/methodUnloading/TestMethodUnloading.java does not work with non-default GC - S8055662: Update mapfile for libjfr - S8055677: java/lang/instrument/RedefineBigClass.sh RetransformBigClass.sh start failing after JDK-8055012 - S8055684: runtime/NMT/CommandLineEmptyArgument.java fails - S8055717: Increment hsx 25.25 build to b02 for 8u25-b11 - S8055731: sun/security/smartcardio/TestDirect.java throws java.lang.IndexOutOfBoundsException - S8055744: 8u-dev nightly solaris builds failed on 08/20 - S8055765: Misplaced @key stress prevents MallocSiteHashOverflow.java and MallocStressTest.java tests from running - S8055785: Modifications of I/O methods for instrumentation purposes - S8055786: new hotspot build - hs25.40-b07 - S8055798: Japanese translation for a warning from javac looks incorrect. - S8055816: Remove dead code in g1BlockOffsetTable - S8055903: Develop sanity tests on SPARC's SHA instructions support - S8055904: Develop tests for new command-line options related to SHA intrinsics - S8055919: Remove dead code in G1 concurrent marking code - S8055946: assert(result == NULL || result->is_oop()) failed: must be oop - S8055949: ByteArrayOutputStream capacity should be maximal array size permitted by VM - S8055952: new hotspot build - hs25.40-b08 - S8055953: [TESTBUG] Fix for 8055098 does not contain unit test - S8056014: Type inference may be skipped for a complex receiver generic method in a parameter position - S8056026: Debug security logging should print Provider used for each crypto operation - S8056043: Heap does not shrink within the heap after JDK-8038423 - S8056049: getProcessCpuLoad() stops working in one process when a different process exits - S8056051: int[]::clone causes "java.lang.NoClassDefFoundError: Array" - S8056056: Remove unnecessary inclusion of HS_ALT_MAKE from solaris Makefile - S8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations' - S8056072: add jprt_optimized targets - S8056084: Refactor Hashtable to allow implementations without rehashing support - S8056091: Move compiler/intrinsics/mathexact/sanity/Verifier to compiler/testlibrary and extend its functionality - S8056121: set the default release to 8u25 in the source tree for JPRT - S8056122: Upgrade JDK to use LittleCMS 2.6 - S8056124: Hotspot should use PICL interface to get cacheline size on SPARC - S8056154: JVM crash with EXCEPTION_ACCESS_VIOLATION when there are many threads running - S8056175: Change "8048150: Allow easy configurations for large CDS archives" triggers conversion warning with older GCC - S8056183: os::is_MP() always reports true when NMT is enabled - S8056211: api/java_awt/Event/InputMethodEvent/serial/index.html#Input[serial2002] failure - S8056223: typo in export_optimized_jdk - S8056237: [TESTBUG] gc/g1/TestHumongousShrinkHeap.java fails due to OOM - S8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse - S8056248: Improve ForkJoin thread throttling - S8056249: Improve CompletableFuture resource usage - S8056256: [TESTBUG] Disable NMTWithCDS.java test as launcher change has yet promoted - S8056263: [TESTBUG] Re-enable NMTWithCDS.java test - S8056299: new hotspot build - hs25.40-b09 - S8056914: Right Click Menu for Paste not showing after upgrading to java 7 - S8056926: Improve caching of GuardWithTest combinator - S8056964: JDK-8055286 changes are incomplete. - S8056971: Minor class loading clean-up - S8056984: Exception in compiler: java.lang.AssertionError: isSubClass T - S8056987: 8u-dev nightly windows builds failed from 8/29 - S8057020: LambdaForm caches should support eviction - S8057042: LambdaFormEditor: derive new LFs from a base LF - S8057043: Type annotations not retained during class redefine / retransform - S8057129: Fix AIX build after the Extend CompileCommand=option change 8055286 - S8057143: Incomplete renaming of variables containing "hrs" to "hrm" related to HeapRegionSeq - S8057165: [TESTBUG] Need a test to cover JDK-8054883 - S8057184: JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris - S8057531: refactor gc argument processing code slightly - S8057535: add a thread extension class - S8057536: Refactor G1 to allow context specific allocations - S8057564: JVM hangs at getAgentProperties after attaching to VM with lower - S8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc) - S8057623: add an extension class for argument handling - S8057629: Third Party License Readme update for 8u40 - S8057643: Unable to build --with-debug-level=optimized on OSX - S8057649: new hotspot build - hs25.40-b10 - S8057654: Extract checks performed during MethodHandle construction into separate methods - S8057656: Improve MethodType.isCastableTo() & MethodType.isConvertibleTo() checks - S8057657: Annotate LambdaForm parameters with types - S8057658: Enable G1 FullGC extensions - S8057707: TEST library enhancement in lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java - S8057710: Refactor G1 heap region default sizes - S8057719: Develop new tests for LambdaForm Reduction and Caching feature - S8057722: G1: Code root hashtable updated incorrectly when evacuation failed - S8057747: Several test failing after update to tzdata2014g - S8057750: CTW should not make MH intrinsics not entrant - S8057751: CompileNativeLibraries for custom build - S8057752: WhiteBox extension support for testing - S8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair - S8057768: Make heap region region type in G1 HeapRegion explicit - S8057770: api/javax_swing/JScrollPane/indexTGF.html#UpdateUI failed with MotifLookAndFeel on all platform - S8057788: [macosx] "Pinch to zoom" does not work since jdk7 - S8057793: BigDecimal is no longer effectively immutable - S8057794: Compiler Error when obtaining .class property - S8057799: Unnecessary NULL check in G1KeepAliveClosure - S8057800: Method reference with generic type creates NPE when compiling - S8057813: Alterations to jdk_security3 test target - S8057818: collect allocation context statistics at gc pauses - S8057824: methods to copy allocation context statistics - S8057827: notify an obj when allocation context stats are available - S8057830: Crash in Java2D Queue Flusher, OGLSD_SetScratchSurface - S8057893: JComboBox actionListener never receives "comboBoxEdited" from getActionCommand - S8057922: Improve LambdaForm sharing by using LambdaFormEditor more extensively - S8057934: Upgrade to LittleCMS 2.6 breaks AIX build - S8057936: java.net.URLClassLoader.findClass uses exceptions in control flow - S8057959: Retag 8u25-b16 to include more fixes - S8058092: Test vm/mlvm/meth/stress/compiler/deoptimize. Assert in src/share/vm/classfile/systemDictionary.cpp: MH intrinsic invariant - S8058112: Invalid BootstrapMethod for constructor/method reference - S8058120: Rendering / caret errors with HTMLDocument - S8058136: Test api/java_awt/SplashScreen/index.html\#ClosedSplashScreenTests fails because of java.lang.IllegalStateException was not thrown - S8058148: MaxNodeLimit and LiveNodeCountInliningCutoff - S8058184: Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters - S8058193: [macosx] Potential incomplete fix for JDK-8031485 - S8058197: AWT fails on generic non-reparenting window managers - S8058209: Race in G1 card scanning could allow scanning of memory covered by PLABs - S8058216: NetworkInterface.getHardwareAddress can return zero length byte array when run with preferIPv4Stack - S8058235: identify GCs initiated to update allocation context stats - S8058251: assert(_count > 0) failed: Negative counter when running runtime/NMT/MallocTrackingVerify.java - S8058275: new hotspot build - hs25.40-b11 - S8058291: Missing some checks during parameter validation - S8058293: Bit set computation in MHs.findFirstDupOrDrop/findFirstDrop is broken - S8058448: Disable JPRT submissions from the hotspot repo - S8058473: "Comparison method violates its general contract" when using Clipboard - S8058475: TestCMSClassUnloadingEnabledHWM.java fails with '.*CMS Initial Mark.*' missing from stdout/stderr - S8058481: Test gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java was removed, but TEST.groups still refers to it - S8058487: JRE installer fails if older jre is on the system with MSI 1603 error. System error 183 - S8058505: BigIntegerTest does not exercise Burnikel-Ziegler division - S8058511: StackOverflowError at com.sun.tools.javac.code.Types.lub - S8058536: java/lang/instrument/NativeMethodPrefixAgent.java fails due to VirtualMachineError: out of space in CodeCache for method handle intrinsic - S8058564: Tiered compilation performance drop in PIT - S8058568: GC cleanup phase can cause G1 skipping a System.gc() - S8058573: Resolve autoconf and other merge issue from 8u25 and 8u40 - S8058584: Ignore java/lang/invoke/LFCaching/LFGarbageCollectedTest until 8057020 is fixed - S8058606: [TESTBUG] Detailed Native Memory Tracking (NMT) data is not verified as output at VM exit - S8058626: Missing part of 8057656 in 8u40 compared to 9 - S8058632: Revert JDK-8054984 from 8u40 - S8058653: [TEST_BUG] Test java/awt/Graphics2D/DrawString/DrawStringCrash.java fails with OutOfMemoryError - S8058657: Add @jdk.Exported to com.sun.jarsigner APIs - S8058661: Compiled LambdaForms should inherit from Object to improve class loading performance - S8058664: Bad fonts in BigIntegerTest - S8058679: More bad characters in BigIntegerTest - S8058695: [TESTBUG] Reinvokers with arity >253 can't be cached - S8058708: java.lang.AssertionError compiling source code - S8058715: stability issues when being launched as an embedded JVM via JNI - S8058728: TEST_BUG: Make java/lang/invoke/LFCaching/LFGarbageCollectedTest.java skip arrayElementSetter and arrayElementGetter methods - S8058733: [TESTBUG] java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java and LFMultiThreadCachingTest.java failed on some platforms due to java.lang.VirtualMachineError - S8058739: The test case failed as "ERROR in native method: ReleasePrimitiveArrayCritical: failed bounds check" - S8058744: Crash in C1 OSRed method w/ Unsafe usage - S8058798: new hotspot build - hs25.40-b12 - S8058818: Allocation of more then 1G of memory using Unsafe.allocateMemory is still causing a fatal error on 32bit platforms - S8058825: EA: ConnectionGraph::split_unique_types does incorrect scalar replacement - S8058828: Wrong ciConstant type for arrays from ConstantPool::_resolved_reference - S8058847: C2: EliminateAutoBox regression after 8042786 - S8058858: JRE 8u20 crashes while using Japanese IM on Windows - S8058870: Mac: JFXPanel deadlocks in jnlp mode - S8058892: FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl - S8058919: Add sanity test for minimal VM in test/Makefile - S8058927: ATG throws ClassNotFoundException - S8058932: java/net/InetAddress/IPv4Formats.java failed because hello.foo.bar does exist - S8058936: hotspot/test/Makefile should use jtreg script from $JT_HOME/bin/jreg (instead of $JT_HOME/win32/bin/jtreg) - S8059002: 8058744 needs a test case - S8059070: [TESTBUG] java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java failed - timeout - S8059100: SIGSEGV VirtualMemoryTracker::remove_released_region - S8059131: sawindbg.dll is not compiled with /SAFESEH - S8059136: Reverse removal of applet demos [backout 8015376] - S8059139: It should be possible to explicitly disable usage of TZCNT instr w/ -XX:-UseBMI1Instructions - S8059177: jdk8u40 l10n resource file translation update 1 - S8059200: Promoted JDK9 b31 for Solaris-amd64 fails (Error: dl failure on line 744, no picl library) on Solaris 11.1 - S8059204: new hotspot build - hs25.40-b13 - S8059206: (tz) Support tzdata2014i - S8059216: Make PrintGCApplicationStoppedTime print information about stopping threads - S8059226: Names of rtm_state_change and unstable_if deoptimization reasons were swapped in 8u40 - S8059269: FileHandler may throw NPE if pattern is a simple name and the lock file already exists - S8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr - S8059311: com/sun/jndi/ldap/LdapTimeoutTest.java fails with exit_code == 0 - S8059327: XML parser returns corrupt attribute value - S8059445: Remove CompilationRepeat - S8059452: G1: Change the default values for G1HeapWastePercent and G1MixedGCLiveThresholdPercent - S8059462: Typo in keytool resource file - S8059466: Force young GC to initiate marking cycle when stat update is requested - S8059556: C2: crash while inlining MethodHandle invocation w/ null receiver - S8059590: ArrayIndexOutOfBoundsException occurs when Container with overridden getComponents() is deserialized - S8059592: Recent bugfixes in ppc64 port. - S8059618: new hotspot build - hs25.40-b14 - S8059621: JVM crashes with "unexpected index type" assert in LIRGenerator::do_UnsafeGetRaw - S8059655: new hotspot build - hs25.40-b15 - S8059710: javac, the same approach used in fix for JDK-8058708 should be applied to Code.closeAliveRanges - S8059739: Dragged and Dropped data is corrupted for two data types - S8059758: Footprint regressions with JDK-8038423 - S8059780: SPECjvm2008-MPEG performance regressions on x64 platforms - S8059803: Update use of GetVersionEx to get correct Windows version in hs_err files - S8059877: GWT branch frequencies pollution due to LF sharing - S8059880: Get rid of LambdaForm interpretation - S8059921: Missing compile error in Java 8 mode for Interface.super.field access - S8059941: [D3D] The fix for JDK-8029253 should be ported to d3d pipeline - S8059942: Default implementation of DrawImage.renderImageXform() should be improved for d3d/ogl - S8059943: [macosx] Aqua LaF should use BI.TYPE_INT_ARGB_PRE for a better performance - S8059944: [OGL] Metrics for a method choice copying of texture should be improved - S8059948: Rename the test group from jdk_rt to jdk_rm - S8059998: Broken link in java.awt.event Interface KeyListener - S8060006: No Russian time zones mapping for Windows - S8060116: After JDK-8047976 gc/g1/TestSummarizeRSetStatsThreads fails - S8060147: SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv - S8060151: Check-in changes for 8u40 nroff Open JDK - S8060169: Update the Crash Reporting URL in the Java crash log - S8060454: [TESTBUG] Whitebox tests fail with -XX:CompileThreshold=100 - S8060467: CMS: small OldPLABSize and -XX:-ResizePLAB cause assert(ResizePLAB || n_blks == OldPLABSize) failed: Error - S8060483: NPE with explicitCastArguments unboxing null - S8060485: (str) contentEquals checks the String contents twice on mismatch - S8061234: ResourceContext.requestAccurateUpdate() is unreliable - S8061275: new hotspot build - hs25.40-b16 - S8061392: PrinterJob NPE when drawing translucent image with null user clip - S8061456: [OGL] Incorrect clip is used during sw->surface blit in xor mode - S8061486: [TESTBUG] compiler/whitebox/ tests fail : must be osr_compiled (reappeared in nightlies) - S8061651: Interface to the Lookup Index Cache to improve URLClassPath search time - S8061817: Whitebox.deoptimizeMethod() does not deoptimize all OSR versions of method - S8061830: [asm] refresh internal ASM version v5.0.3 - S8061861: new hotspot build - hs25.40-b17 - S8061960: java/lang/instrument/DaemonThread/TestDaemonThread.java regularly fails due to exceeded timeout - S8061969: [TESTBUG] MallocSiteHashOverflow.java should be enabled for 32-bit platforms - S8061983: [TESTBUG] compiler/whitebox/MakeMethodNotCompilableTest.java fails with "must not be in queue" - S8062021: NPE in sun/lwawt/macosx/CPlatformWindow::toFront after JDK-8060146 - S8062036: ConcurrentMarkThread::slt may be invoked before ConcurrentMarkThread::makeSurrogateLockerThread causing intermittent crashes - S8062164: Incorrect color conversion, when bicubic interpolation is used - S8062169: Multiple OSR compilations issued for same bci - S8062233: add java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java to problem list - S8062247: [TESTBUG] Allow WhiteBox test to access JVM offsets - S8062359: javac Attr crashes with NPE in TypeAnnotationsValidator visitNewClass - S8062475: Enable hook for custom doc generation - S8062501: Modifications of server socket channel accept() methods for instrumentation purposes - S8062589: new hotspot build - hs25.40-b18 - S8062608: BCEL corrupts debug data of methods that use generics - S8062635: Enable custom CompileJavaClasses.gmk - S8062742: compiler/EliminateAutoBox/UnsignedLoads.java fails with client vm - S8062744: jdk.net.Sockets.setOption/getOption does not support IP_TOS - S8062747: Compiler error when anonymous class uses method with parametrized exception - S8062771: Core reflection should use final fields whenever possible - S8062870: src/share/vm/services/mallocTracker.hpp:64 assert(_count > 0) failed: Negative counter - S8062950: Bug in locking code when UseOptoBiasInlining is disabled: assert(dmw->is_neutral()) failed: invariant - S8062957: Heap is not shrunk when deallocating under memory pressure - S8063052: Inference chokes on wildcard derived from method reference - S8063135: Enable full LF sharing by default - S8063700: -Xcheck:jni changes cause many JCK failures in api/javax_crypto tests in SunPKCS11 - S8064288: sun.management.Flag should loadLibrary() - S8064361: new hotspot build - hs25.40-b19 - S8064375: Change certain errors to warnings in CDS output. - S8064391: More thread safety problems in core reflection - S8064468: ownedWindowList access requires synchronization in Window.setAlwaysOnTop() method - S8064516: BCEL still corrupts generic methods if bytecode offsets are modified - S8064556: G1: ParallelGCThreads=0 may cause assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty - S8064560: (tz) Support tzdata2014j - S8064667: Add -XX:+CheckEndorsedAndExtDirs flag to JDK 8 - S8064701: Some CDS optimizations should be disabled if bootclasspath is modified by JVMTI - S8064716: TestHumongousShrinkHeap.java can not be run with -XX:+ExplicitGCInvokesConcurrent - S8064854: new hotspot build - hs25.40-b20 - S8065072: sun/net/www/http/HttpClient/StreamingRetry.java failed intermittently - S8065098: JColorChooser no longer supports drag and drop between two JVM instances - S8065132: Parameter annotations not updated when synthetic parameters are prepended - S8065157: jdk8u40 Japanese man page file translation update - S8065183: Add --with-copyright-year option to configure - S8065227: Report allocation context stats at end of cleanup - S8065238: javax.naming.NamingException after upgrade to JDK 8 - S8065305: Make it possible to extend the G1CollectorPolicy - S8065346: WB_AddToBootstrapClassLoaderSearch calls JvmtiEnv::create_a_jvmti when not in _thread_in_vm state - S8065361: Fixup headers and definitions for INCLUDE_TRACE - S8065385: new hotspot build - hs25.40-b21 - S8065397: Remove ExtendedPlatformComponent.java from EXFILES list - S8065552: setAccessible(true) on fields of Class may throw a SecurityException - S8065618: C2 RA incorrectly removes kill projections - S8065627: Animated GIFs fail to display on a HiDPI display - S8065634: Crash in InstanceKlass::clean_method_data when _method is NULL - S8065702: Deprecate the Extension Mechanism - S8065764: javax/management/monitor/CounterMonitorTest.java hangs - S8065765: Missing space in output message from -XX:+CheckEndorsedAndExtDirs - S8065991: LogManager unecessarily calls JavaAWTAccess from within a critical section - S8066045: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066061: new hotspot build - hs25.40-b22 - S8066103: C2's range check smearing allows out of bound array accesses - S8066142: Edit the value in the text field and then press the tab key, the number don't increase - S8066143: [TESTBUG] New tests in gc/survivorAlignment/ fails - S8066146: jdk.nashorn.api.scripting package javadoc should be included in jdk docs - S8066199: C2 escape analysis prevents VM from exiting quickly - S8066397: Remove network-related seed initialization code in ThreadLocal/SplittableRandom - S8066647: new hotspot build - hs25.40-b23 - S8066649: 8u backport for 8065618 is incorrect - S8066670: PrintSharedArchiveAndExit does not exit the VM when the archive is invalid - S8066746: MHs.explicitCastArguments does incorrect type checks for VarargsCollector - S8066756: Test test/sun/awt/dnd/8024061/bug8024061.java fails - S8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066900: Array Out Of Bounds Exception causes variable corruption - S8066964: ppc64: argument and return type profiling, fix problem with popframe - S8066986: [headless] DataTransferer.getInstance throws ClassCastException in headless mode - S8067039: Revert changes to annotation attribute generation - S8067144: SIGSEGV with +TraceDeoptimization in Deoptimization::print_objects - S8067232: [TESTBUG] runtime/CheckEndorsedAndExtDirs/EndorsedExtDirs.java fails with ClassNotFoundException - S8068548: jdeps needs a different mechanism to recognize javax.jnlp as supported API - S8068631: new hotspot build - hs25.40-b24 - S8068650: $jdk/api/javac/tree contains docs for nashorn 2015-03-02 Andrew John Hughes * Makefile.am: (JDK_UPDATE_VERSION): Bump to 40. (BUILD_VERSION): Set to b21. (CORBA_CHANGESET): Update to icedtea-3.0.0pre03 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (NASHORN_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (NASHORN_SHA256SUM): Likewise. * NEWS: Updated. * configure.ac: Bump to 3.0.0pre03. * hotspot.map: Update to icedtea-3.0.0pre03 tag. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 00:20:30 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 00:20:30 +0000 Subject: [Bug 2199] [IcedTea8] Support giflib 5.1.0 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2199 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=d84be26576af author: Andrew John Hughes date: Mon Mar 02 14:56:30 2015 +0000 Bump to icedtea-3.0.0pre03. Upstream changes: - PR2199: Support giflib 5.1.0 - PR2212: DGifCloseFile call should check the return value, not the error code, for failure - PR2227: giflib 5.1 conditional excludes 6.0, 7.0, etc. - S4991647: PNGMetadata.getAsTree() sets bitDepth to invalid value - S6302052: Reference to nonexistant Class in javadoc - S6311046: -Xcheck:jni should support checking of GetPrimitiveArrayCritical. - S6521706: A switch operator in JFrame.processWindowEvent() should be rewritten - S6545422: [TESTBUG] NativeErrors.java uses wrong path name in exec - S6624085: Fourth mouse button (wheel) is treated like second button - isPopupTrigger returns true - S6642881: Improve performance of Class.getClassLoader() - S6853696: (ref) ReferenceQueue.remove(timeout) may return null even if timeout has not expired - S6883953: java -client -XX:ValueMapInitialSize=0 crashes - S6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94 - S6904367: (coll) IdentityHashMap is resized before exceeding the expected maximum size - S7010989: Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets - S7011804: SequenceInputStream with lots of empty substreams can cause StackOverflowError - S7033533: realSync() doesn't work with Xfce - S7058697: Unexpected exceptions in MID parser code - S7058700: Unexpected exceptions and timeouts in SF2 parser code - S7067052: Default printer media is ignored - S7095856: OutputStreamHook doesn't handle null values - S7107611: sun.security.pkcs11.SessionManager is scalability blocker - S7132678: G1: verify that the marking bitmaps have no marks for objects over TAMS - S7148531: [macosx] In test, the window does not have time to resize before make a screenshot - S7150092: NTLM authentication fail if user specified a different realm - S7169583: JInternalFrame title not antialiased in Nimbus LaF - S7170310: ScrollBar doesn't become active when tabs are created more than frame size - S8000975: (process) Merge UNIXProcess.java.bsd & UNIXProcess.java.linux (& .solaris & .aix) - S8003900: X11 dependencies should be removed from Mac OS X build. - S8007993: hotspot.log w/ enabled LogCompilation can be an invalid XML - S8010767: Build fails on OEL6 with 16 cores - S8011537: (fs) Path.register(..) clears interrupt status of thread with no InterruptedException - S8015256: Better class accessibility - S8015376: Remove jnlp and applet files from the JDK samples - S8019342: G1: High "Other" time most likely due to card redirtying - S8023461: Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock - S8024366: Make UseNUMA enable UseNUMAInterleaving - S8024626: CTW CRASH: SIGSEGV in ctw/jre/lib/rt_jar/preloading_1 and ctw/jre/lib/rt_jar/sun_awt_X11_ListHelper - S8025842: Convert warning("Thread holding lock at safepoint that vm can block on") to fatal(...) - S8025917: JDK demo applets not running with >=7u40 or (JDK 8 and JDK 9) - S8026303: CMS: JVM intermittently crashes with "FreeList of size 258 violates Conservation Principle" assert - S8026385: [macosx] (awt) setjmp/longjmp changes the process signal mask on OS X - S8026497: Font2DTest demo: unused resource files - S8026784: Error message in AdaptiveFreeList::verify_stats is wrong - S8026796: Make replace_in_map() on parent maps generic - S8026847: [TESTBUG] gc/g1/TestSummarizeRSetStats* tests launch 32bit jvm with UseCompressedOops - S8027144: Review restriction of JAX-WS java packages going to JDK8 - S8027148: SystemFlavorMap.getNativesForFlavor returns list of native formats in incorrect order - S8027553: Change the in_cset_fast_test functionality to use the G1BiasedArray abstraction - S8027959: Early reclamation of large objects in G1 - S8028037: [parfait] warnings from b114 for hotspot.src.share.vm - S8028407: adjust-mflags.sh failed build with GNU Make 4.0 with -I - S8028430: JDI: ReferenceType.visibleMethods() return wrong visible methods - S8028474: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh timeout, leaves looping process - S8028539: Endless loop in native code of sun.java2d.loops.ScaledBlit - S8028710: G1 does not retire allocation buffers after reference processing work - S8028727: [parfait] warnings from b116 for jdk.src.share.native.sun.security.ec: JNI pending exceptions - S8028780: JDK KRB5 module throws OutOfMemoryError when CCache is corrupt - S8029012: parameter_index for type annotation not updated after outer.this added - S8029070: memory leak in jmm_SetVMGlobal - S8029253: [macosx] Performance problems with Retina display on Mac OS X - S8029443: 'assert(klass->is_loader_alive(_is_alive)) failed: must be alive' during VM_CollectForMetadataAllocation - S8029452: Fork/Join task ForEachOps.ForEachOrderedTask clarifications and minor improvements - S8029524: Remove unsused method CollectedHeap::unsafe_max_alloc() - S8029536: JFileChooser filter uses .toString() instead of getDescription() for filter text on GTK laf - S8029548: (jdeps) use @jdk.Exported to determine supported vs JDK internal API - S8029607: Type of Service (TOS) cannot be set in IPv6 header - S8029797: Let jprt run configure when building - S8029837: NPE seen in XMLDocumentFragmentScannerImpl.setProperty since 7u40b33 - S8030079: Lint warnings in java.lang.invoke - S8030166: java/lang/ProcessBuilder/Basic.java fails intermittently: waitFor took too long - S8030681: add "serve" command and --quiet and --verbose options to hgforest - S8030976: Untaken paths should be more vigorously pruned at highest optimization level - S8031003: [Parfait] warnings from jdk/src/share/native/sun/security/jgss/wrapper: JNI exception pending - S8031092: jdeps does not recognize --help option. - S8031323: Optionally align objects copied to survivor spaces - S8031373: Lint warnings in java.util.stream - S8031376: TraceClassLoading expects there to be a (Java) caller when you load a class with the bootstrap class loader - S8031435: Ftp download does not work properly for ftp user without password - S8031696: [macosx] TwentyThousandTest test failed with OOM - S8031709: Configure --with-jvm-variants=client, server, x produces default outputdir containing comma - S8031721: Remove non-existent test from TEST.groups - S8031994: java/lang/Character/CheckProp test times out - S8032247: SA: Constantpool lookup for invokedynamic is not implemented - S8032379: Remove the is_scavenging flag to process_strong_roots - S8032573: CertificateFactory.getInstance("X.509").generateCertificates(InputStream) does not throw CertificateException for invalid input - S8032650: [parfait] warning from b124 for jdk/src/share/native/java/util: jni exception pending - S8032864: [macosx] sigsegv (0Xb) Being Generated When Starting JDev With Voiceover Running - S8032908: getTextContent doesn't return string in JAXP - S8033141: Cleanup of sun.awt.X11 package - S8033370: [parfait] warning from b126 for solaris/native/sun/util/locale/provider: JNI exception pending - S8033421: @SuppressWarnings("deprecation") does not work when overriding deprecated method - S8033483: Should ignore nested lambda bodies during overload resolution - S8033602: wrong stabs data in libjvm.debuginfo on JDK 8 - SPARC - S8033699: Incorrect radio button behavior - S8033764: Remove the usage of StarTask from BufferingOopClosure - S8033785: TimeZoneNamesTest should be removed - S8033893: jdk build is broken due to the changeset of JDK-8033370 - S8033923: Use BufferingOopClosure for G1 code root scanning - S8034005: cannot debug in synchronizer.o or objectMonitor.o on Solaris X86 - S8034031: [parfait] JNI exception pending in jdk/src/macosx/native/apple/security/KeystoreImpl.m - S8034032: Check src/macosx/native/java/util/prefs/MacOSXPreferencesFile.m for JNI pending issues - S8034033: [parfait] JNI exception pending in share/native/sun/security/krb5/nativeccache.c - S8034056: assert(_heap_alignment >= _space_alignment) failed: heap_alignment less than space_alignment - S8034085: Do not prefer indexed properties - S8034164: Introspector ignores indexed part of the property sometimes - S8034218: Improve fontconfig.properties for AIX platform - S8034761: Remove the do_code_roots parameter from process_strong_roots - S8034764: Use process_strong_roots to adjust the StringTable - S8034775: Failing to initialize VM when running with negative value for -XX:CICompilerCount - S8034935: JSR 292 support for PopFrame has a fragile coupling with DirectMethodHandle - S8035162: Service printing service - S8035165: Expose internal representation in sun.awt.X11 - S8035328: closed/compiler/6595044/Main.java failed with timeout - S8035393: Use CLDClosure instead of CLDToOopClosure in frame::oops_interpreted_do - S8035400: Move G1ParScanThreadState into its own files - S8035401: Fix visibility of G1ParScanThreadState members - S8035412: Cleanup ClassLoaderData::is_alive - S8035605: Expand functionality of PredictedIntrinsicGenerator - S8035648: Don't use Handle in java_lang_String::print - S8035650: Exclude AIX from VS.NET make/windows/projectcreator.make - S8035746: Add missing Klass::oop_is_instanceClassLoader() function - S8035759: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/krb5/NativeCreds.c - S8035781: Improve equality for annotations - S8035826: [parfait] JNI exception pending in src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c - S8035829: [parfait] JNI exception pending in jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c - S8035893: JVM_GetVersionInfo fails to zero structure - S8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC - S8035974: Refactor DigestBase.engineUpdate() method for better code generation by JIT compiler - S8036007: javac crashes when encountering an unresolvable interface - S8036091: compiler/membars/DekkerTest.java fails with -XX:CICompilerCount=1 - S8036156: Limit default method hierarchy - S8036533: Method for correct defaults - S8036588: VerifyFieldClosure fails instanceKlass:3133 - S8036612: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/mscapi/security.cpp - S8036613: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c - S8036614: AIX: fix adjust-mflags.sh to build with GNU Make 4.0 (adapt 8028407 for AIX) - S8036616: [TESTBUG] Embedded: sun/jvmstat/monitor/MonitoredVm/CR6672135.java should be launched with -XX:+UsePerfData - S8036805: Correct linker method lookup. - S8036861: Application can't be loaded fine,the save dialog can't show up. - S8036936: Use local locales - S8036953: Fix timing of varargs access check, per JDK-8016205 - S8036981: JAXB not preserving formatting for xsd:any Mixed content - S8037066: Secure transport layer - S8037209: Improvements and cleanups to bytecode assembly for lambda forms - S8037210: Get rid of char-based descriptions 'J' of basic types - S8037326: VerifyAccess.isMemberAccessible() has incorrect access check - S8037344: Use the "next" field to iterate over fine remembered instead of using the hash table - S8037404: javac NPE or VerifyError for code with constructor reference of inner class - S8037745: Consider re-enabling PKCS11 mechanisms previously disabled due to Solaris bug 7050617 - S8037746: Bundling Derby 10.11 with 8u40 - S8037846: Ensure streaming of input cipher streams - S8037925: CMM Testing: an allocated humongous object at the end of the heap should not prevents shrinking the heap - S8037948: Improve documentation for org.w3c.dom package - S8037958: ConcurrentMark::cleanup leaks BitMaps if VerifyDuringGC is enabled - S8037968: Add tests on alignment of objects copied to survivor space - S8038027: DTDBuilder should be run in headless mode - S8038261: JSR292: cache and reuse typed array accessors - S8038265: CMS: enable time based triggering of concurrent cycles - S8038268: VM Crashes in MetaspaceShared::generate_vtable_methods while creating CDS archive with limiting SharedMiscCodeSize - S8038333: TEST_BUG: java/lang/ref/EarlyTimeout.java fails with a non-adequate message - S8038364: Use certificate exceptions correctly - S8038393: [TESTBUG] ciReplay/* tests fail after 8034775 - S8038399: Remove dead oop_iterate MemRegion variants from SharedHeap, Generation and Space classes - S8038404: Move object_iterate_mem from Space to CMS since it is only ever used by CMS - S8038405: Clean up some virtual fucntions in Space class hierarchy - S8038412: Move object_iterate_careful down from Space to ContigousSpace and CFLSpace - S8038422: CDS test failed: assert((size % os::vm_allocation_granularity()) == 0) failed when limiting SharedMiscDataSize - S8038423: G1: Decommit memory within heap - S8038435: Some hgforest.sh commands don't receive parameters - S8038624: interpretedVFrame::expressions() must respect InterpreterOopMap for liveness - S8038754: ReplayCacheTestProc test fails with timeout - S8038756: new WB API :: get/setVMFlag - S8038776: VerifyError when running successfully compiled java class - S8038829: G1: More useful information in a few assert messages - S8038898: Safer safepoints - S8038903: More native monitor monitoring - S8038908: Make Signature more robust - S8038913: Bolster XML support - S8038919: Requesting focus to a modeless dialog doesn't work on Safari - S8038928: gc/g1/TestGCLogMessages.java fail with "[Evacuation Failure' - S8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet - S8038966: JAX-WS handles wrongly xsd:any arguments for Web services - S8038982: java/lang/ref/EarlyTimeout.java failed again - S8039097: Some tests fail with NPE since 7u60 b12 - S8039147: Cleanup SuspendibleThreadSet - S8039150: host_klass invariant fails when verifying newly loaded JSR-292 anonymous classes - S8039173: Propagate errors from Diagnostic Commands as exceptions in the attach framework - S8039444: Swing applications not being displayed properly - S8039489: Refactor test framework for dynamic VM options - S8039498: Add iterators to GrowableArray - S8039509: Wrap sockets more thoroughly - S8039520: More atomicity of atomic updates - S8039533: Higher resolution resolvers - S8039596: Remove HeapRegionRemSet::clear_incoming_entry - S8039915: Wrong NumberFormat.format() HALF_UP rounding when last digit exactly at rounding position greater than 5 - S8039990: Add sequential operation support to hgforest - S8040002: Clean up code and code duplication in re-diryting cards for verification - S8040007: GtkFileDialog strips user inputted filepath - S8040076: Memory leak. java.awt.List objects allowing multiple selections are not GC-ed. - S8040121: Load variable through a pointer of an incompatible type in src/hotspot/src/share/vm: opto/output.cpp, runtime/sharedRuntimeTrans.cpp, utilities/globalDefinitions_visCPP.hpp - S8040279: [macosx] Do not use the base image in the MultiResolutionBufferedImage - S8040617: [macosx] Large JTable cell results in a OutOfMemoryException - S8040722: G1: Clean up usages of heap_region_containing - S8040792: G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname) - S8040798: compiler/startup/SmallCodeCacheStartup.java timed out in RT_Baseline - S8040806: BitSet.toString() can throw IndexOutOfBoundsException - S8040808: Uninitialised memory in OGLBufImgsOps.c, D3DBufImgOps.cpp - S8040812: Uninitialised memory in jdk/src/share/native/sun/security/ec/impl/mpi.c - S8040920: Uninitialised memory in hotspot/src/share/vm/code/dependencies.cpp - S8040921: Uninitialised memory in hotspot/src/share/vm/c1/c1_LinearScan.cpp - S8040977: G1 crashes when run with -XX:-G1DeferredRSUpdate - S8041142: Re-enabling CBC_PAD PKCS11 mechanisms for Solaris - S8041151: More concurrent hgforest - S8041529: Better parameterization of parameter lists - S8041535: Update certificate lists for compact1 profile - S8041540: Better use of pages in font processing - S8041545: Better validation of generated rasters - S8041564: Improved management of logger resources - S8041572: [macosx] huge native memory leak in AWTWindow.m - S8041633: [TESTBUG] java/lang/SecurityManager/CheckPackageAccess.java fails with "In j.s file, but not in golden set: com.sun.activation.registries." - S8041717: Issue with class file parser - S8041734: JFrame in full screen mode leaves empty workspace after close - S8041946: CMM Testing: 8u40 an allocated humongous object at the end of the heap should not prevents shrinking the heap - S8041984: CompilerThread seems to occupy all CPU in a very rare situation - S8041987: [macosx] setDisplayMode crashes - S8041990: [macosx] Language specific keys does not work in applets when opened outside the browser - S8041992: Fix of JDK-8034775 neglects to account for non-JIT VMs - S8042053: Broken links to jarsigner and keytool docs in java.security package summary - S8042094: Test javax/swing/JFileChooser/7036025/bug7036025.java fails with java.lang.NullPointerException on Windows x86 - S8042123: Support default and static interface methods in JDI, JDWP and JDB - S8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale - S8042195: Introduce umbrella header orderAccess.inline.hpp. - S8042205: javax/management/monitor/*: some tests didn't get all the notifications - S8042235: redefining method used by multiple MethodHandles crashes VM - S8042255: make gc src file exclusion more automatic - S8042347: javac, Gen.LVTAssignAnalyzer should be refactored, it shouldn't be a static class - S8042417: hgforest: allow local clone of extra repos - S8042428: CompileQueue::free_all() code is incorrect - S8042431: compiler/7200264/TestIntVect.java fails with: Test Failed: AddVI 0 < 4 - S8042440: awt_Plugin no longer needed - S8042469: Launcher changes for native memory tracking scalability enhancement - S8042470: (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified - S8042480: CipherInputStream.close() throws AEADBadTagException in some cases - S8042570: Excessive number of tests timing out on nightly testing due to fix for 8040798 - S8042590: Running form URL throws NPE - S8042603: 'SafepointPollOffset' was not declared in static member function 'static bool Arguments::check_vm_args_consistency()' - S8042609: Limit splashiness of splash images - S8042622: Check for CRL results in IllegalArgumentException "white space not allowed" - S8042737: Introduce umbrella header prefetch.inline.hpp - S8042797: Avoid strawberries in LogRecord - S8042804: Support invoking Hotspot tests from top level - S8042810: hgforest: some shells run read in sub-shell and can't use fifo - S8042816: (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified, part 2 - S8042835: Remove mnemonic character from open, save and open directory JFileChooser's buttons - S8042945: Remove @throws ClassCastException for CertificateRevokedException constructor - S8042982: Unexpected RuntimeExceptions being thrown by SSLEngine - S8043158: Crash in CodeSweeperSweepNoFlushTest in CompileQueue::free_all() - S8043182: hgforest.sh: syntax error on line 329 - S8043200: Decrease the preference mode of RC4 in the enabled cipher suite list - S8043275: 8u40 backport: Fix interface initialization for default methods. - S8043301: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp versus math.h in VS2013 - S8043302: [TESTBUG] Need a test to cover JDK-8029755 - S8043454: Test case for 8037157 should not throw a VerifyError - S8043476: java/util/BitSet/BSMethods.java failed with: java.lang.OutOfMemoryError: Java heap space - S8043477: java/lang/ProcessBuilder/Basic.java failed with: java.lang.AssertionError: Some tests failed - S8043508: JVM core dumps with very long text in tooltip - S8043546: C1 optimizes @Stable instance fields with default values - S8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps - S8043610: Sorting columns in JFileChooser fails with AppContext NPE - S8043722: Swapped usage of idx_t and bm_word_t types in parMarkBitMap.cpp - S8043723: max_heap_for_compressed_oops() declared with size_t, but defined with uintx - S8043766: CMM Testing: 8u40 Decommit auxiliary data structures - S8043869: [macosx] java -splash does not honor @2x hi dpi notation for retina support - S8043926: javac, code valid in 7 is not compiling for 8 - S8044056: Testcase added in wrong location in 8043302 - S8044135: Add API to start JMX agent from attach framework - S8044140: Create NMT (Native Memory Tracking) tests for NMT2 - S8044215: Unable to initiate SpNego using a S4U2Proxy GSSCredential (Krb5ProxyCredential) - S8044269: Analysis of archive files. - S8044274: Proper property processing - S8044398: Attach code should propagate errors in Diagnostic Commands as errors - S8044406: JVM crash with JDK8 (build 1.8.0-b132) with G1 GC - S8044473: Allow for extended set of platform MXBeans - S8044538: assert(which != imm_operand) failed: instruction is not a movq reg, imm64 - S8044546: Crash on faulty reduce/lambda - S8044604: Increment minor version of HSx for 8u25 and initialize the build number - S8044614: [macosx] Focus issue with 2 applets in firefox - S8044629: (reflect) Constructor.getAnnotatedReceiverType() returns wrong value - S8044647: sun/tools/jrunscript/jrunscriptTest.sh start failing: Output of jrunscript -l nashorn differ from expected output - S8044659: Java SecureRandom on SPARC T4 much slower than on x86/Linux - S8044671: NPE from JapaneseEra when a new era is defined in calendar.properties - S8044737: Lambda: NPE while obtaining method reference through lambda expression - S8044748: JVM cannot access constructor though ::new reference although can call it directly - S8044749: Resolve autoconf and other merge issue from 8u20 to 8u25 - S8044866: Fix raw and unchecked lint warnings in asm - S8046007: Java app receives javax.print.PrintException: Printer is not accepting job - S8046046: Test sun/security/pkcs11/Signature/TestDSAKeyLength.java fails intermittently on Solaris 11 in 8u40 nightly - S8046060: Different results of floating point multiplication for lambda code block - S8046070: Class Data Sharing clean up and refactoring - S8046210: Missing memory barrier when reading init_lock - S8046213: Test test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java Fails - S8046231: G1: Code root location ... from nmethod ... not in strong code roots for region - S8046233: VerifyError on backward branch - S8046268: compiler/whitebox/ tests fail : must be osr_compiled - S8046289: compiler/6340864/TestLongVect.java timeout with - S8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX - S8046495: KeyEvent can not be accepted in quick mouse clicking - S8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc - S8046545: JNI exception pending in jdk/src/share/bin/java.c - S8046559: NPE when changing Windows theme - S8046598: Scalable Native memory tracking development - S8046662: Check JNI ReleaseStringChars / ReleaseStringUTFChars verify_guards test inverted - S8046670: Make CMS metadata aware closures applicable for other collectors - S8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943 - S8046715: Add a way to verify an extended set of command line options - S8046769: Set T family feature bit on Niagara systems - S8046783: Add hidden field to methods for event based tracing - S8046884: JNI exception pending in jdk/src/solaris/native/sun/java2d/x11: X11PMPLitLoops.c, X11SurfaceData.c - S8046887: JNI exception pending in jdk/src/solaris/native/sun/awt: awt_DrawingSurface.c, awt_GraphicsEnv.c, awt_InputMethod.c, sun_awt_X11_GtkFileDialogPeer.c - S8046888: JNI exception pending in jdk/src/share/native/sun/awt/image/awt_parseImage.c - S8046894: JNI exception pending in jdk/src/solaris/native/sun/awt/X11Color.c - S8046919: jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY - S8047062: Improve diagnostic output in com/sun/jndi/ldap/LdapTimeoutTest.java - S8047066: Test test/sun/awt/image/bug8038000.java fails with ClassCastException - S8047073: Some javax/management/ fails with JFR - S8047145: 8u20 l10n resource file translation update 2 - S8047186: jdk.net.Sockets throws InvocationTargetException instead of original runtime exceptions - S8047288: Fixes endless loop on mac caused by invoking Windows.isFocusable() on Appkit thread. - S8047323: Remove unused _copy_metadata_obj_cl in G1CopyingKeepAliveClosure - S8047326: Consolidate all CompiledIC::CompiledIC implementations and move it to compiledIC.cpp - S8047340: (process) Runtime.exec() fails in Turkish locale - S8047341: lambda reference to inner class in base class causes LambdaConversionException - S8047362: Add a version of CompiledIC_at that doesn't create a new RelocIterator - S8047373: Clean the ExceptionCache in one pass - S8047383: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions. - S8047674: java/net/URLPermission/nstest/lookup.sh NoClassDefFoundError when run in concurrent mode - S8047719: Incorrect LVT in switch statement - S8047732: new hotspot build - hs25.20-b21 - S8047740: Add hotspot testset to jprt.properties - S8047795: Collections.checkedList checking bypassed by List.replaceAll - S8047812: Ensure ClassLoaderDataGraph::classes_unloading_do only delivers klasses from CLDs with non-reclaimed class loader oops - S8047818: G1 HeapRegions can no longer be ContiguousSpaces - S8047819: G1 HeapRegionDCTOC does not need to inherit ContiguousSpaceDCTOC - S8047820: G1 Block offset table does not need to support generic Space classes - S8047821: G1 Does not use the save_marks functionality as intended - S8047925: Add mercurial version checks to get_source.sh - S8047934: Adding new API for unlocking diagnostic argument. - S8047976: Ergonomics for GC thread counts should update the flags - S8048020: Regression on java.util.logging.FileHandler - S8048025: Ensure cache consistency - S8048063: (jdeps) Add filtering capability - S8048073: Cannot read ccache entry with a realm-less service name - S8048080: (smartcardio) javax.smartcardio.Card.openLogicalChannel() dosn't work on MacOSX - S8048085: Aborting marking just before remark results in useless additional clearing of the next mark bitmap - S8048088: Conservative maximum heap alignment should take vm_allocation_granularity into account - S8048110: Using tables in JTextPane leads to infinite loop in FlowLayout.layoutRow - S8048112: G1 Full GC needs to support the case when the very first region is not available - S8048121: javac complex method references: revamp and simplify - S8048141: Update the Hotspot version numbers in Hotspot for JDK 8u40 - S8048150: Allow easy configurations for large CDS archives - S8048169: Change 8037816 breaks HS build on PPC64 and CPP-Interpreter platforms - S8048170: Test closed/java/text/Normalizer/ConformanceTest.java failed - S8048184: handle mercurial dev build version string - S8048194: GSSContext.acceptSecContext fails when a supported mech is not initiator preferred - S8048207: Collections.checkedQueue.offer() calls add on wrapped queue - S8048209: Collections.synchronizedNavigableSet().tailSet(Object,boolean) synchronizes on wrong object - S8048212: Two tests failed with "java.net.SocketException: Bad protocol option" on Windows after 8029607 - S8048214: Linker error when compiling G1SATBCardTableModRefBS after include order changes - S8048265: AWT crashes inside CCombinedSegTable::In called from Java_sun_awt_windows_WDefaultFontCharset_canConvert - S8048268: G1 Code Root Migration performs poorly - S8048269: Add flag to turn off class unloading after G1 concurrent mark - S8048270: Resolve autoconf and other merge issue from 8u20-b20 to 8u25 - S8048506: [macosx] javax.swing.PopupFactory issue with null owner - S8048511: Uninitialised memory in jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c - S8048512: Uninitialised memory in jdk/src/share/native/sun/security/ec/ECC_JNI.cpp - S8048515: Read outside array bounds in jdk/src/solaris/native/java/lang/java_props_md.c - S8048524: Memory leak in jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c - S8048549: [macosx] Disable usage of system menu bar if AWT is embedded in FX - S8048583: CustomMediaSizeName class matching to standard media is too loose - S8048703: ReplacedNodes dumps it's content to tty - S8048879: "unexpected yanked node" opto/postaloc.cpp:139 - S8048887: SortingFocusTraversalPolicy throws IllegalArgumentException from the sort method - S8048913: java/util/logging/LoggingDeadlock2.java times out - S8049043: Load variable through a pointer of an incompatible type in hotspot/src/share/vm/runtime/sharedRuntimeMath.hpp - S8049051: Use of during_initial_mark_pause() in G1CollectorPolicy::record_collection_pause_end() prevents use of seperate object copy time prediction during marking - S8049055: Tests added to the jdk/test/TEST.groups to be run on correct profiles - S8049057: JNI exception pending in jdk/src/windows/native/sun/windows/ - S8049065: [JLightweightFrame] Support DnD for SwingNode - S8049071: Add jtreg jobs to JPRT for hotspot - S8049075: javac, wildcards and generic vararg method invocation not accepted - S8049128: 8u20 l10n resource file translation update 2 - jaxp - S8049198: [macosx] Incorrect thread access when showing splash screen - S8049244: XML Signature performance issue caused by unbuffered signature data - S8049250: Need a flag to invert the Card.disconnect(reset) argument - S8049252: VerifyStack logic in Deoptimization::unpack_frames does not expect to see invoke bc at the top frame during normal deoptimization - S8049303: Transient network problems cause JMX thread to fail silenty - S8049327: [TESTBUG] gc/logging/TestGCId.java assumes default PrintGCID value is true - S8049340: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java timed out - S8049343: (tz) Support tzdata2014g - S8049346: [TESTBUG] fix the @run line of the test: jdk/test/java/awt/Focus/SortingFTP/JDK8048887.java - S8049373: All compact profiles builds fail following JDK-8044473 - S8049411: Minimal VM build broken after gcId.cpp was added - S8049418: [macosx] PopupMenuListener.popupMenuWillBecomeVisible is not called for empty combobox on MacOS/aqua look and feel - S8049421: G1 Class Unloading after completing a concurrent mark cycle - S8049426: Minor cleanups after G1 class unloading - S8049514: FEATURE_SECURE_PROCESSING can not be turned off on a validator through SchemaFactory - S8049528: Method marked w/ @ForceInline isn't inlined with "executed < MinInliningThreshold times" message - S8049529: LogCompilation: annotate make_not_compilable with compilation level - S8049530: Provide descriptive failure reason for compilation tasks removed for the queue - S8049532: LogCompilation: C1: inlining tree is flat (no depth is stored) - S8049542: C2: assert(size_in_words <= (julong)max_jint) failed: no overflow - S8049555: Move varargsArray from sun.invoke.util package to java.lang.invoke - S8049583: Test closed/java/awt/List/ListMultipleSelectTest/ListMultipleSelectTest fails on Window XP - S8049599: MetaspaceGC::_capacity_until_GC can overflow - S8049684: pstack crashes on java core dump - S8049831: Metadata Full GCs are not triggered when CMSClassUnloadingEnabled is turned off - S8049884: Reduce possible timing noise in com/sun/jndi/ldap/LdapTimeoutTest.java - S8049916: new hotspot build - hs25.40-b02 - S8049996: [macosx] test java/awt/image/ImageIconHang.java fails with NPE - S8050022: linux-sparcv9: assert(SharedSkipVerify || obj->is_oop()) failed: sanity check - S8050052: Small cleanups in java.lang.invoke code - S8050053: Improve caching of different invokers - S8050057: Improve caching of MethodHandle reinvokers - S8050079: crash while compiling java.lang.ref.Finalizer::runFinalizer - S8050115: javax/management/monitor/GaugeMonitorDeadlockTest.java fails intermittently - S8050165: linux-sparcv9: NMT detail causes assert((intptr_t*)younger_sp[FP->sp_offset_in_saved_window()] == (intptr_t*)((intptr_t)sp - STACK_BIAS)) failed: younger_sp must be valid - S8050166: Get rid of some package-private methods on arguments in j.l.i.MethodHandle - S8050167: linux-sparcv9: hs_err file does not show any stack information - S8050173: Add j.l.i.MethodHandle.copyWith(MethodType, LambdaForm) - S8050174: Support overriding of isInvokeSpecial flag in WrappedMember - S8050200: Make LambdaForm intrinsics detection more robust - S8050229: Uninitialised memory in hotspot/src/share/vm/compiler/oopMap.cpp - S8050386: javac, follow-up of fix for JDK-8049305 - S8050485: super() in a try block in a ctor causes VerifyError - S8050804: (jdeps) Recommend supported API to replace use of JDK internal API - S8050877: Improve code for pairwise argument conversions and value boxing/unboxing - S8050884: Intrinsify ValueConversions.identity() functions - S8050887: Intrinsify constants for default values - S8050893: (smartcardio) Invert reset argument in tests in sun/security/smartcardio - S8050942: PPC64: implement template interpreter for ppc64le - S8050972: Concurrency problem in PcDesc cache - S8050973: CMS/G1 GC: add missing Resource and Handle mark - S8050978: Fix bad field access check in C1 and C2 - S8050983: Misplaced parentheses in sun.net.www.http.HttpClient break HTTP PUT streaming - S8051002: Incorrectly merged share/vm/classfile/classFileParser.cpp was pushed to 8u20. - S8051004: javac, incorrect bug id in tests for JDK-8050386 - S8051005: Third Party License Readme update for 8u20 - S8051012: Regression in verifier for method call from inside of a branch - S8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on - S8051359: JPopupMenu creation in headless mode with JDK9b23 causes NPE - S8051378: AIX: Change "8030763: Validate global memory allocation" breaks the HotSpot build - S8051402: javac, type containment should accept that CAP <= ? extends CAP and CAP <= ? super CAP - S8051467: javac, additional test case for JDK-8051402 - S8051588: DataTransferer.getInstance throws ClassCastException in headless mode - S8051614: smartcardio TCK tests fail due to lack of 'reset' permission - S8051838: [Findbugs] sun.awt.image.MultiResolutionCachedImage expose internal representation - S8051857: OperationTimedOut exception inside from XToolkit.syncNativeQueue call - S8051883: TEST.groups references missing test: gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java - S8051908: new hotspot build - hs25.20-b23 - S8051910: new hotspot build - hs25.40-b03 - S8051958: Cannot assign a value to final variable in lambda - S8051973: Eager reclaim leaves marks of marked but reclaimed objects on the next bitmap - S8052081: Optimize generated by C2 code for Intel's Atom processor - S8052162: REGRESSION: sun/java2d/cmm/ColorConvertOp tests fail since 7u71 b01 - S8052170: G1 asserts at collection exit with -XX:-G1DeferredRSUpdate - S8052172: Evacuation failure handling in G1 does not evacuate all objects if -XX:-G1DeferredRSUpdate is set - S8052313: Backport CDS tests from JDK-9 to jdk8_u40 - S8052403: java/util/logging/CheckZombieLockTest.java fails with NoSuchFileException - S8052406: SSLv2Hello protocol may be filter out unexpectedly - S8053938: Collections.checkedList(empty list).replaceAll((UnaryOperator)null) doesn't throw NPE after JDK-8047795 - S8053963: (dc) Use DatagramChannel.receive() instead of read() in connect() - S8054008: Using -XX:-LazyBootClassLoader crashes with ACCESS_VIOLATION on Win 64bit. - S8054009: Support SKIP_BOOT_CYCLE=false when invoked from JPRT - S8054029: (fc) FileChannel.size() returns 0 for block devices on Linux - S8054054: 8040121 is broken - S8054159: new hotspot build - hs25.40-b04 - S8054210: NullPointerException when compiling specific code. - S8054224: Recursive method that was compiled by C1 is unable to catch StackOverflowError - S8054292: code comments leak in fastdebug builds - S8054341: Remove some obsolete code in G1CollectedHeap class - S8054362: gc/g1/TestEagerReclaimHumongousRegions2.java timeout - S8054368: nsk/jdi/VirtualMachine/exit/exit002 crash with detail tracking on (NMT2) - S8054372: Cleanup of com.sun.media.sound packages - S8054376: Move RTM flags from Experimental to Product - S8054402: "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes - S8054431: Some of the input validation in the javasound is too strict - S8054448: (ann) Cannot reference field of inner class in an anonymous class - S8054478: C2: Incorrectly compiled char[] array access crashes JVM - S8054480: Test java/util/logging/TestLoggerBundleSync.java fails: Unexpected bundle name: null - S8054530: C2: assert(res == old_res) failed: Inconsistency between old and new - S8054546: NMT2 leaks memory - S8054547: Re-enable warning for incompatible java launcher - S8054550: new hotspot build - hs25.40-b05 - S8054638: xrender: text drawn after setColor(Color.white) is actually black - S8054711: [TESTBUG] Enable NMT2 tests after NMT2 is integrated - S8054800: JNI exception pending in jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp - S8054801: Memory leak in jdk/src/windows/native/sun/windows/awt_InputMethod.cpp - S8054804: 8u25 l10n resource file translation update - S8054805: Update CLI tests on RTM options to reflect changes in JDK-8054376 - S8054808: Bitmap verification sometimes fails after Full GC aborts concurrent mark. - S8054817: File ccache only recognizes Linux and Solaris defaults - S8054818: Refactor HeapRegionSeq to manage heap region and auxiliary data - S8054819: Rename HeapRegionSeq to HeapRegionManager - S8054836: [TESTBUG] Test is needed to verify correctness of malloc tracking - S8054841: (process) ProcessBuilder leaks native memory - S8054883: Segmentation error while running program - S8054927: Missing MemNode::acquire ordering in some volatile Load nodes - S8054938: [TESTBUG] Wrong WhiteBox.java was pushed by JDK-8044140 - S8054952: [TESTBUG] Add missing NMT2 tests - S8054970: gc src file exclusion should exclude alternative sources - S8054987: (reflect) Add sharing of annotations between instances of Executable - S8055006: Store original value of Min/MaxHeapFreeRatio - S8055007: NMT2: emptyStack missing in minimal build - S8055012: [TESTBUG] NMTHelper fails to parse NMT output - S8055051: runtime/NMT/CommandLineEmptyArgument.java fails - S8055052: [TESTBUG] runtime/NMT/JcmdDetailDiff.java fails on Windows when there are no debug symbols available - S8055053: [TESTBUG] runtime/NMT/VirtualAllocCommitUncommitRecommit.java fails - S8055061: assert at share/vm/services/virtualMemoryTracker.cpp:332 Error: ShouldNotReachHere() when running NMT tests - S8055063: Parameter#toString() fails w/ AIOOBE for ctr of inner class w/ generic type - S8055069: TSX and RTM should be deprecated more strongly until hardware is corrected - S8055098: WB API should be extended to provide information about size and age of object. - S8055155: new hotspot build - hs25.40-b06 - S8055217: Make jdk8u40 the default jprt release for hs25.40 - S8055222: Currency update needed for ISO 4217 Amendment #159 - S8055236: Deadlock during NMT2 shutdown on Windows - S8055243: Make jdk8u40 the default release - S8055275: Several gc/class_unloading/ tests fail due to missed +UnlockDiagnosticVMOptions flag - S8055286: Extend CompileCommand=option to handle numeric parameters - S8055289: Internal Error: mallocTracker.cpp:146 fatal error: Should not use malloc for big memory block, use virtual memory instead - S8055393: [Testbug] Some tests are being executed and fail under profiles - S8055421: (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c - S8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method - S8055514: Wrong, confusing error when non-static varargs referenced in static context - S8055525: Bigapp weblogic+medrec fails to startup after JDK-8038423 - S8055635: Missing include in g1RegionToSpaceMapper.hpp results in unresolved symbol of fastdebug build without precompiled headers - S8055657: Test compiler/classUnloading/methodUnloading/TestMethodUnloading.java does not work with non-default GC - S8055662: Update mapfile for libjfr - S8055677: java/lang/instrument/RedefineBigClass.sh RetransformBigClass.sh start failing after JDK-8055012 - S8055684: runtime/NMT/CommandLineEmptyArgument.java fails - S8055717: Increment hsx 25.25 build to b02 for 8u25-b11 - S8055731: sun/security/smartcardio/TestDirect.java throws java.lang.IndexOutOfBoundsException - S8055744: 8u-dev nightly solaris builds failed on 08/20 - S8055765: Misplaced @key stress prevents MallocSiteHashOverflow.java and MallocStressTest.java tests from running - S8055785: Modifications of I/O methods for instrumentation purposes - S8055786: new hotspot build - hs25.40-b07 - S8055798: Japanese translation for a warning from javac looks incorrect. - S8055816: Remove dead code in g1BlockOffsetTable - S8055903: Develop sanity tests on SPARC's SHA instructions support - S8055904: Develop tests for new command-line options related to SHA intrinsics - S8055919: Remove dead code in G1 concurrent marking code - S8055946: assert(result == NULL || result->is_oop()) failed: must be oop - S8055949: ByteArrayOutputStream capacity should be maximal array size permitted by VM - S8055952: new hotspot build - hs25.40-b08 - S8055953: [TESTBUG] Fix for 8055098 does not contain unit test - S8056014: Type inference may be skipped for a complex receiver generic method in a parameter position - S8056026: Debug security logging should print Provider used for each crypto operation - S8056043: Heap does not shrink within the heap after JDK-8038423 - S8056049: getProcessCpuLoad() stops working in one process when a different process exits - S8056051: int[]::clone causes "java.lang.NoClassDefFoundError: Array" - S8056056: Remove unnecessary inclusion of HS_ALT_MAKE from solaris Makefile - S8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations' - S8056072: add jprt_optimized targets - S8056084: Refactor Hashtable to allow implementations without rehashing support - S8056091: Move compiler/intrinsics/mathexact/sanity/Verifier to compiler/testlibrary and extend its functionality - S8056121: set the default release to 8u25 in the source tree for JPRT - S8056122: Upgrade JDK to use LittleCMS 2.6 - S8056124: Hotspot should use PICL interface to get cacheline size on SPARC - S8056154: JVM crash with EXCEPTION_ACCESS_VIOLATION when there are many threads running - S8056175: Change "8048150: Allow easy configurations for large CDS archives" triggers conversion warning with older GCC - S8056183: os::is_MP() always reports true when NMT is enabled - S8056211: api/java_awt/Event/InputMethodEvent/serial/index.html#Input[serial2002] failure - S8056223: typo in export_optimized_jdk - S8056237: [TESTBUG] gc/g1/TestHumongousShrinkHeap.java fails due to OOM - S8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse - S8056248: Improve ForkJoin thread throttling - S8056249: Improve CompletableFuture resource usage - S8056256: [TESTBUG] Disable NMTWithCDS.java test as launcher change has yet promoted - S8056263: [TESTBUG] Re-enable NMTWithCDS.java test - S8056299: new hotspot build - hs25.40-b09 - S8056914: Right Click Menu for Paste not showing after upgrading to java 7 - S8056926: Improve caching of GuardWithTest combinator - S8056964: JDK-8055286 changes are incomplete. - S8056971: Minor class loading clean-up - S8056984: Exception in compiler: java.lang.AssertionError: isSubClass T - S8056987: 8u-dev nightly windows builds failed from 8/29 - S8057020: LambdaForm caches should support eviction - S8057042: LambdaFormEditor: derive new LFs from a base LF - S8057043: Type annotations not retained during class redefine / retransform - S8057129: Fix AIX build after the Extend CompileCommand=option change 8055286 - S8057143: Incomplete renaming of variables containing "hrs" to "hrm" related to HeapRegionSeq - S8057165: [TESTBUG] Need a test to cover JDK-8054883 - S8057184: JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris - S8057531: refactor gc argument processing code slightly - S8057535: add a thread extension class - S8057536: Refactor G1 to allow context specific allocations - S8057564: JVM hangs at getAgentProperties after attaching to VM with lower - S8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc) - S8057623: add an extension class for argument handling - S8057629: Third Party License Readme update for 8u40 - S8057643: Unable to build --with-debug-level=optimized on OSX - S8057649: new hotspot build - hs25.40-b10 - S8057654: Extract checks performed during MethodHandle construction into separate methods - S8057656: Improve MethodType.isCastableTo() & MethodType.isConvertibleTo() checks - S8057657: Annotate LambdaForm parameters with types - S8057658: Enable G1 FullGC extensions - S8057707: TEST library enhancement in lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java - S8057710: Refactor G1 heap region default sizes - S8057719: Develop new tests for LambdaForm Reduction and Caching feature - S8057722: G1: Code root hashtable updated incorrectly when evacuation failed - S8057747: Several test failing after update to tzdata2014g - S8057750: CTW should not make MH intrinsics not entrant - S8057751: CompileNativeLibraries for custom build - S8057752: WhiteBox extension support for testing - S8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair - S8057768: Make heap region region type in G1 HeapRegion explicit - S8057770: api/javax_swing/JScrollPane/indexTGF.html#UpdateUI failed with MotifLookAndFeel on all platform - S8057788: [macosx] "Pinch to zoom" does not work since jdk7 - S8057793: BigDecimal is no longer effectively immutable - S8057794: Compiler Error when obtaining .class property - S8057799: Unnecessary NULL check in G1KeepAliveClosure - S8057800: Method reference with generic type creates NPE when compiling - S8057813: Alterations to jdk_security3 test target - S8057818: collect allocation context statistics at gc pauses - S8057824: methods to copy allocation context statistics - S8057827: notify an obj when allocation context stats are available - S8057830: Crash in Java2D Queue Flusher, OGLSD_SetScratchSurface - S8057893: JComboBox actionListener never receives "comboBoxEdited" from getActionCommand - S8057922: Improve LambdaForm sharing by using LambdaFormEditor more extensively - S8057934: Upgrade to LittleCMS 2.6 breaks AIX build - S8057936: java.net.URLClassLoader.findClass uses exceptions in control flow - S8057959: Retag 8u25-b16 to include more fixes - S8058092: Test vm/mlvm/meth/stress/compiler/deoptimize. Assert in src/share/vm/classfile/systemDictionary.cpp: MH intrinsic invariant - S8058112: Invalid BootstrapMethod for constructor/method reference - S8058120: Rendering / caret errors with HTMLDocument - S8058136: Test api/java_awt/SplashScreen/index.html\#ClosedSplashScreenTests fails because of java.lang.IllegalStateException was not thrown - S8058148: MaxNodeLimit and LiveNodeCountInliningCutoff - S8058184: Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters - S8058193: [macosx] Potential incomplete fix for JDK-8031485 - S8058197: AWT fails on generic non-reparenting window managers - S8058209: Race in G1 card scanning could allow scanning of memory covered by PLABs - S8058216: NetworkInterface.getHardwareAddress can return zero length byte array when run with preferIPv4Stack - S8058235: identify GCs initiated to update allocation context stats - S8058251: assert(_count > 0) failed: Negative counter when running runtime/NMT/MallocTrackingVerify.java - S8058275: new hotspot build - hs25.40-b11 - S8058291: Missing some checks during parameter validation - S8058293: Bit set computation in MHs.findFirstDupOrDrop/findFirstDrop is broken - S8058448: Disable JPRT submissions from the hotspot repo - S8058473: "Comparison method violates its general contract" when using Clipboard - S8058475: TestCMSClassUnloadingEnabledHWM.java fails with '.*CMS Initial Mark.*' missing from stdout/stderr - S8058481: Test gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java was removed, but TEST.groups still refers to it - S8058487: JRE installer fails if older jre is on the system with MSI 1603 error. System error 183 - S8058505: BigIntegerTest does not exercise Burnikel-Ziegler division - S8058511: StackOverflowError at com.sun.tools.javac.code.Types.lub - S8058536: java/lang/instrument/NativeMethodPrefixAgent.java fails due to VirtualMachineError: out of space in CodeCache for method handle intrinsic - S8058564: Tiered compilation performance drop in PIT - S8058568: GC cleanup phase can cause G1 skipping a System.gc() - S8058573: Resolve autoconf and other merge issue from 8u25 and 8u40 - S8058584: Ignore java/lang/invoke/LFCaching/LFGarbageCollectedTest until 8057020 is fixed - S8058606: [TESTBUG] Detailed Native Memory Tracking (NMT) data is not verified as output at VM exit - S8058626: Missing part of 8057656 in 8u40 compared to 9 - S8058632: Revert JDK-8054984 from 8u40 - S8058653: [TEST_BUG] Test java/awt/Graphics2D/DrawString/DrawStringCrash.java fails with OutOfMemoryError - S8058657: Add @jdk.Exported to com.sun.jarsigner APIs - S8058661: Compiled LambdaForms should inherit from Object to improve class loading performance - S8058664: Bad fonts in BigIntegerTest - S8058679: More bad characters in BigIntegerTest - S8058695: [TESTBUG] Reinvokers with arity >253 can't be cached - S8058708: java.lang.AssertionError compiling source code - S8058715: stability issues when being launched as an embedded JVM via JNI - S8058728: TEST_BUG: Make java/lang/invoke/LFCaching/LFGarbageCollectedTest.java skip arrayElementSetter and arrayElementGetter methods - S8058733: [TESTBUG] java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java and LFMultiThreadCachingTest.java failed on some platforms due to java.lang.VirtualMachineError - S8058739: The test case failed as "ERROR in native method: ReleasePrimitiveArrayCritical: failed bounds check" - S8058744: Crash in C1 OSRed method w/ Unsafe usage - S8058798: new hotspot build - hs25.40-b12 - S8058818: Allocation of more then 1G of memory using Unsafe.allocateMemory is still causing a fatal error on 32bit platforms - S8058825: EA: ConnectionGraph::split_unique_types does incorrect scalar replacement - S8058828: Wrong ciConstant type for arrays from ConstantPool::_resolved_reference - S8058847: C2: EliminateAutoBox regression after 8042786 - S8058858: JRE 8u20 crashes while using Japanese IM on Windows - S8058870: Mac: JFXPanel deadlocks in jnlp mode - S8058892: FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl - S8058919: Add sanity test for minimal VM in test/Makefile - S8058927: ATG throws ClassNotFoundException - S8058932: java/net/InetAddress/IPv4Formats.java failed because hello.foo.bar does exist - S8058936: hotspot/test/Makefile should use jtreg script from $JT_HOME/bin/jreg (instead of $JT_HOME/win32/bin/jtreg) - S8059002: 8058744 needs a test case - S8059070: [TESTBUG] java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java failed - timeout - S8059100: SIGSEGV VirtualMemoryTracker::remove_released_region - S8059131: sawindbg.dll is not compiled with /SAFESEH - S8059136: Reverse removal of applet demos [backout 8015376] - S8059139: It should be possible to explicitly disable usage of TZCNT instr w/ -XX:-UseBMI1Instructions - S8059177: jdk8u40 l10n resource file translation update 1 - S8059200: Promoted JDK9 b31 for Solaris-amd64 fails (Error: dl failure on line 744, no picl library) on Solaris 11.1 - S8059204: new hotspot build - hs25.40-b13 - S8059206: (tz) Support tzdata2014i - S8059216: Make PrintGCApplicationStoppedTime print information about stopping threads - S8059226: Names of rtm_state_change and unstable_if deoptimization reasons were swapped in 8u40 - S8059269: FileHandler may throw NPE if pattern is a simple name and the lock file already exists - S8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr - S8059311: com/sun/jndi/ldap/LdapTimeoutTest.java fails with exit_code == 0 - S8059327: XML parser returns corrupt attribute value - S8059445: Remove CompilationRepeat - S8059452: G1: Change the default values for G1HeapWastePercent and G1MixedGCLiveThresholdPercent - S8059462: Typo in keytool resource file - S8059466: Force young GC to initiate marking cycle when stat update is requested - S8059556: C2: crash while inlining MethodHandle invocation w/ null receiver - S8059590: ArrayIndexOutOfBoundsException occurs when Container with overridden getComponents() is deserialized - S8059592: Recent bugfixes in ppc64 port. - S8059618: new hotspot build - hs25.40-b14 - S8059621: JVM crashes with "unexpected index type" assert in LIRGenerator::do_UnsafeGetRaw - S8059655: new hotspot build - hs25.40-b15 - S8059710: javac, the same approach used in fix for JDK-8058708 should be applied to Code.closeAliveRanges - S8059739: Dragged and Dropped data is corrupted for two data types - S8059758: Footprint regressions with JDK-8038423 - S8059780: SPECjvm2008-MPEG performance regressions on x64 platforms - S8059803: Update use of GetVersionEx to get correct Windows version in hs_err files - S8059877: GWT branch frequencies pollution due to LF sharing - S8059880: Get rid of LambdaForm interpretation - S8059921: Missing compile error in Java 8 mode for Interface.super.field access - S8059941: [D3D] The fix for JDK-8029253 should be ported to d3d pipeline - S8059942: Default implementation of DrawImage.renderImageXform() should be improved for d3d/ogl - S8059943: [macosx] Aqua LaF should use BI.TYPE_INT_ARGB_PRE for a better performance - S8059944: [OGL] Metrics for a method choice copying of texture should be improved - S8059948: Rename the test group from jdk_rt to jdk_rm - S8059998: Broken link in java.awt.event Interface KeyListener - S8060006: No Russian time zones mapping for Windows - S8060116: After JDK-8047976 gc/g1/TestSummarizeRSetStatsThreads fails - S8060147: SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv - S8060151: Check-in changes for 8u40 nroff Open JDK - S8060169: Update the Crash Reporting URL in the Java crash log - S8060454: [TESTBUG] Whitebox tests fail with -XX:CompileThreshold=100 - S8060467: CMS: small OldPLABSize and -XX:-ResizePLAB cause assert(ResizePLAB || n_blks == OldPLABSize) failed: Error - S8060483: NPE with explicitCastArguments unboxing null - S8060485: (str) contentEquals checks the String contents twice on mismatch - S8061234: ResourceContext.requestAccurateUpdate() is unreliable - S8061275: new hotspot build - hs25.40-b16 - S8061392: PrinterJob NPE when drawing translucent image with null user clip - S8061456: [OGL] Incorrect clip is used during sw->surface blit in xor mode - S8061486: [TESTBUG] compiler/whitebox/ tests fail : must be osr_compiled (reappeared in nightlies) - S8061651: Interface to the Lookup Index Cache to improve URLClassPath search time - S8061817: Whitebox.deoptimizeMethod() does not deoptimize all OSR versions of method - S8061830: [asm] refresh internal ASM version v5.0.3 - S8061861: new hotspot build - hs25.40-b17 - S8061960: java/lang/instrument/DaemonThread/TestDaemonThread.java regularly fails due to exceeded timeout - S8061969: [TESTBUG] MallocSiteHashOverflow.java should be enabled for 32-bit platforms - S8061983: [TESTBUG] compiler/whitebox/MakeMethodNotCompilableTest.java fails with "must not be in queue" - S8062021: NPE in sun/lwawt/macosx/CPlatformWindow::toFront after JDK-8060146 - S8062036: ConcurrentMarkThread::slt may be invoked before ConcurrentMarkThread::makeSurrogateLockerThread causing intermittent crashes - S8062164: Incorrect color conversion, when bicubic interpolation is used - S8062169: Multiple OSR compilations issued for same bci - S8062233: add java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java to problem list - S8062247: [TESTBUG] Allow WhiteBox test to access JVM offsets - S8062359: javac Attr crashes with NPE in TypeAnnotationsValidator visitNewClass - S8062475: Enable hook for custom doc generation - S8062501: Modifications of server socket channel accept() methods for instrumentation purposes - S8062589: new hotspot build - hs25.40-b18 - S8062608: BCEL corrupts debug data of methods that use generics - S8062635: Enable custom CompileJavaClasses.gmk - S8062742: compiler/EliminateAutoBox/UnsignedLoads.java fails with client vm - S8062744: jdk.net.Sockets.setOption/getOption does not support IP_TOS - S8062747: Compiler error when anonymous class uses method with parametrized exception - S8062771: Core reflection should use final fields whenever possible - S8062870: src/share/vm/services/mallocTracker.hpp:64 assert(_count > 0) failed: Negative counter - S8062950: Bug in locking code when UseOptoBiasInlining is disabled: assert(dmw->is_neutral()) failed: invariant - S8062957: Heap is not shrunk when deallocating under memory pressure - S8063052: Inference chokes on wildcard derived from method reference - S8063135: Enable full LF sharing by default - S8063700: -Xcheck:jni changes cause many JCK failures in api/javax_crypto tests in SunPKCS11 - S8064288: sun.management.Flag should loadLibrary() - S8064361: new hotspot build - hs25.40-b19 - S8064375: Change certain errors to warnings in CDS output. - S8064391: More thread safety problems in core reflection - S8064468: ownedWindowList access requires synchronization in Window.setAlwaysOnTop() method - S8064516: BCEL still corrupts generic methods if bytecode offsets are modified - S8064556: G1: ParallelGCThreads=0 may cause assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty - S8064560: (tz) Support tzdata2014j - S8064667: Add -XX:+CheckEndorsedAndExtDirs flag to JDK 8 - S8064701: Some CDS optimizations should be disabled if bootclasspath is modified by JVMTI - S8064716: TestHumongousShrinkHeap.java can not be run with -XX:+ExplicitGCInvokesConcurrent - S8064854: new hotspot build - hs25.40-b20 - S8065072: sun/net/www/http/HttpClient/StreamingRetry.java failed intermittently - S8065098: JColorChooser no longer supports drag and drop between two JVM instances - S8065132: Parameter annotations not updated when synthetic parameters are prepended - S8065157: jdk8u40 Japanese man page file translation update - S8065183: Add --with-copyright-year option to configure - S8065227: Report allocation context stats at end of cleanup - S8065238: javax.naming.NamingException after upgrade to JDK 8 - S8065305: Make it possible to extend the G1CollectorPolicy - S8065346: WB_AddToBootstrapClassLoaderSearch calls JvmtiEnv::create_a_jvmti when not in _thread_in_vm state - S8065361: Fixup headers and definitions for INCLUDE_TRACE - S8065385: new hotspot build - hs25.40-b21 - S8065397: Remove ExtendedPlatformComponent.java from EXFILES list - S8065552: setAccessible(true) on fields of Class may throw a SecurityException - S8065618: C2 RA incorrectly removes kill projections - S8065627: Animated GIFs fail to display on a HiDPI display - S8065634: Crash in InstanceKlass::clean_method_data when _method is NULL - S8065702: Deprecate the Extension Mechanism - S8065764: javax/management/monitor/CounterMonitorTest.java hangs - S8065765: Missing space in output message from -XX:+CheckEndorsedAndExtDirs - S8065991: LogManager unecessarily calls JavaAWTAccess from within a critical section - S8066045: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066061: new hotspot build - hs25.40-b22 - S8066103: C2's range check smearing allows out of bound array accesses - S8066142: Edit the value in the text field and then press the tab key, the number don't increase - S8066143: [TESTBUG] New tests in gc/survivorAlignment/ fails - S8066146: jdk.nashorn.api.scripting package javadoc should be included in jdk docs - S8066199: C2 escape analysis prevents VM from exiting quickly - S8066397: Remove network-related seed initialization code in ThreadLocal/SplittableRandom - S8066647: new hotspot build - hs25.40-b23 - S8066649: 8u backport for 8065618 is incorrect - S8066670: PrintSharedArchiveAndExit does not exit the VM when the archive is invalid - S8066746: MHs.explicitCastArguments does incorrect type checks for VarargsCollector - S8066756: Test test/sun/awt/dnd/8024061/bug8024061.java fails - S8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066900: Array Out Of Bounds Exception causes variable corruption - S8066964: ppc64: argument and return type profiling, fix problem with popframe - S8066986: [headless] DataTransferer.getInstance throws ClassCastException in headless mode - S8067039: Revert changes to annotation attribute generation - S8067144: SIGSEGV with +TraceDeoptimization in Deoptimization::print_objects - S8067232: [TESTBUG] runtime/CheckEndorsedAndExtDirs/EndorsedExtDirs.java fails with ClassNotFoundException - S8068548: jdeps needs a different mechanism to recognize javax.jnlp as supported API - S8068631: new hotspot build - hs25.40-b24 - S8068650: $jdk/api/javac/tree contains docs for nashorn 2015-03-02 Andrew John Hughes * Makefile.am: (JDK_UPDATE_VERSION): Bump to 40. (BUILD_VERSION): Set to b21. (CORBA_CHANGESET): Update to icedtea-3.0.0pre03 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (NASHORN_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (NASHORN_SHA256SUM): Likewise. * NEWS: Updated. * configure.ac: Bump to 3.0.0pre03. * hotspot.map: Update to icedtea-3.0.0pre03 tag. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 00:20:42 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 00:20:42 +0000 Subject: [Bug 1281] [IcedTea8] Shared class data archive should be generated post-build on architectures with the client VM In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1281 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=a9271fe74b8d author: Andrew John Hughes date: Tue Mar 03 00:15:26 2015 +0000 PR1281, RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive 2015-03-02 Andrew John Hughes * Makefile.am: (add-archive): Change from BUILD_OUTPUT_DIR to BUILD_IMAGE_DIR. (clean-add-archive): Likewise. (add-archive-debug): Change from DEBUG_BUILD_OUTPUT_DIR to BUILD_DEBUG_IMAGE_DIR. (clean-add-archive-debug): Likewise. (add-archive-boot): Change from BOOT_BUILD_OUTPUT_DIR to BUILD_BOOT_IMAGE_DIR. (clean-add-archive-boot): Likewise. 2013-06-05 Andrew John Hughes PR1281: Updating/Installing OpenJDK should recreate the shared class-data archive * Makefile.am: (.PHONY): Add clean-add-archive, clean-add-archive-debug and clean-add-archive-boot. 2013-02-08 Andrew John Hughes PR1301: PR1171 causes Zero builds to fail * Makefile.am: (add-archive): Don't run -Xshare:dump if building Zero. (add-archive-debug): Likewise. (add-archive-boot): Likewise. 2013-01-25 Andrew John Hughes * Makefile.am: (clean-add-archive): Delete the archive. (clean-add-archive-debug): Likewise for debug. (clean-add-archive-boot): Likewise for bootstrap. 2012-11-28 Andrew John Hughes * Makefile.am: (add-archive): Only run -Xshare:dump when java exists and we aren't building CACAO or JamVM. (add-archive-debug): Likewise. (add-archive-boot): Likewise. 2012-11-20 Andrew John Hughes RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive * Makefile.am: (add-archive): Run -Xshare:dump on the newly built JDK. (clean-add-archive): Delete stamp. (add-archive-debug): Same as add-archive for icedtea-debug. (clean-add-archive-debug): Same as clean-add-archive for icedtea-debug. (icedtea-stage2): Depend on add-archive. (clean-icedtea-stage2): Depend on clean-add-archive. (icedtea-debug-stage2): Depend on add-archive-debug. (clean-icedtea-debug-stage2): Depend on clean-add-archive-debug. (add-archive-boot): Same as add-archive for icedtea-boot. (clean-add-archive-boot): Same as clean-add-archive for icedtea-boot. (icedtea-stage1): Depend on add-archive-boot. (clean-icedtea-stage1): Depend on clean-add-archive-boot. * NEWS: Mention. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 00:20:50 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 00:20:50 +0000 Subject: [Bug 1301] PR1171 causes builds of Zero to fail In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1301 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=a9271fe74b8d author: Andrew John Hughes date: Tue Mar 03 00:15:26 2015 +0000 PR1281, RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive 2015-03-02 Andrew John Hughes * Makefile.am: (add-archive): Change from BUILD_OUTPUT_DIR to BUILD_IMAGE_DIR. (clean-add-archive): Likewise. (add-archive-debug): Change from DEBUG_BUILD_OUTPUT_DIR to BUILD_DEBUG_IMAGE_DIR. (clean-add-archive-debug): Likewise. (add-archive-boot): Change from BOOT_BUILD_OUTPUT_DIR to BUILD_BOOT_IMAGE_DIR. (clean-add-archive-boot): Likewise. 2013-06-05 Andrew John Hughes PR1281: Updating/Installing OpenJDK should recreate the shared class-data archive * Makefile.am: (.PHONY): Add clean-add-archive, clean-add-archive-debug and clean-add-archive-boot. 2013-02-08 Andrew John Hughes PR1301: PR1171 causes Zero builds to fail * Makefile.am: (add-archive): Don't run -Xshare:dump if building Zero. (add-archive-debug): Likewise. (add-archive-boot): Likewise. 2013-01-25 Andrew John Hughes * Makefile.am: (clean-add-archive): Delete the archive. (clean-add-archive-debug): Likewise for debug. (clean-add-archive-boot): Likewise for bootstrap. 2012-11-28 Andrew John Hughes * Makefile.am: (add-archive): Only run -Xshare:dump when java exists and we aren't building CACAO or JamVM. (add-archive-debug): Likewise. (add-archive-boot): Likewise. 2012-11-20 Andrew John Hughes RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive * Makefile.am: (add-archive): Run -Xshare:dump on the newly built JDK. (clean-add-archive): Delete stamp. (add-archive-debug): Same as add-archive for icedtea-debug. (clean-add-archive-debug): Same as clean-add-archive for icedtea-debug. (icedtea-stage2): Depend on add-archive. (clean-icedtea-stage2): Depend on clean-add-archive. (icedtea-debug-stage2): Depend on add-archive-debug. (clean-icedtea-debug-stage2): Depend on clean-add-archive-debug. (add-archive-boot): Same as add-archive for icedtea-boot. (clean-add-archive-boot): Same as clean-add-archive for icedtea-boot. (icedtea-stage1): Depend on add-archive-boot. (clean-icedtea-stage1): Depend on clean-add-archive-boot. * NEWS: Mention. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 00:42:06 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 00:42:06 +0000 Subject: [Bug 2251] open JDK In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2251 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|enhancement |normal -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Tue Mar 3 08:36:50 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 03 Mar 2015 08:36:50 +0000 Subject: /hg/gfx-test: Added ten new helper methods. Message-ID: changeset 0e2c77af8a0d in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=0e2c77af8a0d author: Pavel Tisnovsky date: Tue Mar 03 09:38:52 2015 +0100 Added ten new helper methods. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 170 +++++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r c1a081e7e2e3 -r 0e2c77af8a0d ChangeLog --- a/ChangeLog Mon Mar 02 10:50:10 2015 +0100 +++ b/ChangeLog Tue Mar 03 09:38:52 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-03 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Added ten new helper methods. + 2015-03-02 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r c1a081e7e2e3 -r 0e2c77af8a0d src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Mar 02 10:50:10 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Mar 03 09:38:52 2015 +0100 @@ -4587,6 +4587,176 @@ } /** + * Test basic BitBlt operation for verticalGreen gradient buffered image with type {@link BufferedImage#TYPE_CUSTOM}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalGreenGradientBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalGreenGradientImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 09:52:13 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 09:52:13 +0000 Subject: [Bug 2024] [STORY] Number of threads chart should not require turning on thread recording In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2024 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at icedtea.classpat |omajid at redhat.com |h.org | --- Comment #4 from Severin Gehwolf --- Can we close this? -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 10:01:58 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 10:01:58 +0000 Subject: [Bug 2084] InputStream resource leak from Storage.saveFile() API In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2084 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |sgehwolf at redhat.com Assignee|unassigned at icedtea.classpat |omajid at redhat.com |h.org | --- Comment #2 from Severin Gehwolf --- I think Omair is working on this one. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 10:31:14 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 10:31:14 +0000 Subject: [Bug 1449] Thermostat storage silently does not start if its port is occupied by other application In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1449 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sgehwolf at redhat.com Assignee|jon.vanalten at redhat.com |unassigned at icedtea.classpat | |h.org Target Milestone|--- |1.4.0 --- Comment #1 from Severin Gehwolf --- We should be able to fix this by setting the exit code to failure if binding fails. The ExitStatus service should help here. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 10:40:21 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 10:40:21 +0000 Subject: [Bug 2252] New: thermostat service fails silently if agent fails to connect Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2252 Bug ID: 2252 Summary: thermostat service fails silently if agent fails to connect Product: Thermostat Version: hg Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P5 Component: Thermostat Assignee: unassigned at icedtea.classpath.org Reporter: sgehwolf at redhat.com CC: thermostat at icedtea.classpath.org Steps to reproduce: 1. Create a regular dev-build in HEAD (revision 9c21b804f2f0) 2. Turn off logging via logging.properties. See http://icedtea.classpath.org/wiki/Thermostat/UserGuideDev#Verbose_Logging 3. ./distribution/target/image/bin/thermostat service Expected results: service prints error message to stderr stream indicating that connecting to storage failed. Actual results: starting storage server... server listening on ip: mongodb://127.0.0.1:27518 log file is here: /home/sgehwolf/.thermostat/logs/db.log pid: 10940 server shutdown complete: /home/sgehwolf/.thermostat/data/db log file is here: /home/sgehwolf/.thermostat/logs/db.log Those are all messages coming from StorageCommand, no output that anything fails in agent. This is confusing. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 10:51:29 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 10:51:29 +0000 Subject: [Bug 2252] thermostat service fails silently if agent fails to connect In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2252 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at icedtea.classpat |sgehwolf at redhat.com |h.org | -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Tue Mar 3 13:50:28 2015 From: jkang at redhat.com (Jie Kang) Date: Tue, 3 Mar 2015 08:50:28 -0500 (EST) Subject: [rfc][icedtea-web] Fix DeadLockTest reproducers In-Reply-To: <341377520.15262435.1425390303842.JavaMail.zimbra@redhat.com> Message-ID: <1261379446.15266752.1425390628291.JavaMail.zimbra@redhat.com> Hello, The asserts in DeadLockTestTest contain a division by two which results in failure. E.g. testSimpletest1lunchFork: Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()) / 2, 2, (during.size() - before.size()) / 2); This test launches two applets forked (in separate JVMs). during == 3, before == 1, so it correctly launches two JVMs, however the assert divides this by 2 for some reason, (3 - 1) / 2 == 1 != 2. These divisions don't make sense and have been removed. Thoughts? Okay to push? Regards, -- Jie Kang OpenJDK Team - Software Engineering Intern -------------- next part -------------- A non-text attachment was scrubbed... Name: itw-deadlocktest-1.patch Type: text/x-patch Size: 1454 bytes Desc: not available URL: From jvanek at redhat.com Tue Mar 3 14:07:59 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 03 Mar 2015 15:07:59 +0100 Subject: [rfc][icedtea-web] Fix DeadLockTest reproducers In-Reply-To: <1261379446.15266752.1425390628291.JavaMail.zimbra@redhat.com> References: <1261379446.15266752.1425390628291.JavaMail.zimbra@redhat.com> Message-ID: <54F5C03F.3040002@redhat.com> On 03/03/2015 02:50 PM, Jie Kang wrote: > Hello, > > The asserts in DeadLockTestTest contain a division by two which results in failure. > > E.g. > > testSimpletest1lunchFork: > Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()) / 2, 2, (during.size() - before.size()) / 2); > > This test launches two applets forked (in separate JVMs). during == 3, before == 1, so it correctly launches two JVMs, however the assert divides this by 2 for some reason, (3 - 1) / 2 == 1 != 2. > > These divisions don't make sense and have been removed. > > Thoughts? Okay to push? > > > Regards, > sure go on. From jkang at icedtea.classpath.org Tue Mar 3 14:24:48 2015 From: jkang at icedtea.classpath.org (jkang at icedtea.classpath.org) Date: Tue, 03 Mar 2015 14:24:48 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 7e1a098d6335 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7e1a098d6335 author: Jie Kang date: Mon Mar 02 10:02:35 2015 -0500 Use temporary cache in PluginBridge unit tests 2015-03-02 Jie Kang Use temporary cache in PluginBridge unit tests * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: sets temporary cache in @BeforeClass and unsets in @AfterClass changeset 11b46740b094 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=11b46740b094 author: Jie Kang date: Tue Mar 03 09:14:07 2015 -0500 Fix DeadLockTest reproducers 2015-03-03 Jie Kang Fix DeadLockTest reproducers * tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java: (testSimpletest1lunchFork), (testSimpletest1lunchNoFork) removed division by two in final assert diffstat: ChangeLog | 13 ++++++ tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java | 21 ++++++++++ tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java | 4 +- 3 files changed, 36 insertions(+), 2 deletions(-) diffs (91 lines): diff -r 85fe0274f4a8 -r 11b46740b094 ChangeLog --- a/ChangeLog Mon Mar 02 14:23:39 2015 +0100 +++ b/ChangeLog Tue Mar 03 09:14:07 2015 -0500 @@ -1,3 +1,16 @@ +2015-03-03 Jie Kang + + Fix DeadLockTest reproducers + * tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java: + (testSimpletest1lunchFork), (testSimpletest1lunchNoFork) removed division + by two in final assert + +2015-03-02 Jie Kang + + Use temporary cache in PluginBridge unit tests + * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: sets + temporary cache in @BeforeClass and unsets in @AfterClass + 2015-02-27 Jiri Vanek Silenced to verbose unittests diff -r 85fe0274f4a8 -r 11b46740b094 tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java Mon Mar 02 14:23:39 2015 +0100 +++ b/tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java Tue Mar 03 09:14:07 2015 -0500 @@ -24,6 +24,7 @@ import static org.junit.Assert.assertEquals; +import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; @@ -32,11 +33,17 @@ import java.util.Map; import java.util.List; +import net.sourceforge.jnlp.cache.CacheUtil; import net.sourceforge.jnlp.cache.UpdatePolicy; +import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.util.logging.NoStdOutErrTest; import net.sourceforge.jnlp.util.replacements.BASE64Encoder; + +import org.junit.AfterClass; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; public class PluginBridgeTest extends NoStdOutErrTest{ @@ -74,6 +81,20 @@ return new PluginParameters(params); } + private static String originalCacheDir; + + @BeforeClass + public static void setup() { + originalCacheDir = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); + JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, System.getProperty("java.io.tmpdir") + File.separator + "tempcache"); + } + + @AfterClass + public static void teardown() { + CacheUtil.clearCache(); + JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, originalCacheDir); + } + @Test public void testAbsoluteJNLPHref() throws MalformedURLException, Exception { URL codeBase = new URL("http://undesired.absolute.codebase.com"); diff -r 85fe0274f4a8 -r 11b46740b094 tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java --- a/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java Mon Mar 02 14:23:39 2015 +0100 +++ b/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java Tue Mar 03 09:14:07 2015 -0500 @@ -120,7 +120,7 @@ ServerAccess.logOutputReprint("java66: " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); // div by two is caused by jav in java process hierarchy - Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()) / 2, 2, (during.size() - before.size()) / 2); + Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()), 2, (during.size() - before.size())); } @Test @@ -142,7 +142,7 @@ ServerAccess.logOutputReprint("java99: " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); // div by two is caused by jav in java process hierarchy - Assert.assertEquals("launched JVMs must be exactly 1, was " + (during.size() - before.size()) / 2, 1, (during.size() - before.size()) / 2); + Assert.assertEquals("launched JVMs must be exactly 1, was " + (during.size() - before.size()), 1, (during.size() - before.size())); } /** From jkang at icedtea.classpath.org Tue Mar 3 14:41:37 2015 From: jkang at icedtea.classpath.org (jkang at icedtea.classpath.org) Date: Tue, 03 Mar 2015 14:41:37 +0000 Subject: /hg/release/icedtea-web-1.5: Fix DeadLockTest reproducers Message-ID: changeset eaafcffd67a2 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=eaafcffd67a2 author: Jie Kang date: Tue Mar 03 09:41:23 2015 -0500 Fix DeadLockTest reproducers 2015-03-03 Jie Kang Fix DeadLockTest reproducers * tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java: (testSimpletest1lunchFork), (testSimpletest1lunchNoFork) removed division by two in final assert diffstat: ChangeLog | 7 +++++++ tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diffs (35 lines): diff -r 60d4f3f0b3eb -r eaafcffd67a2 ChangeLog --- a/ChangeLog Thu Nov 27 11:16:46 2014 +0100 +++ b/ChangeLog Tue Mar 03 09:41:23 2015 -0500 @@ -1,3 +1,10 @@ +2015-03-03 Jie Kang + + Fix DeadLockTest reproducers + * tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java: + (testSimpletest1lunchFork), (testSimpletest1lunchNoFork) removed division + by two in final assert + 2014-11-27 Jiri Vanek Post 1.5.2 changes diff -r 60d4f3f0b3eb -r eaafcffd67a2 tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java --- a/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java Thu Nov 27 11:16:46 2014 +0100 +++ b/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java Tue Mar 03 09:41:23 2015 -0500 @@ -120,7 +120,7 @@ ServerAccess.logOutputReprint("java66: " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); // div by two is caused by jav in java process hierarchy - Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()) / 2, 2, (during.size() - before.size()) / 2); + Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()), 2, (during.size() - before.size())); } @Test @@ -142,7 +142,7 @@ ServerAccess.logOutputReprint("java99: " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); // div by two is caused by jav in java process hierarchy - Assert.assertEquals("launched JVMs must be exactly 1, was " + (during.size() - before.size()) / 2, 1, (during.size() - before.size()) / 2); + Assert.assertEquals("launched JVMs must be exactly 1, was " + (during.size() - before.size()), 1, (during.size() - before.size())); } /** From jvanek at redhat.com Tue Mar 3 14:46:28 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 03 Mar 2015 15:46:28 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F4923C.3030302@redhat.com> References: <54F4923C.3030302@redhat.com> Message-ID: <54F5C944.9090908@redhat.com> snip > However. Later I noted that recently_used file is not handled via PahsAndFiles. > > I moved it here, which needed some more changes - like make it properly testable and so get rid of > this untestable ENUM and replace it by getter singleton with possibility to make testable instance. > > I agree that this patch was written in rush, and needs proper review. > J. ping -------------- next part -------------- diff -r d0e2beda96ca netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Mar 03 15:43:23 2015 +0100 @@ -49,8 +49,7 @@ import java.util.Map.Entry; import java.util.Set; -import net.sourceforge.jnlp.config.DeploymentConfiguration; -import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.PropertiesFile; import net.sourceforge.jnlp.util.logging.OutputController; @@ -62,26 +61,26 @@ * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca) * */ -public enum CacheLRUWrapper { - INSTANCE; - - /* location of cache directory */ - private final String setCachePath = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); - String cacheDir = new File(setCachePath != null ? setCachePath : System.getProperty("java.io.tmpdir")).getPath(); - +public class CacheLRUWrapper { + /* * back-end of how LRU is implemented This file is to keep track of the most * recently used items. The items are to be kept with key = (current time * accessed) followed by folder of item. value = path to file. */ + + public final PropertiesFile cacheOrder; + public final File cacheOrderParent; + public final File cacheOrderFile; - public static final String CACHE_INDEX_FILE_NAME = "recently_used"; - - PropertiesFile cacheOrder = new PropertiesFile( - new File(cacheDir + File.separator + CACHE_INDEX_FILE_NAME)); - - private CacheLRUWrapper() { - File f = cacheOrder.getStoreFile(); + public CacheLRUWrapper() { + this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); + } + + public CacheLRUWrapper(final File f) { + cacheOrder = new PropertiesFile(f); + cacheOrderFile = f; + cacheOrderParent = f.getParentFile(); if (!f.exists()) { try { FileUtils.createParentDir(f); @@ -98,8 +97,12 @@ * @return an instance of the policy */ public static CacheLRUWrapper getInstance() { - return INSTANCE; + return CacheLRUWrapperHolder.INSTANCE; } + + private static class CacheLRUWrapperHolder{ + private static final CacheLRUWrapper INSTANCE = new CacheLRUWrapper(); + } /** * Update map for keeping track of recently used items. @@ -144,7 +147,7 @@ // 2. check path format - does the path look correct? if (path != null) { - if (path.indexOf(cacheDir) < 0) { + if (!path.contains(cacheOrderParent.getAbsolutePath())) { it.remove(); modified = true; } @@ -198,7 +201,7 @@ } private String getIdForCacheFolder(String folder) { - int len = cacheDir.length(); + int len = cacheOrderParent.getAbsolutePath().length(); int index = folder.indexOf(File.separatorChar, len + 1); return folder.substring(len + 1, index); } diff -r d0e2beda96ca netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Tue Mar 03 15:43:23 2015 +0100 @@ -757,12 +757,12 @@ errors += moveLegacyToCurrent(legacySecurity, currentSecurity); String legacyCache = LEGACY_USER_HOME + File.separator + "cache"; - String currentCache = Defaults.getDefaults().get(DeploymentConfiguration.KEY_USER_CACHE_DIR).getDefaultValue(); + String currentCache = PathsAndFiles.CACHE_DIR.getFullPath(); errors += moveLegacyToCurrent(legacyCache, currentCache); - OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, "Adapting " + CacheLRUWrapper.CACHE_INDEX_FILE_NAME + " to new destination"); + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, "Adapting " + PathsAndFiles.CACHE_INDEX_FILE_NAME + " to new destination"); //replace all legacyCache by currentCache in new recently_used try { - File f = new File(currentCache, CacheLRUWrapper.CACHE_INDEX_FILE_NAME); + File f = PathsAndFiles.RECENTLY_USED_FILE.getFile(); String s = FileUtils.loadFileAsString(f); s = s.replace(legacyCache, currentCache); FileUtils.saveFile(s, f); diff -r d0e2beda96ca netx/net/sourceforge/jnlp/config/PathsAndFiles.java --- a/netx/net/sourceforge/jnlp/config/PathsAndFiles.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/config/PathsAndFiles.java Tue Mar 03 15:43:23 2015 +0100 @@ -68,6 +68,7 @@ private static final String USER_PROP = "user.name"; private static final String VARIABLE = JNLPRuntime.isWindows() ? "%" : "$"; public static final String ICEDTEA_SO = "IcedTeaPlugin.so"; + public static final String CACHE_INDEX_FILE_NAME = "recently_used"; static { String configHome = System.getProperty(HOME_PROP) + File.separator + ".config"; @@ -115,6 +116,7 @@ public static final InfrastructureFileDescriptor OPERA_32 = new InfrastructureFileDescriptor(ICEDTEA_SO, "/usr/lib/opera/plugins/", "", "FILEopera32", Target.PLUGIN); public static final InfrastructureFileDescriptor CACHE_DIR = new ItwCacheFileDescriptor("cache", "FILEcache", Target.JAVAWS, Target.ITWEB_SETTINGS); + public static final InfrastructureFileDescriptor RECENTLY_USED_FILE = new ItwCacheFileDescriptor(CACHE_INDEX_FILE_NAME, CACHE_DIR.getFile().getName(), "FILErecentlyUsed", Target.JAVAWS, Target.ITWEB_SETTINGS); public static final InfrastructureFileDescriptor PCACHE_DIR = new ItwCacheFileDescriptor("pcache", "FILEappdata", Target.JAVAWS, Target.ITWEB_SETTINGS); public static final InfrastructureFileDescriptor LOG_DIR = new ItwConfigFileDescriptor("log", "FILElogs", Target.JAVAWS, Target.ITWEB_SETTINGS); //javaws is saving here, itweb-settings may modify them diff -r d0e2beda96ca netx/net/sourceforge/jnlp/controlpanel/CachePane.java --- a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Tue Mar 03 15:43:23 2015 +0100 @@ -58,10 +58,10 @@ import javax.swing.table.TableRowSorter; import net.sourceforge.jnlp.cache.CacheDirectory; -import net.sourceforge.jnlp.cache.CacheLRUWrapper; import net.sourceforge.jnlp.cache.CacheUtil; import net.sourceforge.jnlp.cache.DirectoryNode; import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.PropertiesFile; @@ -71,7 +71,7 @@ public class CachePane extends JPanel { JDialog parent; DeploymentConfiguration config; - private String location; + private final String location; private JComponent defaultFocusComponent; DirectoryNode root; String[] columns = { @@ -323,7 +323,7 @@ } private void updateRecentlyUsed(File f) { - File recentlyUsedFile = new File(location + File.separator + CacheLRUWrapper.CACHE_INDEX_FILE_NAME); + File recentlyUsedFile = PathsAndFiles.RECENTLY_USED_FILE.getFile(); PropertiesFile pf = new PropertiesFile(recentlyUsedFile); pf.load(); Enumeration en = pf.keys(); diff -r d0e2beda96ca netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 03 15:43:23 2015 +0100 @@ -1034,6 +1034,7 @@ FILEopera32=Location of plugin library for global purposes on opera compliant browser, 32b systems. FILEcache=Contains cached runtime entries (and my be changed by you). +FILErecentlyUsed=Additional information about items in cache FILEappdata=Contains saved application data. FILElogs=(may be set to different location by you) contains file log files (if enabled). itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else. FILEicons=Location where icons of javaws applications desktp/menu launchers icons are stored diff -r d0e2beda96ca tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Tue Mar 03 15:33:27 2015 +0100 +++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Tue Mar 03 15:43:23 2015 +0100 @@ -46,42 +46,28 @@ import java.io.PrintStream; import java.util.concurrent.CountDownLatch; -import org.junit.AfterClass; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.util.CacheTestUtils; import net.sourceforge.jnlp.util.PropertiesFile; public class CacheLRUWrapperTest { - private static final CacheLRUWrapper clw = CacheLRUWrapper.getInstance(); private static String cacheDirBackup; private static PropertiesFile cacheOrderBackup; // does no DeploymentConfiguration exist for this file name? - private static final String cacheIndexFileName = CacheLRUWrapper.CACHE_INDEX_FILE_NAME + "_testing"; + private static final String cacheIndexFileName = PathsAndFiles.CACHE_INDEX_FILE_NAME + "_testing"; + private static final CacheLRUWrapper clw = new CacheLRUWrapper(new File(System.getProperty("java.io.tmpdir"),cacheIndexFileName)); private final int noEntriesCacheFile = 1000; private ByteArrayOutputStream baos; private PrintStream out; - @BeforeClass - static public void setupJNLPRuntimeConfig() { - cacheDirBackup = clw.cacheDir; - cacheOrderBackup = clw.cacheOrder; - clw.cacheDir=System.getProperty("java.io.tmpdir"); - clw.cacheOrder = new PropertiesFile( new File(clw.cacheDir + File.separator + cacheIndexFileName)); - - } - - @AfterClass - static public void restoreJNLPRuntimeConfig() { - clw.cacheDir = cacheDirBackup; - clw.cacheOrder = cacheOrderBackup; - } + @Before public void setup() { @@ -92,7 +78,7 @@ @Test public void testLoadStoreTiming() throws InterruptedException { - final File cacheIndexFile = new File(clw.cacheDir + File.separator + cacheIndexFileName); + final File cacheIndexFile = clw.cacheOrderFile; cacheIndexFile.delete(); try { int noLoops = 1000; @@ -133,7 +119,7 @@ // fill cache index file for(int i = 0; i < noEntries; i++) { - String path = clw.cacheDir + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; + String path = clw.cacheOrderFile.getAbsolutePath() + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; String key = clw.generateKey(path); clw.addEntry(key, path); } @@ -142,7 +128,7 @@ @Test public void testModTimestampAfterStore() throws InterruptedException { - final File cacheIndexFile = new File(clw.cacheDir + File.separator + cacheIndexFileName); + final File cacheIndexFile = clw.cacheOrderFile; cacheIndexFile.delete(); try{ clw.lock(); diff -r d0e2beda96ca tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue Mar 03 15:33:27 2015 +0100 +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue Mar 03 15:43:23 2015 +0100 @@ -44,13 +44,11 @@ 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.ProcessResult; import net.sourceforge.jnlp.annotations.KnownToFail; -import net.sourceforge.jnlp.config.Defaults; import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.tools.MessageProperties; import org.junit.AfterClass; @@ -70,13 +68,12 @@ private static final Pattern corruptPatern = Pattern.compile(corruptRegex); private static final String corruptString = "156dsf1562kd5"; - private static final File icedteaCache = new File(PathsAndFiles.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"); + //recently.used is always here + private static final int PERNAMENT_FILES = 1; + + private static final File icedteaCache = PathsAndFiles.CACHE_DIR.getFile(); + private static final File icedteaCacheFile = PathsAndFiles.RECENTLY_USED_FILE.getFile(); + private static final File netxLock = PathsAndFiles.MAIN_LOCK.getFile(); String testS = "#netx file\n" + "#Mon Dec 12 16:20:46 CET 2011\n" @@ -142,7 +139,7 @@ private void assertCacheIsNotEmpty() { Assert.assertTrue("icedtea cache " + icedteaCache.getAbsolutePath() + " should exist some any run", icedteaCache.exists()); Assert.assertTrue("icedtea cache file " + icedteaCacheFile.getAbsolutePath() + " should exist some any run", icedteaCacheFile.exists()); - Assert.assertTrue("icedtea cache file " + icedteaCacheFile.getAbsolutePath() + " should not be empty", icedteaCacheFile.length() > 0); + Assert.assertTrue("icedtea cache file " + icedteaCacheFile.getAbsolutePath() + " should not be empty", icedteaCacheFile.length() > PERNAMENT_FILES); } /** @@ -346,7 +343,7 @@ } tryToClearcache(); - Assert.assertTrue("icedtea cache " + icedteaCache.getAbsolutePath() + " should be empty after clearing", icedteaCache.listFiles().length == 0); + Assert.assertTrue("icedtea cache " + icedteaCache.getAbsolutePath() + " should be empty after clearing", icedteaCache.listFiles().length == PERNAMENT_FILES); } private static String loadFile(File f) throws FileNotFoundException, UnsupportedEncodingException, IOException { From jkang at icedtea.classpath.org Tue Mar 3 14:47:01 2015 From: jkang at icedtea.classpath.org (jkang at icedtea.classpath.org) Date: Tue, 03 Mar 2015 14:47:01 +0000 Subject: /hg/release/icedtea-web-1.4: Fix DeadLockTest reproducers Message-ID: changeset 050347a87858 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=050347a87858 author: Jie Kang date: Tue Mar 03 09:46:35 2015 -0500 Fix DeadLockTest reproducers 2015-03-03 Jie Kang Fix DeadLockTest reproducers * tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java: (testSimpletest1lunchFork), (testSimpletest1lunchNoFork) removed division by two in final assert diffstat: ChangeLog | 7 +++++++ tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diffs (35 lines): diff -r d27ef8e16953 -r 050347a87858 ChangeLog --- a/ChangeLog Thu Oct 23 12:22:42 2014 +0200 +++ b/ChangeLog Tue Mar 03 09:46:35 2015 -0500 @@ -1,3 +1,10 @@ +2015-03-03 Jie Kang + + Fix DeadLockTest reproducers + * tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java: + (testSimpletest1lunchFork), (testSimpletest1lunchNoFork) removed division + by two in final assert + 2014-10-21 Jiri Vanek Unittests coverage adapted to latest jacoco diff -r d27ef8e16953 -r 050347a87858 tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java --- a/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java Thu Oct 23 12:22:42 2014 +0200 +++ b/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java Tue Mar 03 09:46:35 2015 -0500 @@ -120,7 +120,7 @@ ServerAccess.logOutputReprint("java66: " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); // div by two is caused by jav in java process hierarchy - Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()) / 2, 2, (during.size() - before.size()) / 2); + Assert.assertEquals("launched JVMs must be exactly 2, was " + (during.size() - before.size()), 2, (during.size() - before.size())); } @Test @@ -142,7 +142,7 @@ ServerAccess.logOutputReprint("java99: " + afterKill.size()); Assert.assertEquals("assert that just old javas remians", 0, (before.size() - afterKill.size())); // div by two is caused by jav in java process hierarchy - Assert.assertEquals("launched JVMs must be exactly 1, was " + (during.size() - before.size()) / 2, 1, (during.size() - before.size()) / 2); + Assert.assertEquals("launched JVMs must be exactly 1, was " + (during.size() - before.size()), 1, (during.size() - before.size())); } /** From jvanek at icedtea.classpath.org Tue Mar 3 14:51:44 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 03 Mar 2015 14:51:44 +0000 Subject: /hg/icedtea-web: Fixed CacheReproducerTest and VersionedJarTest ... Message-ID: changeset d0e2beda96ca in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d0e2beda96ca author: Jiri Vanek date: Tue Mar 03 15:33:27 2015 +0100 Fixed CacheReproducerTest and VersionedJarTest tests * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: fixed * tests/reproducers/simple/VersionedJar__V1/testcases/VersionedJarTest.java: fixed * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: introduced executeJavawsClearCache shortcut method to executeJavawsHeadless diffstat: ChangeLog | 10 +++++++++ tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java | 6 ++-- tests/reproducers/simple/VersionedJar__V1/testcases/VersionedJarTest.java | 11 ++++++++++ tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java | 4 +++ 4 files changed, 28 insertions(+), 3 deletions(-) diffs (112 lines): diff -r 11b46740b094 -r d0e2beda96ca ChangeLog --- a/ChangeLog Tue Mar 03 09:14:07 2015 -0500 +++ b/ChangeLog Tue Mar 03 15:33:27 2015 +0100 @@ -1,3 +1,13 @@ +2015-02-27 Jiri Vanek + + Fixed CacheReproducerTest and VersionedJarTest tests + * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: + fixed + * tests/reproducers/simple/VersionedJar__V1/testcases/VersionedJarTest.java: + fixed + * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: introduced + executeJavawsClearCache shortcut method to executeJavawsHeadless + 2015-03-03 Jie Kang Fix DeadLockTest reproducers diff -r 11b46740b094 -r d0e2beda96ca tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue Mar 03 09:14:07 2015 -0500 +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue Mar 03 15:33:27 2015 +0100 @@ -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.config.PathsAndFiles; import net.sourceforge.jnlp.tools.MessageProperties; import org.junit.AfterClass; import org.junit.Assert; @@ -60,7 +61,6 @@ public class CacheReproducerTest { private static final ServerAccess server = new ServerAccess(); - 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}); @@ -70,7 +70,7 @@ private static final Pattern corruptPatern = Pattern.compile(corruptRegex); private static final String corruptString = "156dsf1562kd5"; - private static final File icedteaCache = new File(Defaults.USER_CACHE_HOME, "cache"); + private static final File icedteaCache = new File(PathsAndFiles.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 + @@ -476,7 +476,7 @@ } private static ProcessResult tryToClearcache() throws Exception { - ProcessResult pr1 = ServerAccess.executeProcess(clear); + ProcessResult pr1 = server.executeJavawsClearCache(); return pr1; } } diff -r 11b46740b094 -r d0e2beda96ca tests/reproducers/simple/VersionedJar__V1/testcases/VersionedJarTest.java --- a/tests/reproducers/simple/VersionedJar__V1/testcases/VersionedJarTest.java Tue Mar 03 09:14:07 2015 -0500 +++ b/tests/reproducers/simple/VersionedJar__V1/testcases/VersionedJarTest.java Tue Mar 03 15:33:27 2015 +0100 @@ -38,6 +38,7 @@ import net.sourceforge.jnlp.ServerAccess; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; public class VersionedJarTest { @@ -46,8 +47,17 @@ private static final String VERSIONED = "Versioned jar was accessed."; private static final String FAILURE = "net.sourceforge.jnlp.LaunchException"; + @BeforeClass + public static void clearCache() throws Exception{ + //to speedup individual methods + server.executeJavawsClearCache(); + } + @Test public void testDisabledVersionParameter() throws Exception { + //if testEnabledVersionParameter is run before this onne, then it fails + server.executeJavawsClearCache(); + //the versioning is realted only to downloading of resources, so afaik this behaviour is correct ProcessResult pr = server.executeJavawsHeadless("/VersionedJarDisabled.jnlp"); Assert.assertFalse("Stdout should NOT contain '" + VERSIONED + "', but did.", pr.stdout.contains(VERSIONED)); Assert.assertTrue("Stderr should contain '" +FAILURE + "', but did not.", pr.stderr.contains(FAILURE)); @@ -55,6 +65,7 @@ @Test public void testEnabledVersionParameter() throws Exception { + server.executeJavawsClearCache(); ProcessResult pr = server.executeJavawsHeadless("/VersionedJarEnabled.jnlp"); Assert.assertTrue("Stdout should contain '" + VERSIONED + "', but did not.", pr.stdout.contains(VERSIONED)); Assert.assertFalse("Stderr should NOT contain '" +FAILURE + "', but did.", pr.stderr.contains(FAILURE)); diff -r 11b46740b094 -r d0e2beda96ca tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java --- a/tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java Tue Mar 03 09:14:07 2015 -0500 +++ b/tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java Tue Mar 03 15:33:27 2015 +0100 @@ -46,6 +46,7 @@ import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import net.sourceforge.jnlp.browsertesting.Browser; import net.sourceforge.jnlp.browsertesting.BrowserFactory; @@ -523,6 +524,9 @@ public ProcessResult executeJavawsHeadless(String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { return executeJavawsHeadless(null, resource,stdoutl,stderrl,null); } + public ProcessResult executeJavawsClearCache() throws Exception { + return executeProcess(Arrays.asList(new String[]{getJavawsLocation(), OptionsDefinitions.OPTIONS.CLEARCACHE.option, ServerAccess.HEADLES_OPTION})); + } /** * wrapping method to executeProcess (eg: javaws arg arg -headless http://localhost:port/resource) From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 15:20:52 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 15:20:52 +0000 Subject: [Bug 2121] Allow garbage collection to be performed within the GC tab. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2121 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sgehwolf at redhat.com Assignee|jkang at redhat.com |unassigned at icedtea.classpat | |h.org -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 15:22:34 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 15:22:34 +0000 Subject: [Bug 1449] Thermostat storage silently does not start if its port is occupied by other application In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1449 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Severin Gehwolf --- I can't reproduce this with revision 9c21b804f2f0. Closing as fixed. $ java UseSocket & [1] 2103 $ ./distribution/target/image/bin/thermostat --clean-osgi-cache storage --start starting storage server... $ echo $? 1 -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Tue Mar 3 15:25:46 2015 From: jkang at redhat.com (Jie Kang) Date: Tue, 3 Mar 2015 10:25:46 -0500 (EST) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F5C944.9090908@redhat.com> References: <54F4923C.3030302@redhat.com> <54F5C944.9090908@redhat.com> Message-ID: <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> ----- Original Message ----- > snip > > However. Later I noted that recently_used file is not handled via > > PahsAndFiles. > > > > I moved it here, which needed some more changes - like make it properly > > testable and so get rid of > > this untestable ENUM and replace it by getter singleton with possibility to > > make testable instance. > > > > I agree that this patch was written in rush, and needs proper review. > > J. Hello, Nits below: + public final PropertiesFile cacheOrder; + public final File cacheOrderParent; + public final File cacheOrderFile; The name 'cacheOrder' isn't very descriptive. Can you change it to recentlyUsedFile or something similar? Can you use getters instead of public variables? Then you can reduce it to just one variable. e.g. private final PropertiesFile recentlyUsed; public PropertiesFile getProperties() { ... } public File getParentFile() { ... } public File getFile() { ... } Names of function are up to you. + private static final CacheLRUWrapper clw = new CacheLRUWrapper(new File(System.getProperty("java.io.tmpdir"),cacheIndexFileName)); Space after the comma: ("java.io.tmpdir"),cacheIndexFileName Also, this will set the cache to the tmp directory. Can you create a tempcache directory inside tmp and then use that instead? It's a little bit cleaner. And please make sure the tests clean themselves up afterwards using file.deleteOnExit(), etc. + private static final int PERNAMENT_FILES = 1; s/PERNAMENT/PERMANENT Side note: I don't see how this is more testable than before. enum singleton and class singleton are equally testable to me. Can you provide any examples? Regards, > > ping > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Tue Mar 3 15:49:28 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 03 Mar 2015 16:49:28 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <54F5C944.9090908@redhat.com> <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> Message-ID: <54F5D808.20602@redhat.com> On 03/03/2015 04:25 PM, Jie Kang wrote: > > > ----- Original Message ----- >> snip >>> However. Later I noted that recently_used file is not handled via >>> PahsAndFiles. >>> >>> I moved it here, which needed some more changes - like make it properly >>> testable and so get rid of >>> this untestable ENUM and replace it by getter singleton with possibility to >>> make testable instance. >>> >>> I agree that this patch was written in rush, and needs proper review. >>> J. > > Hello, > > Nits below: > > + public final PropertiesFile cacheOrder; > + public final File cacheOrderParent; > + public final File cacheOrderFile; > > The name 'cacheOrder' isn't very descriptive. Can you change it to recentlyUsedFile or something similar? > > Can you use getters instead of public variables? Then you can reduce it to just one variable. > Done. Now the patch is a bit dirty, but it was good change. > e.g. > > private final PropertiesFile recentlyUsed; > > public PropertiesFile getProperties() { ... } > public File getParentFile() { ... } > public File getFile() { ... } > > Names of function are up to you. > > + private static final CacheLRUWrapper clw = new CacheLRUWrapper(new File(System.getProperty("java.io.tmpdir"),cacheIndexFileName)); > > Space after the comma: ("java.io.tmpdir"),cacheIndexFileName done > > Also, this will set the cache to the tmp directory. Can you create a tempcache directory inside tmp and then use that instead? I hate how this is done in java... anyweay done. > > It's a little bit cleaner. And please make sure the tests clean themselves up afterwards using file.deleteOnExit(), etc. done > > + private static final int PERNAMENT_FILES = 1; > > s/PERNAMENT/PERMANENT Thanx! > > > Side note: > > I don't see how this is more testable than before. enum singleton and class singleton are equally testable to me. Can you provide any examples? > To beable to create fake testable instance. > > Regards, > >> >> ping >> > -------------- next part -------------- diff -r d0e2beda96ca ChangeLog --- a/ChangeLog Tue Mar 03 15:33:27 2015 +0100 +++ b/ChangeLog Tue Mar 03 16:48:10 2015 +0100 @@ -1,4 +1,9 @@ -2015-02-27 Jiri Vanek +2015-03-03 Jiri Vanek + + Changing enum CacheLRUWrapper singleton to instantiatible one + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java + +2015-03-03 Jiri Vanek Fixed CacheReproducerTest and VersionedJarTest tests * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: diff -r d0e2beda96ca netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Mar 03 16:48:10 2015 +0100 @@ -49,8 +49,7 @@ import java.util.Map.Entry; import java.util.Set; -import net.sourceforge.jnlp.config.DeploymentConfiguration; -import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.PropertiesFile; import net.sourceforge.jnlp.util.logging.OutputController; @@ -59,33 +58,44 @@ * This class helps maintain the ordering of most recently use items across * multiple jvm instances. * - * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca) - * */ -public enum CacheLRUWrapper { - INSTANCE; - - /* location of cache directory */ - private final String setCachePath = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); - String cacheDir = new File(setCachePath != null ? setCachePath : System.getProperty("java.io.tmpdir")).getPath(); - +public class CacheLRUWrapper { + /* * back-end of how LRU is implemented This file is to keep track of the most * recently used items. The items are to be kept with key = (current time * accessed) followed by folder of item. value = path to file. */ + + private final PropertiesFile recentlyUsedPropertiesFile; + private final File cacheDir; + private final File recentlyUsedFile; - public static final String CACHE_INDEX_FILE_NAME = "recently_used"; - - PropertiesFile cacheOrder = new PropertiesFile( - new File(cacheDir + File.separator + CACHE_INDEX_FILE_NAME)); - - private CacheLRUWrapper() { - File f = cacheOrder.getStoreFile(); - if (!f.exists()) { + public CacheLRUWrapper() { + this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); + } + + /** + * testing constructor + * @param recentlyUsed file to be used as recently_used file. its parent will be used as cache dir + */ + public CacheLRUWrapper(final File recentlyUsed) { + this(recentlyUsed, recentlyUsed.getParentFile()); + } + + /** + * testing constructor + * @param recentlyUsed file to be used as recently_used file + * @param cacheDir dir with cache + */ + public CacheLRUWrapper(final File recentlyUsed, final File cacheDir) { + recentlyUsedPropertiesFile = new PropertiesFile(recentlyUsed); + recentlyUsedFile = recentlyUsed; + this.cacheDir = cacheDir; + if (!recentlyUsed.exists()) { try { - FileUtils.createParentDir(f); - FileUtils.createRestrictedFile(f, true); + FileUtils.createParentDir(recentlyUsed); + FileUtils.createRestrictedFile(recentlyUsed, true); } catch (IOException e) { OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); } @@ -98,14 +108,39 @@ * @return an instance of the policy */ public static CacheLRUWrapper getInstance() { - return INSTANCE; + return CacheLRUWrapperHolder.INSTANCE; } /** + * @return the recentlyUsedPropertiesFile + */ + public PropertiesFile getRecentlyUsedPropertiesFile() { + return recentlyUsedPropertiesFile; + } + + /** + * @return the cacheDir + */ + public File getCacheDir() { + return cacheDir; + } + + /** + * @return the recentlyUsedFile + */ + public File getRecentlyUsedFile() { + return recentlyUsedFile; + } + + private static class CacheLRUWrapperHolder{ + private static final CacheLRUWrapper INSTANCE = new CacheLRUWrapper(); + } + + /** * Update map for keeping track of recently used items. */ public synchronized void load() { - boolean loaded = cacheOrder.load(); + boolean loaded = getRecentlyUsedPropertiesFile().load(); /* * clean up possibly corrupted entries */ @@ -118,13 +153,13 @@ } /** - * check content of cacheOrder and remove invalid/corrupt entries + * check content of recentlyUsedPropertiesFile and remove invalid/corrupt entries * * @return true, if cache was corrupted and affected entry removed */ private boolean checkData () { boolean modified = false; - Set> q = cacheOrder.entrySet(); + Set> q = getRecentlyUsedPropertiesFile().entrySet(); for (Iterator> it = q.iterator(); it.hasNext();) { Entry currentEntry = it.next(); @@ -144,7 +179,7 @@ // 2. check path format - does the path look correct? if (path != null) { - if (path.indexOf(cacheDir) < 0) { + if (!path.contains(cacheDir.getAbsolutePath())) { it.remove(); modified = true; } @@ -161,8 +196,8 @@ * Write file to disk. */ public synchronized boolean store() { - if (cacheOrder.isHeldByCurrentThread()) { - cacheOrder.store(); + if (getRecentlyUsedPropertiesFile().isHeldByCurrentThread()) { + getRecentlyUsedPropertiesFile().store(); return true; } return false; @@ -176,10 +211,10 @@ * @return true if we successfully added to map, false otherwise. */ public synchronized boolean addEntry(String key, String path) { - if (cacheOrder.containsKey(key)) { + if (getRecentlyUsedPropertiesFile().containsKey(key)) { return false; } - cacheOrder.setProperty(key, path); + getRecentlyUsedPropertiesFile().setProperty(key, path); return true; } @@ -190,15 +225,15 @@ * @return true if we successfully removed key from map, false otherwise. */ public synchronized boolean removeEntry(String key) { - if (!cacheOrder.containsKey(key)) { + if (!recentlyUsedPropertiesFile.containsKey(key)) { return false; } - cacheOrder.remove(key); + getRecentlyUsedPropertiesFile().remove(key); return true; } private String getIdForCacheFolder(String folder) { - int len = cacheDir.length(); + int len = getCacheDir().getAbsolutePath().length(); int index = folder.indexOf(File.separatorChar, len + 1); return folder.substring(len + 1, index); } @@ -210,12 +245,12 @@ * @return true if we successfully updated value, false otherwise. */ public synchronized boolean updateEntry(String oldKey) { - if (!cacheOrder.containsKey(oldKey)) return false; - String value = cacheOrder.getProperty(oldKey); + if (!recentlyUsedPropertiesFile.containsKey(oldKey)) return false; + String value = getRecentlyUsedPropertiesFile().getProperty(oldKey); String folder = getIdForCacheFolder(value); - cacheOrder.remove(oldKey); - cacheOrder.setProperty(Long.toString(System.currentTimeMillis()) + "," + folder, value); + getRecentlyUsedPropertiesFile().remove(oldKey); + getRecentlyUsedPropertiesFile().setProperty(Long.toString(System.currentTimeMillis()) + "," + folder, value); return true; } @@ -230,7 +265,7 @@ public synchronized List> getLRUSortedEntries() { List> entries = new ArrayList<>(); - for (Entry e : cacheOrder.entrySet()) { + for (Entry e : getRecentlyUsedPropertiesFile().entrySet()) { entries.add(new AbstractMap.SimpleImmutableEntry(e)); } @@ -252,14 +287,14 @@ * Lock the file to have exclusive access. */ public synchronized void lock() { - cacheOrder.lock(); + getRecentlyUsedPropertiesFile().lock(); } /** * Unlock the file. */ public synchronized void unlock() { - cacheOrder.unlock(); + getRecentlyUsedPropertiesFile().unlock(); } /** @@ -269,15 +304,15 @@ * @return value of given key, null otherwise. */ public synchronized String getValue(String key) { - return cacheOrder.getProperty(key); + return getRecentlyUsedPropertiesFile().getProperty(key); } public synchronized boolean containsKey(String key) { - return cacheOrder.containsKey(key); + return getRecentlyUsedPropertiesFile().containsKey(key); } public synchronized boolean containsValue(String value) { - return cacheOrder.containsValue(value); + return getRecentlyUsedPropertiesFile().containsValue(value); } /** @@ -292,6 +327,6 @@ } void clearLRUSortedEntries() { - cacheOrder.clear(); + getRecentlyUsedPropertiesFile().clear(); } } diff -r d0e2beda96ca netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Tue Mar 03 16:48:10 2015 +0100 @@ -43,7 +43,6 @@ import javax.naming.ConfigurationException; import javax.swing.JOptionPane; -import net.sourceforge.jnlp.cache.CacheLRUWrapper; import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.logging.OutputController; @@ -757,12 +756,12 @@ errors += moveLegacyToCurrent(legacySecurity, currentSecurity); String legacyCache = LEGACY_USER_HOME + File.separator + "cache"; - String currentCache = Defaults.getDefaults().get(DeploymentConfiguration.KEY_USER_CACHE_DIR).getDefaultValue(); + String currentCache = PathsAndFiles.CACHE_DIR.getFullPath(); errors += moveLegacyToCurrent(legacyCache, currentCache); - OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, "Adapting " + CacheLRUWrapper.CACHE_INDEX_FILE_NAME + " to new destination"); + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, "Adapting " + PathsAndFiles.CACHE_INDEX_FILE_NAME + " to new destination"); //replace all legacyCache by currentCache in new recently_used try { - File f = new File(currentCache, CacheLRUWrapper.CACHE_INDEX_FILE_NAME); + File f = PathsAndFiles.RECENTLY_USED_FILE.getFile(); String s = FileUtils.loadFileAsString(f); s = s.replace(legacyCache, currentCache); FileUtils.saveFile(s, f); diff -r d0e2beda96ca netx/net/sourceforge/jnlp/config/PathsAndFiles.java --- a/netx/net/sourceforge/jnlp/config/PathsAndFiles.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/config/PathsAndFiles.java Tue Mar 03 16:48:10 2015 +0100 @@ -68,6 +68,7 @@ private static final String USER_PROP = "user.name"; private static final String VARIABLE = JNLPRuntime.isWindows() ? "%" : "$"; public static final String ICEDTEA_SO = "IcedTeaPlugin.so"; + public static final String CACHE_INDEX_FILE_NAME = "recently_used"; static { String configHome = System.getProperty(HOME_PROP) + File.separator + ".config"; @@ -115,6 +116,7 @@ public static final InfrastructureFileDescriptor OPERA_32 = new InfrastructureFileDescriptor(ICEDTEA_SO, "/usr/lib/opera/plugins/", "", "FILEopera32", Target.PLUGIN); public static final InfrastructureFileDescriptor CACHE_DIR = new ItwCacheFileDescriptor("cache", "FILEcache", Target.JAVAWS, Target.ITWEB_SETTINGS); + public static final InfrastructureFileDescriptor RECENTLY_USED_FILE = new ItwCacheFileDescriptor(CACHE_INDEX_FILE_NAME, CACHE_DIR.getFile().getName(), "FILErecentlyUsed", Target.JAVAWS, Target.ITWEB_SETTINGS); public static final InfrastructureFileDescriptor PCACHE_DIR = new ItwCacheFileDescriptor("pcache", "FILEappdata", Target.JAVAWS, Target.ITWEB_SETTINGS); public static final InfrastructureFileDescriptor LOG_DIR = new ItwConfigFileDescriptor("log", "FILElogs", Target.JAVAWS, Target.ITWEB_SETTINGS); //javaws is saving here, itweb-settings may modify them diff -r d0e2beda96ca netx/net/sourceforge/jnlp/controlpanel/CachePane.java --- a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Tue Mar 03 16:48:10 2015 +0100 @@ -58,10 +58,10 @@ import javax.swing.table.TableRowSorter; import net.sourceforge.jnlp.cache.CacheDirectory; -import net.sourceforge.jnlp.cache.CacheLRUWrapper; import net.sourceforge.jnlp.cache.CacheUtil; import net.sourceforge.jnlp.cache.DirectoryNode; import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.PropertiesFile; @@ -71,7 +71,7 @@ public class CachePane extends JPanel { JDialog parent; DeploymentConfiguration config; - private String location; + private final String location; private JComponent defaultFocusComponent; DirectoryNode root; String[] columns = { @@ -323,7 +323,7 @@ } private void updateRecentlyUsed(File f) { - File recentlyUsedFile = new File(location + File.separator + CacheLRUWrapper.CACHE_INDEX_FILE_NAME); + File recentlyUsedFile = PathsAndFiles.RECENTLY_USED_FILE.getFile(); PropertiesFile pf = new PropertiesFile(recentlyUsedFile); pf.load(); Enumeration en = pf.keys(); diff -r d0e2beda96ca netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 03 16:48:10 2015 +0100 @@ -1034,6 +1034,7 @@ FILEopera32=Location of plugin library for global purposes on opera compliant browser, 32b systems. FILEcache=Contains cached runtime entries (and my be changed by you). +FILErecentlyUsed=Additional information about items in cache FILEappdata=Contains saved application data. FILElogs=(may be set to different location by you) contains file log files (if enabled). itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else. FILEicons=Location where icons of javaws applications desktp/menu launchers icons are stored diff -r d0e2beda96ca tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Tue Mar 03 15:33:27 2015 +0100 +++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Tue Mar 03 16:48:10 2015 +0100 @@ -46,42 +46,43 @@ import java.io.PrintStream; import java.util.concurrent.CountDownLatch; -import org.junit.AfterClass; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.util.CacheTestUtils; -import net.sourceforge.jnlp.util.PropertiesFile; public class CacheLRUWrapperTest { - private static final CacheLRUWrapper clw = CacheLRUWrapper.getInstance(); - private static String cacheDirBackup; - private static PropertiesFile cacheOrderBackup; // does no DeploymentConfiguration exist for this file name? - private static final String cacheIndexFileName = CacheLRUWrapper.CACHE_INDEX_FILE_NAME + "_testing"; + private static final String cacheIndexFileName = PathsAndFiles.CACHE_INDEX_FILE_NAME + "_testing"; + private static final File javaTmp = new File(System.getProperty("java.io.tmpdir")); + private static final File tmpCache; + + static { + try { + tmpCache = File.createTempFile("itw", "CacheLRUWrapperTest", javaTmp); + tmpCache.delete(); + tmpCache.mkdir(); + tmpCache.deleteOnExit(); + if (!tmpCache.isDirectory()) { + throw new IOException("Unsuccess to create tmpfile, remove it and createsame directory"); + } + + } catch (IOException ex) { + throw new RuntimeException(ex); + } + + } + private static final CacheLRUWrapper clw = new CacheLRUWrapper(new File(tmpCache, cacheIndexFileName)); private final int noEntriesCacheFile = 1000; private ByteArrayOutputStream baos; private PrintStream out; - @BeforeClass - static public void setupJNLPRuntimeConfig() { - cacheDirBackup = clw.cacheDir; - cacheOrderBackup = clw.cacheOrder; - clw.cacheDir=System.getProperty("java.io.tmpdir"); - clw.cacheOrder = new PropertiesFile( new File(clw.cacheDir + File.separator + cacheIndexFileName)); - - } - - @AfterClass - static public void restoreJNLPRuntimeConfig() { - clw.cacheDir = cacheDirBackup; - clw.cacheOrder = cacheOrderBackup; - } + @Before public void setup() { @@ -92,7 +93,7 @@ @Test public void testLoadStoreTiming() throws InterruptedException { - final File cacheIndexFile = new File(clw.cacheDir + File.separator + cacheIndexFileName); + final File cacheIndexFile = clw.getRecentlyUsedFile(); cacheIndexFile.delete(); try { int noLoops = 1000; @@ -133,7 +134,7 @@ // fill cache index file for(int i = 0; i < noEntries; i++) { - String path = clw.cacheDir + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; + String path = clw.getRecentlyUsedFile().getAbsolutePath() + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; String key = clw.generateKey(path); clw.addEntry(key, path); } @@ -142,7 +143,7 @@ @Test public void testModTimestampAfterStore() throws InterruptedException { - final File cacheIndexFile = new File(clw.cacheDir + File.separator + cacheIndexFileName); + final File cacheIndexFile = clw.getRecentlyUsedFile(); cacheIndexFile.delete(); try{ clw.lock(); @@ -214,7 +215,7 @@ public void testLock() throws IOException { try { clw.lock(); - assertTrue(clw.cacheOrder.isHeldByCurrentThread()); + assertTrue(clw.getRecentlyUsedPropertiesFile().isHeldByCurrentThread()); } finally { clw.unlock(); } @@ -227,7 +228,7 @@ } finally { clw.unlock(); } - assertTrue(!clw.cacheOrder.isHeldByCurrentThread()); + assertTrue(!clw.getRecentlyUsedPropertiesFile().isHeldByCurrentThread()); } @Test(timeout = 2000l) @@ -280,7 +281,7 @@ @Override public void run() { try { - clw.cacheOrder.tryLock(); + clw.getRecentlyUsedPropertiesFile().tryLock(); boolean result = clw.store(); synchronized (out) { out.println(String.valueOf(result)); diff -r d0e2beda96ca tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue Mar 03 15:33:27 2015 +0100 +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue Mar 03 16:48:10 2015 +0100 @@ -44,13 +44,11 @@ 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.ProcessResult; import net.sourceforge.jnlp.annotations.KnownToFail; -import net.sourceforge.jnlp.config.Defaults; import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.tools.MessageProperties; import org.junit.AfterClass; @@ -70,13 +68,12 @@ private static final Pattern corruptPatern = Pattern.compile(corruptRegex); private static final String corruptString = "156dsf1562kd5"; - private static final File icedteaCache = new File(PathsAndFiles.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"); + //recently.used is always here + private static final int PERMANENT_FILES = 1; + + private static final File icedteaCache = PathsAndFiles.CACHE_DIR.getFile(); + private static final File icedteaCacheFile = PathsAndFiles.RECENTLY_USED_FILE.getFile(); + private static final File netxLock = PathsAndFiles.MAIN_LOCK.getFile(); String testS = "#netx file\n" + "#Mon Dec 12 16:20:46 CET 2011\n" @@ -142,7 +139,7 @@ private void assertCacheIsNotEmpty() { Assert.assertTrue("icedtea cache " + icedteaCache.getAbsolutePath() + " should exist some any run", icedteaCache.exists()); Assert.assertTrue("icedtea cache file " + icedteaCacheFile.getAbsolutePath() + " should exist some any run", icedteaCacheFile.exists()); - Assert.assertTrue("icedtea cache file " + icedteaCacheFile.getAbsolutePath() + " should not be empty", icedteaCacheFile.length() > 0); + Assert.assertTrue("icedtea cache file " + icedteaCacheFile.getAbsolutePath() + " should not be empty", icedteaCacheFile.length() > PERMANENT_FILES); } /** @@ -346,7 +343,7 @@ } tryToClearcache(); - Assert.assertTrue("icedtea cache " + icedteaCache.getAbsolutePath() + " should be empty after clearing", icedteaCache.listFiles().length == 0); + Assert.assertTrue("icedtea cache " + icedteaCache.getAbsolutePath() + " should be empty after clearing", icedteaCache.listFiles().length == PERMANENT_FILES); } private static String loadFile(File f) throws FileNotFoundException, UnsupportedEncodingException, IOException { From jvanek at icedtea.classpath.org Tue Mar 3 16:04:38 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 03 Mar 2015 16:04:38 +0000 Subject: /hg/icedtea-web: Changing enum CacheLRUWrapper singleton to inst... Message-ID: changeset a89fc59ab516 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a89fc59ab516 author: Jiri Vanek date: Tue Mar 03 17:04:24 2015 +0100 Changing enum CacheLRUWrapper singleton to instantiatible one. recently_used moved to PathsAndFiles. * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: changed form enum to class. Added testing constructors. Fields encapsualted and made final. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java:is now using PathsAndFiles.CACHE_DIR * netx/net/sourceforge/jnlp/config/PathsAndFiles.java: defined CACHE_INDEX_FILE_NAME as recently_used and declared InfrastructureFileDescriptor RECENTLY_USED_FILE * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: moved to PathsAndFiles * netx/net/sourceforge/jnlp/resources/Messages.properties: added description of RECENTLY_USED_FILE, FILErecentlyUsed * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: now using fake instance * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java:same + fixed diffstat: ChangeLog | 19 +- netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 123 ++++++--- netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 7 +- netx/net/sourceforge/jnlp/config/PathsAndFiles.java | 2 + netx/net/sourceforge/jnlp/controlpanel/CachePane.java | 6 +- netx/net/sourceforge/jnlp/resources/Messages.properties | 1 + tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java | 55 ++-- tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java | 19 +- 8 files changed, 142 insertions(+), 90 deletions(-) diffs (truncated from 550 to 500 lines): diff -r d0e2beda96ca -r a89fc59ab516 ChangeLog --- a/ChangeLog Tue Mar 03 15:33:27 2015 +0100 +++ b/ChangeLog Tue Mar 03 17:04:24 2015 +0100 @@ -1,4 +1,21 @@ -2015-02-27 Jiri Vanek +2015-03-03 Jiri Vanek + + Changing enum CacheLRUWrapper singleton to instantiatible one. recently_used + moved to PathsAndFiles. + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: changed form enum to + class. Added testing constructors. Fields encapsualted and made final. + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java:is now using + PathsAndFiles.CACHE_DIR + * netx/net/sourceforge/jnlp/config/PathsAndFiles.java: defined CACHE_INDEX_FILE_NAME + as recently_used and declared InfrastructureFileDescriptor RECENTLY_USED_FILE + * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: moved to PathsAndFiles + * netx/net/sourceforge/jnlp/resources/Messages.properties: added description + of RECENTLY_USED_FILE, FILErecentlyUsed + * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: now using + fake instance + * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: + same + fixed +2015-03-03 Jiri Vanek Fixed CacheReproducerTest and VersionedJarTest tests * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: diff -r d0e2beda96ca -r a89fc59ab516 netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Mar 03 17:04:24 2015 +0100 @@ -49,8 +49,7 @@ import java.util.Map.Entry; import java.util.Set; -import net.sourceforge.jnlp.config.DeploymentConfiguration; -import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.PropertiesFile; import net.sourceforge.jnlp.util.logging.OutputController; @@ -59,33 +58,44 @@ * This class helps maintain the ordering of most recently use items across * multiple jvm instances. * - * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca) - * */ -public enum CacheLRUWrapper { - INSTANCE; - - /* location of cache directory */ - private final String setCachePath = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); - String cacheDir = new File(setCachePath != null ? setCachePath : System.getProperty("java.io.tmpdir")).getPath(); - +public class CacheLRUWrapper { + /* * back-end of how LRU is implemented This file is to keep track of the most * recently used items. The items are to be kept with key = (current time * accessed) followed by folder of item. value = path to file. */ + + private final PropertiesFile recentlyUsedPropertiesFile; + private final File cacheDir; + private final File recentlyUsedFile; - public static final String CACHE_INDEX_FILE_NAME = "recently_used"; - - PropertiesFile cacheOrder = new PropertiesFile( - new File(cacheDir + File.separator + CACHE_INDEX_FILE_NAME)); - - private CacheLRUWrapper() { - File f = cacheOrder.getStoreFile(); - if (!f.exists()) { + public CacheLRUWrapper() { + this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); + } + + /** + * testing constructor + * @param recentlyUsed file to be used as recently_used file. its parent will be used as cache dir + */ + public CacheLRUWrapper(final File recentlyUsed) { + this(recentlyUsed, recentlyUsed.getParentFile()); + } + + /** + * testing constructor + * @param recentlyUsed file to be used as recently_used file + * @param cacheDir dir with cache + */ + public CacheLRUWrapper(final File recentlyUsed, final File cacheDir) { + recentlyUsedPropertiesFile = new PropertiesFile(recentlyUsed); + recentlyUsedFile = recentlyUsed; + this.cacheDir = cacheDir; + if (!recentlyUsed.exists()) { try { - FileUtils.createParentDir(f); - FileUtils.createRestrictedFile(f, true); + FileUtils.createParentDir(recentlyUsed); + FileUtils.createRestrictedFile(recentlyUsed, true); } catch (IOException e) { OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); } @@ -98,14 +108,39 @@ * @return an instance of the policy */ public static CacheLRUWrapper getInstance() { - return INSTANCE; + return CacheLRUWrapperHolder.INSTANCE; } /** + * @return the recentlyUsedPropertiesFile + */ + public PropertiesFile getRecentlyUsedPropertiesFile() { + return recentlyUsedPropertiesFile; + } + + /** + * @return the cacheDir + */ + public File getCacheDir() { + return cacheDir; + } + + /** + * @return the recentlyUsedFile + */ + public File getRecentlyUsedFile() { + return recentlyUsedFile; + } + + private static class CacheLRUWrapperHolder{ + private static final CacheLRUWrapper INSTANCE = new CacheLRUWrapper(); + } + + /** * Update map for keeping track of recently used items. */ public synchronized void load() { - boolean loaded = cacheOrder.load(); + boolean loaded = getRecentlyUsedPropertiesFile().load(); /* * clean up possibly corrupted entries */ @@ -118,13 +153,13 @@ } /** - * check content of cacheOrder and remove invalid/corrupt entries + * check content of recentlyUsedPropertiesFile and remove invalid/corrupt entries * * @return true, if cache was corrupted and affected entry removed */ private boolean checkData () { boolean modified = false; - Set> q = cacheOrder.entrySet(); + Set> q = getRecentlyUsedPropertiesFile().entrySet(); for (Iterator> it = q.iterator(); it.hasNext();) { Entry currentEntry = it.next(); @@ -144,7 +179,7 @@ // 2. check path format - does the path look correct? if (path != null) { - if (path.indexOf(cacheDir) < 0) { + if (!path.contains(cacheDir.getAbsolutePath())) { it.remove(); modified = true; } @@ -161,8 +196,8 @@ * Write file to disk. */ public synchronized boolean store() { - if (cacheOrder.isHeldByCurrentThread()) { - cacheOrder.store(); + if (getRecentlyUsedPropertiesFile().isHeldByCurrentThread()) { + getRecentlyUsedPropertiesFile().store(); return true; } return false; @@ -176,10 +211,10 @@ * @return true if we successfully added to map, false otherwise. */ public synchronized boolean addEntry(String key, String path) { - if (cacheOrder.containsKey(key)) { + if (getRecentlyUsedPropertiesFile().containsKey(key)) { return false; } - cacheOrder.setProperty(key, path); + getRecentlyUsedPropertiesFile().setProperty(key, path); return true; } @@ -190,15 +225,15 @@ * @return true if we successfully removed key from map, false otherwise. */ public synchronized boolean removeEntry(String key) { - if (!cacheOrder.containsKey(key)) { + if (!recentlyUsedPropertiesFile.containsKey(key)) { return false; } - cacheOrder.remove(key); + getRecentlyUsedPropertiesFile().remove(key); return true; } private String getIdForCacheFolder(String folder) { - int len = cacheDir.length(); + int len = getCacheDir().getAbsolutePath().length(); int index = folder.indexOf(File.separatorChar, len + 1); return folder.substring(len + 1, index); } @@ -210,12 +245,12 @@ * @return true if we successfully updated value, false otherwise. */ public synchronized boolean updateEntry(String oldKey) { - if (!cacheOrder.containsKey(oldKey)) return false; - String value = cacheOrder.getProperty(oldKey); + if (!recentlyUsedPropertiesFile.containsKey(oldKey)) return false; + String value = getRecentlyUsedPropertiesFile().getProperty(oldKey); String folder = getIdForCacheFolder(value); - cacheOrder.remove(oldKey); - cacheOrder.setProperty(Long.toString(System.currentTimeMillis()) + "," + folder, value); + getRecentlyUsedPropertiesFile().remove(oldKey); + getRecentlyUsedPropertiesFile().setProperty(Long.toString(System.currentTimeMillis()) + "," + folder, value); return true; } @@ -230,7 +265,7 @@ public synchronized List> getLRUSortedEntries() { List> entries = new ArrayList<>(); - for (Entry e : cacheOrder.entrySet()) { + for (Entry e : getRecentlyUsedPropertiesFile().entrySet()) { entries.add(new AbstractMap.SimpleImmutableEntry(e)); } @@ -252,14 +287,14 @@ * Lock the file to have exclusive access. */ public synchronized void lock() { - cacheOrder.lock(); + getRecentlyUsedPropertiesFile().lock(); } /** * Unlock the file. */ public synchronized void unlock() { - cacheOrder.unlock(); + getRecentlyUsedPropertiesFile().unlock(); } /** @@ -269,15 +304,15 @@ * @return value of given key, null otherwise. */ public synchronized String getValue(String key) { - return cacheOrder.getProperty(key); + return getRecentlyUsedPropertiesFile().getProperty(key); } public synchronized boolean containsKey(String key) { - return cacheOrder.containsKey(key); + return getRecentlyUsedPropertiesFile().containsKey(key); } public synchronized boolean containsValue(String value) { - return cacheOrder.containsValue(value); + return getRecentlyUsedPropertiesFile().containsValue(value); } /** @@ -292,6 +327,6 @@ } void clearLRUSortedEntries() { - cacheOrder.clear(); + getRecentlyUsedPropertiesFile().clear(); } } diff -r d0e2beda96ca -r a89fc59ab516 netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Tue Mar 03 17:04:24 2015 +0100 @@ -43,7 +43,6 @@ import javax.naming.ConfigurationException; import javax.swing.JOptionPane; -import net.sourceforge.jnlp.cache.CacheLRUWrapper; import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.logging.OutputController; @@ -757,12 +756,12 @@ errors += moveLegacyToCurrent(legacySecurity, currentSecurity); String legacyCache = LEGACY_USER_HOME + File.separator + "cache"; - String currentCache = Defaults.getDefaults().get(DeploymentConfiguration.KEY_USER_CACHE_DIR).getDefaultValue(); + String currentCache = PathsAndFiles.CACHE_DIR.getFullPath(); errors += moveLegacyToCurrent(legacyCache, currentCache); - OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, "Adapting " + CacheLRUWrapper.CACHE_INDEX_FILE_NAME + " to new destination"); + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, "Adapting " + PathsAndFiles.CACHE_INDEX_FILE_NAME + " to new destination"); //replace all legacyCache by currentCache in new recently_used try { - File f = new File(currentCache, CacheLRUWrapper.CACHE_INDEX_FILE_NAME); + File f = PathsAndFiles.RECENTLY_USED_FILE.getFile(); String s = FileUtils.loadFileAsString(f); s = s.replace(legacyCache, currentCache); FileUtils.saveFile(s, f); diff -r d0e2beda96ca -r a89fc59ab516 netx/net/sourceforge/jnlp/config/PathsAndFiles.java --- a/netx/net/sourceforge/jnlp/config/PathsAndFiles.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/config/PathsAndFiles.java Tue Mar 03 17:04:24 2015 +0100 @@ -68,6 +68,7 @@ private static final String USER_PROP = "user.name"; private static final String VARIABLE = JNLPRuntime.isWindows() ? "%" : "$"; public static final String ICEDTEA_SO = "IcedTeaPlugin.so"; + public static final String CACHE_INDEX_FILE_NAME = "recently_used"; static { String configHome = System.getProperty(HOME_PROP) + File.separator + ".config"; @@ -115,6 +116,7 @@ public static final InfrastructureFileDescriptor OPERA_32 = new InfrastructureFileDescriptor(ICEDTEA_SO, "/usr/lib/opera/plugins/", "", "FILEopera32", Target.PLUGIN); public static final InfrastructureFileDescriptor CACHE_DIR = new ItwCacheFileDescriptor("cache", "FILEcache", Target.JAVAWS, Target.ITWEB_SETTINGS); + public static final InfrastructureFileDescriptor RECENTLY_USED_FILE = new ItwCacheFileDescriptor(CACHE_INDEX_FILE_NAME, CACHE_DIR.getFile().getName(), "FILErecentlyUsed", Target.JAVAWS, Target.ITWEB_SETTINGS); public static final InfrastructureFileDescriptor PCACHE_DIR = new ItwCacheFileDescriptor("pcache", "FILEappdata", Target.JAVAWS, Target.ITWEB_SETTINGS); public static final InfrastructureFileDescriptor LOG_DIR = new ItwConfigFileDescriptor("log", "FILElogs", Target.JAVAWS, Target.ITWEB_SETTINGS); //javaws is saving here, itweb-settings may modify them diff -r d0e2beda96ca -r a89fc59ab516 netx/net/sourceforge/jnlp/controlpanel/CachePane.java --- a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Tue Mar 03 17:04:24 2015 +0100 @@ -58,10 +58,10 @@ import javax.swing.table.TableRowSorter; import net.sourceforge.jnlp.cache.CacheDirectory; -import net.sourceforge.jnlp.cache.CacheLRUWrapper; import net.sourceforge.jnlp.cache.CacheUtil; import net.sourceforge.jnlp.cache.DirectoryNode; import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.PropertiesFile; @@ -71,7 +71,7 @@ public class CachePane extends JPanel { JDialog parent; DeploymentConfiguration config; - private String location; + private final String location; private JComponent defaultFocusComponent; DirectoryNode root; String[] columns = { @@ -323,7 +323,7 @@ } private void updateRecentlyUsed(File f) { - File recentlyUsedFile = new File(location + File.separator + CacheLRUWrapper.CACHE_INDEX_FILE_NAME); + File recentlyUsedFile = PathsAndFiles.RECENTLY_USED_FILE.getFile(); PropertiesFile pf = new PropertiesFile(recentlyUsedFile); pf.load(); Enumeration en = pf.keys(); diff -r d0e2beda96ca -r a89fc59ab516 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 03 15:33:27 2015 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 03 17:04:24 2015 +0100 @@ -1034,6 +1034,7 @@ FILEopera32=Location of plugin library for global purposes on opera compliant browser, 32b systems. FILEcache=Contains cached runtime entries (and my be changed by you). +FILErecentlyUsed=Additional information about items in cache FILEappdata=Contains saved application data. FILElogs=(may be set to different location by you) contains file log files (if enabled). itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else. FILEicons=Location where icons of javaws applications desktp/menu launchers icons are stored diff -r d0e2beda96ca -r a89fc59ab516 tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Tue Mar 03 15:33:27 2015 +0100 +++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Tue Mar 03 17:04:24 2015 +0100 @@ -46,42 +46,43 @@ import java.io.PrintStream; import java.util.concurrent.CountDownLatch; -import org.junit.AfterClass; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.util.CacheTestUtils; -import net.sourceforge.jnlp.util.PropertiesFile; public class CacheLRUWrapperTest { - private static final CacheLRUWrapper clw = CacheLRUWrapper.getInstance(); - private static String cacheDirBackup; - private static PropertiesFile cacheOrderBackup; // does no DeploymentConfiguration exist for this file name? - private static final String cacheIndexFileName = CacheLRUWrapper.CACHE_INDEX_FILE_NAME + "_testing"; + private static final String cacheIndexFileName = PathsAndFiles.CACHE_INDEX_FILE_NAME + "_testing"; + private static final File javaTmp = new File(System.getProperty("java.io.tmpdir")); + private static final File tmpCache; + + static { + try { + tmpCache = File.createTempFile("itw", "CacheLRUWrapperTest", javaTmp); + tmpCache.delete(); + tmpCache.mkdir(); + tmpCache.deleteOnExit(); + if (!tmpCache.isDirectory()) { + throw new IOException("Unsuccess to create tmpfile, remove it and createsame directory"); + } + + } catch (IOException ex) { + throw new RuntimeException(ex); + } + + } + private static final CacheLRUWrapper clw = new CacheLRUWrapper(new File(tmpCache, cacheIndexFileName)); private final int noEntriesCacheFile = 1000; private ByteArrayOutputStream baos; private PrintStream out; - @BeforeClass - static public void setupJNLPRuntimeConfig() { - cacheDirBackup = clw.cacheDir; - cacheOrderBackup = clw.cacheOrder; - clw.cacheDir=System.getProperty("java.io.tmpdir"); - clw.cacheOrder = new PropertiesFile( new File(clw.cacheDir + File.separator + cacheIndexFileName)); - - } - - @AfterClass - static public void restoreJNLPRuntimeConfig() { - clw.cacheDir = cacheDirBackup; - clw.cacheOrder = cacheOrderBackup; - } + @Before public void setup() { @@ -92,7 +93,7 @@ @Test public void testLoadStoreTiming() throws InterruptedException { - final File cacheIndexFile = new File(clw.cacheDir + File.separator + cacheIndexFileName); + final File cacheIndexFile = clw.getRecentlyUsedFile(); cacheIndexFile.delete(); try { int noLoops = 1000; @@ -133,7 +134,7 @@ // fill cache index file for(int i = 0; i < noEntries; i++) { - String path = clw.cacheDir + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; + String path = clw.getRecentlyUsedFile().getAbsolutePath() + File.separatorChar + i + File.separatorChar + "test" + i + ".jar"; String key = clw.generateKey(path); clw.addEntry(key, path); } @@ -142,7 +143,7 @@ @Test public void testModTimestampAfterStore() throws InterruptedException { - final File cacheIndexFile = new File(clw.cacheDir + File.separator + cacheIndexFileName); + final File cacheIndexFile = clw.getRecentlyUsedFile(); cacheIndexFile.delete(); try{ clw.lock(); @@ -214,7 +215,7 @@ public void testLock() throws IOException { try { clw.lock(); - assertTrue(clw.cacheOrder.isHeldByCurrentThread()); + assertTrue(clw.getRecentlyUsedPropertiesFile().isHeldByCurrentThread()); } finally { clw.unlock(); } @@ -227,7 +228,7 @@ } finally { clw.unlock(); } - assertTrue(!clw.cacheOrder.isHeldByCurrentThread()); + assertTrue(!clw.getRecentlyUsedPropertiesFile().isHeldByCurrentThread()); } @Test(timeout = 2000l) @@ -280,7 +281,7 @@ @Override public void run() { try { - clw.cacheOrder.tryLock(); + clw.getRecentlyUsedPropertiesFile().tryLock(); boolean result = clw.store(); synchronized (out) { out.println(String.valueOf(result)); diff -r d0e2beda96ca -r a89fc59ab516 tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java --- a/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue Mar 03 15:33:27 2015 +0100 +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java Tue Mar 03 17:04:24 2015 +0100 @@ -44,13 +44,11 @@ import java.io.UnsupportedEncodingException; From jkang at redhat.com Tue Mar 3 16:20:32 2015 From: jkang at redhat.com (Jie Kang) Date: Tue, 3 Mar 2015 11:20:32 -0500 (EST) Subject: [rfc][icedteaweb] support for entry-point manifest atribute In-Reply-To: <54EE05A0.3010601@redhat.com> References: <54EE0413.1050807@redhat.com> <54EE05A0.3010601@redhat.com> Message-ID: <1115365094.15393617.1425399632096.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 02/25/2015 06:19 PM, Jiri Vanek wrote: > > Hello, this is impl of another security manifest att: > > http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt > > I would like to go with it to 1.5 too. > > > > Speaking about the attributes: > > does http://www.geogebra.org/webstart/geogebra.jnlp library loading promt > > seems correct to you? > > > > J. > Crap - improved one > > The check is valid only if RIA is signed. I had it removed for testing... Hello, Nice patch :D It might be nice for 1.5 but isn't 1.5 released already? We shouldn't really add new functionality, especially something like this which could easily break user experience. Ie. apps that worked with 1.5.(x) don't work with 1.5.(x+1) anymore (even though it is correct). + static String[] splitEntryPoints(String eps) { The use of protected static here seems to be only so it's easier to test, yes? Please add a comment saying something like //static and package-private for testing Also, s/eps/entryPointString or something like that. No need to shorten it to something unreadable nowadays. + throw new LaunchException("None of '" + file.getManifestsAttributes().getEntryPointString() + "' matched yours " + mainClass + ". Thats fatal."); It's not clear to me what exactly is happening with the current message. Can you change it to something similar to: "None of the entry points matched the main class and the applet is signed. This is a security error and the applet will not be launched." + @Test Please remove the extra tab. + public void splitEntryPointsReturnsTests() throws Exception { + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(" ")); + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(null)); + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints(" a.b.c ")); + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints("a.b.c")); + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints(" a.b.c")); + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints("a.b.c ")); + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints(" a.b.c cde")); + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints(" a.b.c cde ")); + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints("a.b.c cde ")); As easy as it is, it's bad style to put all your tests in one place. Readers can't as easily tell what cases you're testing when you do this. You generally want to minimize a test to a single assert if possible, and split them into multiple test methods that can be descriptively named. Can you put them in separate tests with appropriate names? + Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT))); While you're here can you s/classlaoder/classloader Not really required but it looks nicer with correct spelling;; Rest looks great! Regards, > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:01:17 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:01:17 +0000 Subject: [Bug 1281] [IcedTea8] Shared class data archive should be generated post-build on architectures with the client VM In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1281 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:01:21 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:01:21 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 1281, which changed state. Bug 1281 Summary: [IcedTea8] Shared class data archive should be generated post-build on architectures with the client VM http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1281 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:02:46 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:02:46 +0000 Subject: [Bug 2212] [IcedTea8] DGifCloseFile call should check the return value, not the error code, for failure In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2212 Bug 2212 depends on bug 2199, which changed state. Bug 2199 Summary: [IcedTea8] Support giflib 5.1.0 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2199 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:02:46 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:02:46 +0000 Subject: [Bug 2199] [IcedTea8] Support giflib 5.1.0 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2199 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:02:47 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:02:47 +0000 Subject: [Bug 2227] [IcedTea8] giflib 5.1 conditional excludes 6.0, 7.0, etc. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2227 Bug 2227 depends on bug 2199, which changed state. Bug 2199 Summary: [IcedTea8] Support giflib 5.1.0 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2199 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:02:46 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:02:46 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 2199, which changed state. Bug 2199 Summary: [IcedTea8] Support giflib 5.1.0 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2199 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: From jkang at redhat.com Tue Mar 3 19:53:12 2015 From: jkang at redhat.com (Jie Kang) Date: Tue, 3 Mar 2015 14:53:12 -0500 (EST) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F5D808.20602@redhat.com> References: <54F4923C.3030302@redhat.com> <54F5C944.9090908@redhat.com> <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> <54F5D808.20602@redhat.com> Message-ID: <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/03/2015 04:25 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> snip > >>> However. Later I noted that recently_used file is not handled via > >>> PahsAndFiles. > >>> > >>> I moved it here, which needed some more changes - like make it properly > >>> testable and so get rid of > >>> this untestable ENUM and replace it by getter singleton with possibility > >>> to > >>> make testable instance. > >>> > >>> I agree that this patch was written in rush, and needs proper review. > >>> J. > > > > Hello, > > > > Nits below: > > > > + public final PropertiesFile cacheOrder; > > + public final File cacheOrderParent; > > + public final File cacheOrderFile; > > > > The name 'cacheOrder' isn't very descriptive. Can you change it to > > recentlyUsedFile or something similar? > > > > Can you use getters instead of public variables? Then you can reduce it to > > just one variable. > > > > Done. Now the patch is a bit dirty, but it was good change. > > > e.g. > > > > private final PropertiesFile recentlyUsed; > > > > public PropertiesFile getProperties() { ... } > > public File getParentFile() { ... } > > public File getFile() { ... } > > > > Names of function are up to you. + private final PropertiesFile recentlyUsedPropertiesFile; + private final File cacheDir; + private final File recentlyUsedFile; + /** + * @return the recentlyUsedFile + */ + public File getRecentlyUsedFile() { + return recentlyUsedFile; + } Instead of keeping recentlyUsedFile in memory, can you change it to: + public File getRecentlyUsedFile() { + return recentlyUsedPropertiesFile.getStoreFile(); + } Then you can remove that variable. - if (cacheOrder.containsKey(key)) { + if (getRecentlyUsedPropertiesFile().containsKey(key)) { AFAICT this code is inside CacheLRUWrapper so it should have access to 'recentlyUsedPropertiesFile'. It shouldn't use the getter if it doesn't need to, no? A lot of the code changes are like this. Can you change them all back? Also: + public CacheLRUWrapper() { + this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); + } In terms of the constructor, the dependencies are opposite. Right now, you get recently_used file, and then get cacheDir off it. Instead, it should be get cacheDir, and then get recently_used file off it. E.g. RecentlyUsedFile is always inside the Cache. (this is correct) as opposed to Cache is always parent file of RecentlyUsedFile. (In most cases this ends up being the same thing, but it's not as correct) The default constructor usage ends up breaking things when you use it in CacheUtil. private static final String setCacheDir = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); private static final String cacheDir = new File(setCacheDir != null ? setCacheDir : System.getProperty("java.io.tmpdir")).getPath(); // Do this with file to standardize it. private static final CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); You need to also add changes to CacheUtil to use lruHandler's cache directory. At the moment, CacheUtil.cacheDir != lruHandler.getCacheDir() when someone sets DeploymentConfiguration.KEY_USER_CACHE_DIR to non-default. This patch is broken here and needs to be fixed. Why would you push this without a +1 from anyone? You also seem to be doing this with a number of other patches recently. If you need a review, ping someone. Regards, > > > > + private static final CacheLRUWrapper clw = new CacheLRUWrapper(new > > File(System.getProperty("java.io.tmpdir"),cacheIndexFileName)); > > > > Space after the comma: ("java.io.tmpdir"),cacheIndexFileName > done > > > > Also, this will set the cache to the tmp directory. Can you create a > > tempcache directory inside tmp and then use that instead? > > I hate how this is done in java... anyweay done. > > > > It's a little bit cleaner. And please make sure the tests clean themselves > > up afterwards using file.deleteOnExit(), etc. > done > > > > + private static final int PERNAMENT_FILES = 1; > > > > s/PERNAMENT/PERMANENT > > Thanx! > > > > > > Side note: > > > > I don't see how this is more testable than before. enum singleton and class > > singleton are equally testable to me. Can you provide any examples? > > > > To beable to create fake testable instance. > > > > Regards, > > > >> > >> ping > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:54:05 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:54:05 +0000 Subject: [Bug 2212] [IcedTea8] DGifCloseFile call should check the return value, not the error code, for failure In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2212 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:54:05 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:54:05 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 2212, which changed state. Bug 2212 Summary: [IcedTea8] DGifCloseFile call should check the return value, not the error code, for failure http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2212 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:54:12 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:54:12 +0000 Subject: [Bug 2227] [IcedTea8] giflib 5.1 conditional excludes 6.0, 7.0, etc. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2227 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 3 19:54:13 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Mar 2015 19:54:13 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 2227, which changed state. Bug 2227 Summary: [IcedTea8] giflib 5.1 conditional excludes 6.0, 7.0, etc. http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2227 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: From gitne at gmx.de Wed Mar 4 09:01:10 2015 From: gitne at gmx.de (Jacob Wisor) Date: Wed, 04 Mar 2015 10:01:10 +0100 Subject: [rfc][icedteaweb] Support for Entry-Point manifest attribute In-Reply-To: <54EE05A0.3010601@redhat.com> References: <54EE0413.1050807@redhat.com> <54EE05A0.3010601@redhat.com> Message-ID: <54F6C9D6.3030408@gmx.de> Hello there! :-) On 02/25/2015 06:25 PM, Jiri Vanek wrote: > On 02/25/2015 06:19 PM, Jiri Vanek wrote: >> Hello, this is impl of another security manifest att: >> http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt >> >> I would like to go with it to 1.5 too. >> >> Speaking about the attributes: >> does http://www.geogebra.org/webstart/geogebra.jnlp library loading promt >> seems correct to you? >> >> J. > Crap - improved one > > The check is valid only if RIA is signed. I had it removed for testing... > diff -r b053e7638d7f netx/net/sourceforge/jnlp/JNLPFile.java > --- a/netx/net/sourceforge/jnlp/JNLPFile.java Wed Feb 25 15:40:44 2015 +0100 > +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Feb 25 18:23:18 2015 +0100 > @@ -900,6 +900,8 @@ > public static final String CODEBASE = "Codebase"; > public static final String TRUSTED_ONLY = "Trusted-Only"; > public static final String TRUSTED_LIBRARY = "Trusted-Library"; > + public static final String ENTRY_POINT="Entry-Point"; > + > private JNLPClassLoader loader; > > > @@ -925,6 +927,18 @@ > return loader.getMainClass(); > } > > + /** > + * > + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt > + */ > + public String[] getEntryPoints() { > + return splitEntryPoints(getEntryPointString()); > + } > + > + public String getEntryPointString() { > + return getAttribute(ENTRY_POINT); Warning: This effectively searches *all* JAR resource files for an Entry-Point attribute if the "main JAR" file's manifest does not have an Entry-Point attribute. getAttribute(ENTRY_POINT) -> JNLPFile.getAttribute(new Attributes.Name(name)) -> JNLPFile.loader.checkForAttributeInJars(Arrays.asList(getResources().getJARs()), name) So, even though JNLPClassLoader.checkForAttributeInJars() checks the main JAR file (whatever this might be, I guess this is the /first/ JAR file with a proper Main-Class attribute in its manifest) for the Entry-Point attribute first, this JAR file may not actually have one. Then, it goes on checking all other resource JAR files and one of them may have one. Although an application suite of JAR files could theoretically cross-reference entry points (main classes) over different JAR files, I do not think this is legal and is not intended by the specification. We should make sure that no cross-referencing in JAR files is allowed, in other words that Entry-Point as well as Main-Class attributes can only reference classes in the local JAR file. I may be wrong but you should definitely create a test for this. > + } > + > /** > * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_name > */ > @@ -1047,8 +1061,8 @@ > } > } > } > - } > - > + } > + > public String createJnlpVendorValue() { > final String location; > if (getSourceLocation() != null) { > @@ -1088,7 +1102,17 @@ > return createJnlpTitleValue(); > } > return getTitle() + " from " + createJnlpTitleValue(); > - > + } > + > + static String[] splitEntryPoints(String eps) { > + if (eps == null || eps.trim().isEmpty()) { > + return null; > + } > + String[] result = eps.trim().split("\\s+"); This is actually supposed to be splitting *fully* *qualified* *class* *names*, not just arbitrary strings separated by an arbitrary count of white space ([ \t\n\x0B\f\r])characters. In fact, the specification speaks of exactly *a* *space*. This reads to me like exactly *one* *space* (U+0020) character. java.util.jar.Attributes.Name take care of checking proper formatting of the Entry-Point attribute name. But what about the proper formatting of the value? So I guess IcedTea-Web fails only when it comes to actually loading the classes or something that is supposed to be a fully qualified class name. Hence, one could get away with non-existent class names, class names in other JAR files, or whatever string garbage as long as it is separated by white spaces. I don't know, this seems a little bit over tolerant for me, more like lax than tolerant. Besides, please try giving a thought about context meaningful names, like entryPointAttributeValue for eps and splitEntryPoints for result. > + if (result.length == 0) { > + return null; > + } > + return result; return result.length > 0 ? result : null; ;-) > } > } > > diff -r b053e7638d7f netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > --- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java Wed Feb 25 15:40:44 2015 +0100 > +++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java Wed Feb 25 18:23:18 2015 +0100 > @@ -81,6 +81,7 @@ > checkCodebaseAttribute(); > checkPermissionsAttribute(); > checkApplicationLibraryAllowableCodebaseAttribute(); > + checkEntryPoint(); > } else { > OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "Manifest attribute checks are disabled."); > } > @@ -90,6 +91,28 @@ > final String deploymentProperty = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); > return Boolean.parseBoolean(deploymentProperty); > } > + > + /* > + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt > + */ > + private void checkEntryPoint() throws LaunchException { > + if (signing == SigningState.NONE) { > + return; /*when app is not signed at all, then skip this check*/ > + } > + final String[] eps = file.getManifestsAttributes().getEntryPoints(); > + String mainClass = file.getLaunchInfo().getMainClass(); > + if (eps == null) { > + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Entry-Point manifest attribute for yours '" + mainClass + "'not found. Continuing."); > + return; > + } > + for (String ep : eps) { > + if (ep.equals(mainClass)) { > + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Entry-Point od " + ep + " mathches " + mainClass + " continuing."); > + return; > + } > + } > + throw new LaunchException("None of '" + file.getManifestsAttributes().getEntryPointString() + "' matched yours " + mainClass + ". Thats fatal."); > + } So, no check for fully qualified (and locally existing) class names even here? Please test this patch more thoroughly. Jacob From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:21:49 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:21:49 +0000 Subject: [Bug 2253] New: [IcedTea8] Support Linux 4.x Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2253 Bug ID: 2253 Summary: [IcedTea8] Support Linux 4.x Product: IcedTea Version: 8-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The next Linux release will be 4.0, not 3.20: https://lwn.net/Articles/633231/ https://bugs.openjdk.java.net/browse/JDK-8074312 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:22:52 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:22:52 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 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| |2253 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:22:52 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:22:52 +0000 Subject: [Bug 2253] [IcedTea8] Support Linux 4.x In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2253 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED URL| |https://bugs.openjdk.java.n | |et/browse/JDK-8074312 Blocks| |1282 Target Milestone|--- |3.0.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:23:44 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:23:44 +0000 Subject: [Bug 2254] New: [IcedTea7] Support Linux 4.x Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2254 Bug ID: 2254 Summary: [IcedTea7] Support Linux 4.x Product: IcedTea Version: 7-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The next Linux release will be 4.0, not 3.20: https://lwn.net/Articles/633231/ https://bugs.openjdk.java.net/browse/JDK-8074312 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:24:07 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:24:07 +0000 Subject: [Bug 2254] [IcedTea7] Support Linux 4.x In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2254 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED URL| |https://bugs.openjdk.java.n | |et/browse/JDK-8074312 Target Milestone|--- |2.5.5 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:25:06 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:25:06 +0000 Subject: [Bug 2255] New: [IcedTea6] Support Linux 4.x Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2255 Bug ID: 2255 Summary: [IcedTea6] Support Linux 4.x Product: IcedTea Version: 6-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The next Linux release will be 4.0, not 3.20: https://lwn.net/Articles/633231/ https://bugs.openjdk.java.net/browse/JDK-8074312 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:25:14 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:25:14 +0000 Subject: [Bug 2253] [IcedTea8] Support Linux 4.x In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2253 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:25:31 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:25:31 +0000 Subject: [Bug 2255] [IcedTea6] Support Linux 4.x In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2255 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED URL| |https://bugs.openjdk.java.n | |et/browse/JDK-8074312 Target Milestone|--- |6-1.13.7 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 12:25:41 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 12:25:41 +0000 Subject: [Bug 2255] [IcedTea6] Support Linux 4.x In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2255 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Wed Mar 4 14:26:08 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Mar 2015 15:26:08 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <54F5C944.9090908@redhat.com> <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> <54F5D808.20602@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> Message-ID: <54F71600.30104@redhat.com> snip > > + private final PropertiesFile recentlyUsedPropertiesFile; > + private final File cacheDir; > + private final File recentlyUsedFile; > > + /** > + * @return the recentlyUsedFile > + */ > + public File getRecentlyUsedFile() { > + return recentlyUsedFile; > + } > > Instead of keeping recentlyUsedFile in memory, can you change it to: > > + public File getRecentlyUsedFile() { > + return recentlyUsedPropertiesFile.getStoreFile(); > + } > > Then you can remove that variable. As you wish, done. > > > - if (cacheOrder.containsKey(key)) { > + if (getRecentlyUsedPropertiesFile().containsKey(key)) { > > AFAICT this code is inside CacheLRUWrapper so it should have access to 'recentlyUsedPropertiesFile'. It shouldn't use the getter if it doesn't need to, no? > > A lot of the code changes are like this. Can you change them all back? With the getter you wished no. And I vote for keeping the getter rather > > > > > Also: > > + public CacheLRUWrapper() { > + this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); > + } > > In terms of the constructor, the dependencies are opposite. > > Right now, you get recently_used file, and then get cacheDir off it. > > Instead, it should be get cacheDir, and then get recently_used file off it. > > E.g. > > RecentlyUsedFile is always inside the Cache. (this is correct) > > as opposed to > > Cache is always parent file of RecentlyUsedFile. (In most cases this ends up being the same thing, but it's not as correct) Right. I removed misleading single-file constructor. > > > > The default constructor usage ends up breaking things when you use it in CacheUtil. > > private static final String setCacheDir = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); > private static final String cacheDir = new File(setCacheDir != null ? setCacheDir : System.getProperty("java.io.tmpdir")).getPath(); // Do this with file to standardize it. > private static final CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); > > You need to also add changes to CacheUtil to use lruHandler's cache directory. > > At the moment, CacheUtil.cacheDir != lruHandler.getCacheDir() when someone sets DeploymentConfiguration.KEY_USER_CACHE_DIR to non-default. Yes. Fixed. > > > This patch is broken here and needs to be fixed. > > > Why would you push this without a +1 from anyone? You also seem to be doing this with a number of other patches recently. If you need a review, ping someone. :( Rush is an eneymy. I need to calm bit down with all those failures... See the patch for this commit. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: removeDuplicateDefinitionsInCacheUtilsAndUseDefaultsFromLruWrapper.patch Type: text/x-patch Size: 6806 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 14:49:39 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 14:49:39 +0000 Subject: [Bug 2256] New: [IcedTea8] Add SystemTap tests Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 Bug ID: 2256 Summary: [IcedTea8] Add SystemTap tests Product: IcedTea Version: 8-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org Tests in tapset/test are absent from IcedTea 3.x. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 14:50:33 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 14:50:33 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1282, 1118 Target Milestone|--- |3.0.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 14:50:33 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 14:50:33 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 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| |2256 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Wed Mar 4 15:01:23 2015 From: jkang at redhat.com (Jie Kang) Date: Wed, 4 Mar 2015 10:01:23 -0500 (EST) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F71600.30104@redhat.com> References: <54F4923C.3030302@redhat.com> <54F5C944.9090908@redhat.com> <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> <54F5D808.20602@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> Message-ID: <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> ----- Original Message ----- > snip > > > > + private final PropertiesFile recentlyUsedPropertiesFile; > > + private final File cacheDir; > > + private final File recentlyUsedFile; > > > > + /** > > + * @return the recentlyUsedFile > > + */ > > + public File getRecentlyUsedFile() { > > + return recentlyUsedFile; > > + } > > > > Instead of keeping recentlyUsedFile in memory, can you change it to: > > > > + public File getRecentlyUsedFile() { > > + return recentlyUsedPropertiesFile.getStoreFile(); > > + } > > > > Then you can remove that variable. > > As you wish, done. > > > > > > - if (cacheOrder.containsKey(key)) { > > + if (getRecentlyUsedPropertiesFile().containsKey(key)) { > > > > AFAICT this code is inside CacheLRUWrapper so it should have access to > > 'recentlyUsedPropertiesFile'. It shouldn't use the getter if it doesn't > > need to, no? > > > > A lot of the code changes are like this. Can you change them all back? > > With the getter you wished no. And I vote for keeping the getter rather > > > > > > > > > > Also: > > > > + public CacheLRUWrapper() { > > + this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); > > + } > > > > In terms of the constructor, the dependencies are opposite. > > > > Right now, you get recently_used file, and then get cacheDir off it. > > > > Instead, it should be get cacheDir, and then get recently_used file off it. > > > > E.g. > > > > RecentlyUsedFile is always inside the Cache. (this is correct) > > > > as opposed to > > > > Cache is always parent file of RecentlyUsedFile. (In most cases this ends > > up being the same thing, but it's not as correct) > > Right. I removed misleading single-file constructor. > > > > > > > > The default constructor usage ends up breaking things when you use it in > > CacheUtil. > > > > private static final String setCacheDir = > > JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); > > private static final String cacheDir = new File(setCacheDir != null ? > > setCacheDir : System.getProperty("java.io.tmpdir")).getPath(); // Do > > this with file to standardize it. > > private static final CacheLRUWrapper lruHandler = > > CacheLRUWrapper.getInstance(); > > > > You need to also add changes to CacheUtil to use lruHandler's cache > > directory. > > > > At the moment, CacheUtil.cacheDir != lruHandler.getCacheDir() when > > someone sets DeploymentConfiguration.KEY_USER_CACHE_DIR to non-default. > > Yes. Fixed. > > > > > > This patch is broken here and needs to be fixed. > > > > > > Why would you push this without a +1 from anyone? You also seem to be doing > > this with a number of other patches recently. If you need a review, ping > > someone. > > :( Rush is an eneymy. I need to calm bit down with all those failures... > > > See the patch for this commit. Hello, - private static final CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); I feel like keeping a static instance here is still okay... Does it cause any problems? When the code inside CacheUtil calls: CacheLRUWrapper.getInstance() : it's receiving the same static instance anyways. So you should be able to just call it once and keep it for future use without any problems. Without the static instance you might want to move some code around to be more clean. E.g: @@ -145,12 +143,13 @@ return false; } - File cacheDir = new File(CacheUtil.cacheDir); + File cacheDir = CacheLRUWrapper.getInstance().getCacheDir(); if (!(cacheDir.isDirectory())) { return false; } OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Clearing cache directory: " + cacheDir); + CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); You should get the instance once before the line "File cacheDir = CacheLRUWrapper.getInstance().getCacheDir();", and reuse it throughout the method. This applies to a lot of the methods now. The rest looks good. The tests are all passing for me with this patch applied. For some reason though, I feel like there are still some hidden bugs in the caching system :\ I'll look into it. Regards > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Wed Mar 4 15:19:17 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Mar 2015 16:19:17 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <54F5C944.9090908@redhat.com> <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> <54F5D808.20602@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> Message-ID: <54F72275.1030107@redhat.com> On 03/04/2015 04:01 PM, Jie Kang wrote: > > > ----- Original Message ----- >> snip >>> >>> + private final PropertiesFile recentlyUsedPropertiesFile; >>> + private final File cacheDir; >>> + private final File recentlyUsedFile; >>> >>> + /** >>> + * @return the recentlyUsedFile >>> + */ >>> + public File getRecentlyUsedFile() { >>> + return recentlyUsedFile; >>> + } >>> >>> Instead of keeping recentlyUsedFile in memory, can you change it to: >>> >>> + public File getRecentlyUsedFile() { >>> + return recentlyUsedPropertiesFile.getStoreFile(); >>> + } >>> >>> Then you can remove that variable. >> >> As you wish, done. >>> >>> >>> - if (cacheOrder.containsKey(key)) { >>> + if (getRecentlyUsedPropertiesFile().containsKey(key)) { >>> >>> AFAICT this code is inside CacheLRUWrapper so it should have access to >>> 'recentlyUsedPropertiesFile'. It shouldn't use the getter if it doesn't >>> need to, no? >>> >>> A lot of the code changes are like this. Can you change them all back? >> >> With the getter you wished no. And I vote for keeping the getter rather >>> >>> >>> >>> >>> Also: >>> >>> + public CacheLRUWrapper() { >>> + this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); >>> + } >>> >>> In terms of the constructor, the dependencies are opposite. >>> >>> Right now, you get recently_used file, and then get cacheDir off it. >>> >>> Instead, it should be get cacheDir, and then get recently_used file off it. >>> >>> E.g. >>> >>> RecentlyUsedFile is always inside the Cache. (this is correct) >>> >>> as opposed to >>> >>> Cache is always parent file of RecentlyUsedFile. (In most cases this ends >>> up being the same thing, but it's not as correct) >> >> Right. I removed misleading single-file constructor. >>> >>> >>> >>> The default constructor usage ends up breaking things when you use it in >>> CacheUtil. >>> >>> private static final String setCacheDir = >>> JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); >>> private static final String cacheDir = new File(setCacheDir != null ? >>> setCacheDir : System.getProperty("java.io.tmpdir")).getPath(); // Do >>> this with file to standardize it. >>> private static final CacheLRUWrapper lruHandler = >>> CacheLRUWrapper.getInstance(); >>> >>> You need to also add changes to CacheUtil to use lruHandler's cache >>> directory. >>> >>> At the moment, CacheUtil.cacheDir != lruHandler.getCacheDir() when >>> someone sets DeploymentConfiguration.KEY_USER_CACHE_DIR to non-default. >> >> Yes. Fixed. >>> >>> >>> This patch is broken here and needs to be fixed. >>> >>> >>> Why would you push this without a +1 from anyone? You also seem to be doing >>> this with a number of other patches recently. If you need a review, ping >>> someone. >> >> :( Rush is an eneymy. I need to calm bit down with all those failures... >> >> >> See the patch for this commit. > > Hello, > > > - private static final CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); > > I feel like keeping a static instance here is still okay... Does it cause any problems? Unless you insists, I will go with the field removed. > > When the code inside CacheUtil calls: CacheLRUWrapper.getInstance() : it's receiving the same static instance anyways. So you should be able to just call it once and keep it for future use without any problems. > > > Without the static instance you might want to move some code around to be more clean. > > E.g: > > @@ -145,12 +143,13 @@ > return false; > } > > - File cacheDir = new File(CacheUtil.cacheDir); > + File cacheDir = CacheLRUWrapper.getInstance().getCacheDir(); > if (!(cacheDir.isDirectory())) { > return false; > } > > OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Clearing cache directory: " + cacheDir); > + CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); > > You should get the instance once before the line "File cacheDir = CacheLRUWrapper.getInstance().getCacheDir();", and reuse it throughout the method. This applies to a lot of the methods now. > > > The rest looks good. > > The tests are all passing for me with this patch applied. For some reason though, I feel like there are still some hidden bugs in the caching system :\ I'll look into it. > > Yes. The caching system had a lot of bugs in past. Mostl caused by various duplicated providers. Ok to push now? -------------- next part -------------- A non-text attachment was scrubbed... Name: removeDuplicateDefinitionsInCacheUtilsAndUseDefaultsFromLruWrapper2.patch Type: text/x-patch Size: 6682 bytes Desc: not available URL: From jkang at redhat.com Wed Mar 4 15:23:22 2015 From: jkang at redhat.com (Jie Kang) Date: Wed, 4 Mar 2015 10:23:22 -0500 (EST) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F72275.1030107@redhat.com> References: <54F4923C.3030302@redhat.com> <54F5C944.9090908@redhat.com> <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> <54F5D808.20602@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> <54F72275.1030107@redhat.com> Message-ID: <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/04/2015 04:01 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> snip > >>> > >>> + private final PropertiesFile recentlyUsedPropertiesFile; > >>> + private final File cacheDir; > >>> + private final File recentlyUsedFile; > >>> > >>> + /** > >>> + * @return the recentlyUsedFile > >>> + */ > >>> + public File getRecentlyUsedFile() { > >>> + return recentlyUsedFile; > >>> + } > >>> > >>> Instead of keeping recentlyUsedFile in memory, can you change it to: > >>> > >>> + public File getRecentlyUsedFile() { > >>> + return recentlyUsedPropertiesFile.getStoreFile(); > >>> + } > >>> > >>> Then you can remove that variable. > >> > >> As you wish, done. > >>> > >>> > >>> - if (cacheOrder.containsKey(key)) { > >>> + if (getRecentlyUsedPropertiesFile().containsKey(key)) { > >>> > >>> AFAICT this code is inside CacheLRUWrapper so it should have access to > >>> 'recentlyUsedPropertiesFile'. It shouldn't use the getter if it doesn't > >>> need to, no? > >>> > >>> A lot of the code changes are like this. Can you change them all back? > >> > >> With the getter you wished no. And I vote for keeping the getter rather > >>> > >>> > >>> > >>> > >>> Also: > >>> > >>> + public CacheLRUWrapper() { > >>> + this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); > >>> + } > >>> > >>> In terms of the constructor, the dependencies are opposite. > >>> > >>> Right now, you get recently_used file, and then get cacheDir off it. > >>> > >>> Instead, it should be get cacheDir, and then get recently_used file off > >>> it. > >>> > >>> E.g. > >>> > >>> RecentlyUsedFile is always inside the Cache. (this is correct) > >>> > >>> as opposed to > >>> > >>> Cache is always parent file of RecentlyUsedFile. (In most cases this ends > >>> up being the same thing, but it's not as correct) > >> > >> Right. I removed misleading single-file constructor. > >>> > >>> > >>> > >>> The default constructor usage ends up breaking things when you use it in > >>> CacheUtil. > >>> > >>> private static final String setCacheDir = > >>> JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); > >>> private static final String cacheDir = new File(setCacheDir != null > >>> ? > >>> setCacheDir : System.getProperty("java.io.tmpdir")).getPath(); // > >>> Do > >>> this with file to standardize it. > >>> private static final CacheLRUWrapper lruHandler = > >>> CacheLRUWrapper.getInstance(); > >>> > >>> You need to also add changes to CacheUtil to use lruHandler's cache > >>> directory. > >>> > >>> At the moment, CacheUtil.cacheDir != lruHandler.getCacheDir() when > >>> someone sets DeploymentConfiguration.KEY_USER_CACHE_DIR to > >>> non-default. > >> > >> Yes. Fixed. > >>> > >>> > >>> This patch is broken here and needs to be fixed. > >>> > >>> > >>> Why would you push this without a +1 from anyone? You also seem to be > >>> doing > >>> this with a number of other patches recently. If you need a review, ping > >>> someone. > >> > >> :( Rush is an eneymy. I need to calm bit down with all those failures... > >> > >> > >> See the patch for this commit. > > > > Hello, > > > > > > - private static final CacheLRUWrapper lruHandler = > > CacheLRUWrapper.getInstance(); > > > > I feel like keeping a static instance here is still okay... Does it cause > > any problems? > > Unless you insists, I will go with the field removed. > > > > > When the code inside CacheUtil calls: CacheLRUWrapper.getInstance() : it's > > receiving the same static instance anyways. So you should be able to just > > call it once and keep it for future use without any problems. > > > > > > Without the static instance you might want to move some code around to be > > more clean. > > > > E.g: > > > > @@ -145,12 +143,13 @@ > > return false; > > } > > > > - File cacheDir = new File(CacheUtil.cacheDir); > > + File cacheDir = CacheLRUWrapper.getInstance().getCacheDir(); > > if (!(cacheDir.isDirectory())) { > > return false; > > } > > > > OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, > > "Clearing cache directory: " + cacheDir); > > + CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); > > > > You should get the instance once before the line "File cacheDir = > > CacheLRUWrapper.getInstance().getCacheDir();", and reuse it throughout the > > method. This applies to a lot of the methods now. > > > > > > The rest looks good. > > > > The tests are all passing for me with this patch applied. For some reason > > though, I feel like there are still some hidden bugs in the caching system > > :\ I'll look into it. > > > > > Yes. The caching system had a lot of bugs in past. Mostl caused by various > duplicated providers. > > Ok to push now? Sure. Regards, > -- Jie Kang OpenJDK Team - Software Engineering Intern From jkang at redhat.com Wed Mar 4 15:37:08 2015 From: jkang at redhat.com (Jie Kang) Date: Wed, 4 Mar 2015 10:37:08 -0500 (EST) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> <54F5D808.20602@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> <54F72275.1030107@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> Message-ID: <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> Hello, Also, just noticed: CacheLRUWrapper.java: private boolean checkData () { [...] if (!path.contains(cacheDir.getAbsolutePath())) { Here you use cacheDir.getAbsolutePath() but: private String getIdForCacheFolder(String folder) { int len = getCacheDir().getAbsolutePath().length(); Here you use getCacheDir(). I think you wanted to use getCacheDir() everywhere. And one follow-up question: CacheUtil gets cacheDir from CacheLRUWrapper with default constructor which has: public CacheLRUWrapper() { this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); } Does this mean that DeploymentConfiguration.KEY_USER_CACHE_DIR is not used anymore? This means that code like: JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, System.getProperty("java.io.tmpdir") + File.separator + "tempcache"); won't work right? Also, can you double-check if this works with changing the cache directory in itweb-settings? From what I remember, the code there sets the DeploymentConfiguration.KEY_USER_CACHE_DIR, but you may have changed it already. So for CacheUtil unit tests, how do we create a temporary cache now? The tests need to make sure CacheUtil functions actually work, but they should definitely not use the user's cache. Regards, -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Wed Mar 4 15:50:04 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Mar 2015 16:50:04 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <1400730938.15346036.1425396346194.JavaMail.zimbra@redhat.com> <54F5D808.20602@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> <54F72275.1030107@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> Message-ID: <54F729AC.8090104@redhat.com> On 03/04/2015 04:37 PM, Jie Kang wrote: > Hello, > > > Also, just noticed: > > CacheLRUWrapper.java: > > private boolean checkData () { > [...] > if (!path.contains(cacheDir.getAbsolutePath())) { > > Here you use cacheDir.getAbsolutePath() but: > > private String getIdForCacheFolder(String folder) { > int len = getCacheDir().getAbsolutePath().length(); > > Here you use getCacheDir(). > > I think you wanted to use getCacheDir() everywhere. Sure. will be fixed before push. > > > > > > And one follow-up question: > > CacheUtil gets cacheDir from CacheLRUWrapper with default constructor which has: > > public CacheLRUWrapper() { > this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); > } Ugh, where have you found it? This constructor do not exists.... > > > Does this mean that DeploymentConfiguration.KEY_USER_CACHE_DIR is not used anymore? > > This means that code like: > > JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, System.getProperty("java.io.tmpdir") + File.separator + "tempcache"); > > won't work right? Yes. PAthsAndFiles arebased on that property,so runtime change will not take effect. This may be subject of another changeset.... > > Also, can you double-check if this works with changing the cache directory in itweb-settings? From what I remember, the code there sets the DeploymentConfiguration.KEY_USER_CACHE_DIR, but you may have changed it already. > > > So for CacheUtil unit tests, how do we create a temporary cache now? The tests need to make sure CacheUtil functions actually work, but they should definitely not use the user's cache. > > Seems like you are right. That although the value from defaults is going correctly, when changed by user then it is not. As this is old bug, just made more visible by my chnages, may I fix it as another changeset? ty! J. > From jkang at redhat.com Wed Mar 4 15:55:16 2015 From: jkang at redhat.com (Jie Kang) Date: Wed, 4 Mar 2015 10:55:16 -0500 (EST) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F729AC.8090104@redhat.com> References: <54F4923C.3030302@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> <54F72275.1030107@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> <54F729AC.8090104@redhat.com> Message-ID: <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/04/2015 04:37 PM, Jie Kang wrote: > > Hello, > > > > > > Also, just noticed: > > > > CacheLRUWrapper.java: > > > > private boolean checkData () { > > [...] > > if (!path.contains(cacheDir.getAbsolutePath())) { > > > > Here you use cacheDir.getAbsolutePath() but: > > > > private String getIdForCacheFolder(String folder) { > > int len = getCacheDir().getAbsolutePath().length(); > > > > Here you use getCacheDir(). > > > > I think you wanted to use getCacheDir() everywhere. > > Sure. will be fixed before push. > > > > > > > > > > > > And one follow-up question: > > > > CacheUtil gets cacheDir from CacheLRUWrapper with default constructor which > > has: > > > > public CacheLRUWrapper() { > > this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); > > } > > Ugh, where have you found it? This constructor do not exists.... Sorry, I meant: public CacheLRUWrapper() { this(PathsAndFiles.RECENTLY_USED_FILE.getFile(), PathsAndFiles.CACHE_DIR.getFile()); } The stuff below is still an issue though. > > > > > > Does this mean that DeploymentConfiguration.KEY_USER_CACHE_DIR is not used > > anymore? > > > > This means that code like: > > > > JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, > > System.getProperty("java.io.tmpdir") + File.separator + "tempcache"); > > > > won't work right? > > Yes. PAthsAndFiles arebased on that property,so runtime change will not take > effect. This may be subject of another changeset.... > > > > Also, can you double-check if this works with changing the cache directory > > in itweb-settings? From what I remember, the code there sets the > > DeploymentConfiguration.KEY_USER_CACHE_DIR, but you may have changed it > > already. > > > > > > So for CacheUtil unit tests, how do we create a temporary cache now? The > > tests need to make sure CacheUtil functions actually work, but they should > > definitely not use the user's cache. > > > > > > Seems like you are right. That although the value from defaults is going > correctly, when changed by user then it is not. As this is old bug, just > made more visible by my chnages, may I fix it as another changeset? Well please fix this as soon as possible. Please make sure to get both use-cases below: 1) user changes cachedir to custom location using itweb-settings : this is broken with your patch (bug in PathsAndFiles?) 2) for unit tests : we need to be able to set cache to a temporary location : CacheUtil unit tests need to test caching functions (clearCache, etc.), but not in user's cache. Regards, > > ty! > > J. > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Wed Mar 4 15:58:37 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Mar 2015 16:58:37 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> <54F72275.1030107@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> Message-ID: <54F72BAD.6010606@redhat.com> On 03/04/2015 04:55 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 03/04/2015 04:37 PM, Jie Kang wrote: >>> Hello, >>> >>> >>> Also, just noticed: >>> >>> CacheLRUWrapper.java: >>> >>> private boolean checkData () { >>> [...] >>> if (!path.contains(cacheDir.getAbsolutePath())) { >>> >>> Here you use cacheDir.getAbsolutePath() but: >>> >>> private String getIdForCacheFolder(String folder) { >>> int len = getCacheDir().getAbsolutePath().length(); >>> >>> Here you use getCacheDir(). >>> >>> I think you wanted to use getCacheDir() everywhere. >> >> Sure. will be fixed before push. >>> >>> >>> >>> >>> >>> And one follow-up question: >>> >>> CacheUtil gets cacheDir from CacheLRUWrapper with default constructor which >>> has: >>> >>> public CacheLRUWrapper() { >>> this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); >>> } >> >> Ugh, where have you found it? This constructor do not exists.... > > Sorry, I meant: > > public CacheLRUWrapper() { > this(PathsAndFiles.RECENTLY_USED_FILE.getFile(), PathsAndFiles.CACHE_DIR.getFile()); > } Ok. I guees this is settlet thenn. > The stuff below is still an issue though. > >>> >>> >>> Does this mean that DeploymentConfiguration.KEY_USER_CACHE_DIR is not used >>> anymore? >>> >>> This means that code like: >>> >>> JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR, >>> System.getProperty("java.io.tmpdir") + File.separator + "tempcache"); >>> >>> won't work right? >> >> Yes. PAthsAndFiles arebased on that property,so runtime change will not take >> effect. This may be subject of another changeset.... >>> >>> Also, can you double-check if this works with changing the cache directory >>> in itweb-settings? From what I remember, the code there sets the >>> DeploymentConfiguration.KEY_USER_CACHE_DIR, but you may have changed it >>> already. >>> >>> >>> So for CacheUtil unit tests, how do we create a temporary cache now? The >>> tests need to make sure CacheUtil functions actually work, but they should >>> definitely not use the user's cache. >>> >>> >> >> Seems like you are right. That although the value from defaults is going >> correctly, when changed by user then it is not. As this is old bug, just >> made more visible by my chnages, may I fix it as another changeset? > > Well please fix this as soon as possible. > sure. Probably today. > Please make sure to get both use-cases below: > > 1) user changes cachedir to custom location using itweb-settings : this is broken with your patch (bug in PathsAndFiles?) Sure! > > 2) for unit tests : we need to be able to set cache to a temporary location : CacheUtil unit tests need to test caching functions (clearCache, etc.), but not in user's cache. I thought you were working on this? I guess I made this a bit more complicated now... I'm not sure if this feature is desirable, however Most easy solution will be to create false CacheLruWrapper, or not? (Now I guess You know why it s probably better to not copy its value into static field...) J. From jvanek at icedtea.classpath.org Wed Mar 4 16:25:20 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 04 Mar 2015 16:25:20 +0000 Subject: /hg/icedtea-web: Fixed broken CacheUtil. Message-ID: changeset 8cae163ee8bd in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8cae163ee8bd author: Jiri Vanek date: Wed Mar 04 17:24:29 2015 +0100 Fixed broken CacheUtil. * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: removed misleading one parameter constructor. * netx/net/sourceforge/jnlp/cache/CacheUtil.java: adapted to new CacheLRUWrapper * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: adapted to new constructor. diffstat: ChangeLog | 9 ++++ netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 19 ++------ netx/net/sourceforge/jnlp/cache/CacheUtil.java | 22 +++++---- tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java | 2 +- 4 files changed, 28 insertions(+), 24 deletions(-) diffs (175 lines): diff -r a89fc59ab516 -r 8cae163ee8bd ChangeLog --- a/ChangeLog Tue Mar 03 17:04:24 2015 +0100 +++ b/ChangeLog Wed Mar 04 17:24:29 2015 +0100 @@ -1,3 +1,12 @@ +2015-03-04 Jiri Vanek + + Fixed broken CacheUtil. + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: removed misleading one + parameter constructor. + * netx/net/sourceforge/jnlp/cache/CacheUtil.java: adapted to new CacheLRUWrapper + * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: adapted + to new constructor. + 2015-03-03 Jiri Vanek Changing enum CacheLRUWrapper singleton to instantiatible one. recently_used diff -r a89fc59ab516 -r 8cae163ee8bd netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Tue Mar 03 17:04:24 2015 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Wed Mar 04 17:24:29 2015 +0100 @@ -69,20 +69,12 @@ private final PropertiesFile recentlyUsedPropertiesFile; private final File cacheDir; - private final File recentlyUsedFile; - + public CacheLRUWrapper() { - this(PathsAndFiles.RECENTLY_USED_FILE.getFile()); + this(PathsAndFiles.RECENTLY_USED_FILE.getFile(), PathsAndFiles.CACHE_DIR.getFile()); } - /** - * testing constructor - * @param recentlyUsed file to be used as recently_used file. its parent will be used as cache dir - */ - public CacheLRUWrapper(final File recentlyUsed) { - this(recentlyUsed, recentlyUsed.getParentFile()); - } - + /** * testing constructor * @param recentlyUsed file to be used as recently_used file @@ -90,7 +82,6 @@ */ public CacheLRUWrapper(final File recentlyUsed, final File cacheDir) { recentlyUsedPropertiesFile = new PropertiesFile(recentlyUsed); - recentlyUsedFile = recentlyUsed; this.cacheDir = cacheDir; if (!recentlyUsed.exists()) { try { @@ -129,7 +120,7 @@ * @return the recentlyUsedFile */ public File getRecentlyUsedFile() { - return recentlyUsedFile; + return recentlyUsedPropertiesFile.getStoreFile(); } private static class CacheLRUWrapperHolder{ @@ -179,7 +170,7 @@ // 2. check path format - does the path look correct? if (path != null) { - if (!path.contains(cacheDir.getAbsolutePath())) { + if (!path.contains(getCacheDir().getAbsolutePath())) { it.remove(); modified = true; } diff -r a89fc59ab516 -r 8cae163ee8bd netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Tue Mar 03 17:04:24 2015 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Wed Mar 04 17:24:29 2015 +0100 @@ -58,9 +58,7 @@ */ public class CacheUtil { - private static final String setCacheDir = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_USER_CACHE_DIR); - private static final String cacheDir = new File(setCacheDir != null ? setCacheDir : System.getProperty("java.io.tmpdir")).getPath(); // Do this with file to standardize it. - private static final CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); + /** * Caches a resource and returns a URL for it in the cache; @@ -144,8 +142,9 @@ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("CCannotClearCache")); return false; } - - File cacheDir = new File(CacheUtil.cacheDir); + + CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); + File cacheDir = lruHandler.getCacheDir(); if (!(cacheDir.isDirectory())) { return false; } @@ -292,6 +291,7 @@ throw new IllegalArgumentException(R("CNotCacheable", source)); File cacheFile = null; + CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); synchronized (lruHandler) { try { lruHandler.lock(); @@ -318,6 +318,7 @@ * @return File if we have searched before, {@code null} otherwise. */ private static File getCacheFileIfExist(File urlPath) { + CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); synchronized (lruHandler) { File cacheFile = null; List> entries = lruHandler.getLRUSortedEntries(); @@ -340,7 +341,7 @@ * Get the path to file minus the cache directory and indexed folder. */ private static String pathToURLPath(String path) { - int len = cacheDir.length(); + int len = CacheLRUWrapper.getInstance().getCacheDir().getAbsolutePath().length(); int index = path.indexOf(File.separatorChar, len + 1); return path.substring(index); } @@ -352,6 +353,7 @@ public static String getCacheParentDirectory(String filePath) { String path = filePath; String tempPath = ""; + String cacheDir = CacheLRUWrapper.getInstance().getCacheDir().getAbsolutePath(); while(path.startsWith(cacheDir) && !path.equals(cacheDir)){ tempPath = new File(path).getParent(); @@ -374,13 +376,14 @@ * @return the file location in the cache. */ public static File makeNewCacheFile(URL source, Version version) { + CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); synchronized (lruHandler) { File cacheFile = null; try { lruHandler.lock(); lruHandler.load(); for (long i = 0; i < Long.MAX_VALUE; i++) { - String path = cacheDir + File.separator + i; + String path = lruHandler.getCacheDir().getAbsolutePath() + File.separator + i; File cDir = new File(path); if (!cDir.exists()) { // We can use this directory. @@ -552,6 +555,7 @@ * This will remove all old cache items. */ public static void cleanCache() { + CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); if (okToClearCache()) { // First we want to figure out which stuff we need to delete. HashSet keep = new HashSet<>(); @@ -586,8 +590,8 @@ * rStr first becomes: /0/http/www.example.com/subdir/a.jar * then rstr becomes: /home/user1/.icedtea/cache/0 */ - String rStr = file.getPath().substring(cacheDir.length()); - rStr = cacheDir + rStr.substring(0, rStr.indexOf(File.separatorChar, 1)); + String rStr = file.getPath().substring(lruHandler.getCacheDir().getAbsolutePath().length()); + rStr =lruHandler.getCacheDir().getAbsolutePath() + rStr.substring(0, rStr.indexOf(File.separatorChar, 1)); long len = file.length(); if (keep.contains(file.getPath().substring(rStr.length()))) { diff -r a89fc59ab516 -r 8cae163ee8bd tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Tue Mar 03 17:04:24 2015 +0100 +++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java Wed Mar 04 17:24:29 2015 +0100 @@ -75,7 +75,7 @@ } } - private static final CacheLRUWrapper clw = new CacheLRUWrapper(new File(tmpCache, cacheIndexFileName)); + private static final CacheLRUWrapper clw = new CacheLRUWrapper(new File(tmpCache, cacheIndexFileName), tmpCache); private final int noEntriesCacheFile = 1000; From jvanek at redhat.com Wed Mar 4 17:13:18 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 04 Mar 2015 18:13:18 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F72BAD.6010606@redhat.com> References: <54F4923C.3030302@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> <54F72275.1030107@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> <54F72BAD.6010606@redhat.com> Message-ID: <54F73D2E.4070902@redhat.com> >> >> Well please fix this as soon as possible. >> > > sure. Probably today. > >> Please make sure to get both use-cases below: >> >> 1) user changes cachedir to custom location using itweb-settings : this is broken with your patch (bug in PathsAndFiles?) > > Sure! Hmm. Looking to it now, it stopepd to gave sense to me. The cahe si already selectable via XDG variables. Why to make it more complicated by completly custom value? Same is valid for logging. Is the chengable target of those two really desirable? J. > >> >> 2) for unit tests : we need to be able to set cache to a temporary location : CacheUtil unit tests need to test caching functions (clearCache, etc.), but not in user's cache. > > I thought you were working on this? I guess I made this a bit more complicated now... > > I'm not sure if this feature is desirable, however Most easy solution will be to create false CacheLruWrapper, or not? (Now I guess You know why it s probably better to not copy its value into static field...) > J. From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:17:00 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:17:00 +0000 Subject: [Bug 2257] New: [IcedTea8] clean-extract-nashorn rule is never run Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2257 Bug ID: 2257 Summary: [IcedTea8] clean-extract-nashorn rule is never run Product: IcedTea Version: 8-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org rmdir: failed to remove ???stamps???: Directory not empty make: *** [distclean-local] Error 1 [nighttester at toadeater icedtea8-target-testing]$ ls stamps/ extract-nashorn.stamp -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:17:16 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:17:16 +0000 Subject: [Bug 2257] [IcedTea8] clean-extract-nashorn rule is never run In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2257 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Blocks| |1282 Resolution|--- |FIXED Target Milestone|--- |3.0.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:17:17 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:17:17 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 2257, which changed state. Bug 2257 Summary: [IcedTea8] clean-extract-nashorn rule is never run http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2257 What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |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: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:17:16 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:17:16 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 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| |2257 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:28:38 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:28:38 +0000 Subject: [Bug 2249] [RFE] Revisit thermostat-setup In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2249 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |omajid at redhat.com Assignee|unassigned at icedtea.classpat |omajid at redhat.com |h.org | --- Comment #1 from Omair Majid --- I would prefer GUI, if only to help new users get started faster. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Wed Mar 4 17:31:18 2015 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:31:18 +0000 Subject: /hg/icedtea: 11 new changesets Message-ID: changeset d4b7c0a97901 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=d4b7c0a97901 author: Andrew John Hughes date: Wed Mar 04 15:00:16 2015 +0000 PR2256: Add tapset tests. 2015-03-04 Andrew John Hughes * Makefile.am: (clean-tests): Add dependency on clean-jtreg-reports. (clean-local): Drop clean-jtreg-reports. * NEWS: Updated. 2012-03-23 Jon VanAlten * Makefile.am: (check-local): Depend on check-tapset. (clean-tests): New target to group test cleanup rules. (clean-local): Depend on clean-tests rather than clean-jtreg. (.PHONY): Add clean-tests and clean-tapset-report. (check-tapset): Add target to run tapset tests. (clean-tapset-report): Cleanup tapset test output. * tapset/hotspot_jni.stp.in: Add notes regarding required JVM option to GetField family of probe aliases. * test/tapset/ClassUnloadedProbeTester.java: Part of test coverage for hotspot.stp and hotspot_jni.stp tapsets. * test/tapset/JNIStapTest.c: Likewise. * test/tapset/JNITestClass.c: Likewise. * test/tapset/JNITestClass.h: Likewise. * test/tapset/JNITestClass.java: Likewise. * test/tapset/RunWrapper.java: Likewise. * test/tapset/StapJNIClassLoader.java: Likewise. * test/tapset/StapURLClassLoader.java: Likewise. * test/tapset/SystemtapTester.java: Likewise. * test/tapset/TestingRunner.java: Likewise. * test/tapset/jstaptest.pl: Wrapper script, compiles and runs tests for tapsets. changeset b833c6a3aa60 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b833c6a3aa60 author: Mark Wielaard date: Fri Mar 23 22:39:35 2012 +0100 PR2256: Add jstack tests to test/tapset/jstaptest.pl. changeset 34975b977043 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=34975b977043 author: Mark Wielaard date: Mon Mar 26 22:07:22 2012 +0200 PR2256: jstaptest.pl: thread_start and stop thread id can be any positive number. tid was hard coded as being '8', but newer hotspot might start more than 7 background threads before the first user thread is started. So allow tid to be any positive number. changeset 8e4fc4803bd3 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=8e4fc4803bd3 author: Omair Majid date: Wed Jun 27 15:54:44 2012 -0400 PR2256: Fix JRE arch dir for x86 in tapset test script 2012-06-26 Omair Majid * test/tapset/jstaptest.pl (get_arch_dir): Fix dir for x86. changeset 7fad2a5465dd in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7fad2a5465dd author: Andrew John Hughes date: Wed Mar 04 15:05:45 2015 +0000 PR2256: Add UseCompressedOops tests to jstaptest.pl. * Makefile.am (check-tapset-probes): New target. (check-tapset-jstack): Likewise. (check-tapset): Depend on check-tapset-probes check-tapset-jstack. * test/tapset/jstaptest.pl (process_args): Add -p [$run_test_probes] and -j [$run_test_jstack]. (test_jstack): Takes argument to pass to java process. Pass -XX:+UseCompressedOops and/or -Xmx5G. changeset 9fe29e53b2f1 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=9fe29e53b2f1 author: Mark Wielaard date: Mon Aug 06 17:12:29 2012 +0200 PR2256: test/tapset/jstaptest.pl: Expect non-zero value for NewObjectA.return. changeset ad09cd636ff8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=ad09cd636ff8 author: Andrew John Hughes date: Wed Mar 04 15:09:23 2015 +0000 PR2256: Fix make distcheck broken by addition of SystemTap tests. 2012-05-30 Andrew John Hughes * Makefile.am: (EXTRA_DIST): Add test/tapset. (clean-jtreg): Remove test/jtreg if empty. changeset 4005e0143bc8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=4005e0143bc8 author: Andrew John Hughes date: Wed Mar 04 16:20:09 2015 +0000 PR1291: Ensure unlimited crypto policy is in place. 2013-06-05 Andrew John Hughes PR1291: Ensure unlimited crypto policy is in place. * Makefile.am: (CRYPTO_CHECK_BUILD_DIR): New variable. (CRYPTO_CHECK_SRCS): Likewise. (EXTRA_DIST): Add CRYPTO_CHECK_SRCS. (.PHONY): Add new clean targets. (check-crypto): Run the crypto checker on a normal stage 2 build. (clean-check-crypto): Delete the check-crypto stamp. (check-crypto-debug): Run the crypto checker on a debug stage 2 build. (clean-check-crypto-debug): Delete the check-crypto-debug stamp. (icedtea-stage2): Depend on check-crypto. (clean-icedtea-stage2): Depend on clean-check-crypto. (icedtea-debug-stage2): Depend on check-crypto-debug. (clean-icedtea-debug-stage2): Depend on clean-check-crypto-debug. (check-crypto-boot): Run the crypto checker on the stage 1 build. (clean-check-crypto-boot): Delete the check-crypto-boot stamp. (icedtea-stage1): Depend on check-crypto-boot. (clean-icedtea-stage1): Depend on clean-check-crypto-boot. (cryptocheck): Build the crypto checker. (clean-cryptocheck): Revert cryptocheck. * NEWS: Updated. * TestCryptoLevel.java: Checks whether the unlimited crypto policy is in place or not. changeset 0b1bc8378f34 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0b1bc8378f34 author: Andrew John Hughes date: Wed Mar 04 17:09:59 2015 +0000 PR1291: Make clean-crypto targets depend on JDK being built. 2013-06-05 Andrew John Hughes * Makefile.am: (check-crypto): Depend on icedtea.stamp. (add-archive): Move into correct position in file. (clean-add-archive): Likewise. (check-crypto-debug): Depend on icedtea-debug.stamp. (clean-crypto-boot): Depend on icedtea-boot.stamp. changeset 5da956ae51a8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=5da956ae51a8 author: Andrew John Hughes date: Wed Mar 04 17:25:22 2015 +0000 PR2257: clean-extract-nashorn rule is never run 2013-06-05 Andrew John Hughes * Makefile.am: (clean-extract-openjdk): Depend on clean-extract-nashorn. * NEWS: Updated. changeset 6d2ddb408564 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=6d2ddb408564 author: Andrew John Hughes date: Wed Mar 04 17:31:04 2015 +0000 PR1291: Actually invoke clean-cryptocheck. 2013-06-06 Andrew John Hughes * Makefile.am: (.PHONY): Add clean-cryptocheck. (clean-local): Likewise. diffstat: ChangeLog | 131 + Makefile.am | 120 +- NEWS | 3 + TestCryptoLevel.java | 78 + tapset/hotspot_jni.stp.in | 20 +- 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 ++++++++++++++ 16 files changed, 4070 insertions(+), 14 deletions(-) diffs (truncated from 4413 to 500 lines): diff -r a9271fe74b8d -r 6d2ddb408564 ChangeLog --- a/ChangeLog Tue Mar 03 00:15:26 2015 +0000 +++ b/ChangeLog Wed Mar 04 17:31:04 2015 +0000 @@ -1,3 +1,134 @@ +2013-06-06 Andrew John Hughes + + * Makefile.am: + (.PHONY): Add clean-cryptocheck. + (clean-local): Likewise. + +2013-06-05 Andrew John Hughes + + * Makefile.am: + (clean-extract-openjdk): Depend on clean-extract-nashorn. + * NEWS: Updated. + +2013-06-05 Andrew John Hughes + + * Makefile.am: + (check-crypto): Depend on icedtea.stamp. + (check-crypto-debug): Depend on icedtea-debug.stamp. + (clean-crypto-boot): Depend on icedtea-boot.stamp. + +2013-06-05 Andrew John Hughes + + PR1291: Ensure unlimited crypto policy is in place. + * Makefile.am: + (CRYPTO_CHECK_BUILD_DIR): New variable. + (CRYPTO_CHECK_SRCS): Likewise. + (EXTRA_DIST): Add CRYPTO_CHECK_SRCS. + (.PHONY): Add new clean targets. + (check-crypto): Run the crypto checker on a normal + stage 2 build. + (clean-check-crypto): Delete the check-crypto stamp. + (check-crypto-debug): Run the crypto checker on a + debug stage 2 build. + (clean-check-crypto-debug): Delete the + check-crypto-debug stamp. + (icedtea-stage2): Depend on check-crypto. + (clean-icedtea-stage2): Depend on clean-check-crypto. + (icedtea-debug-stage2): Depend on check-crypto-debug. + (clean-icedtea-debug-stage2): Depend on + clean-check-crypto-debug. + (check-crypto-boot): Run the crypto checker on + the stage 1 build. + (clean-check-crypto-boot): Delete the + check-crypto-boot stamp. + (icedtea-stage1): Depend on check-crypto-boot. + (clean-icedtea-stage1): Depend on + clean-check-crypto-boot. + (cryptocheck): Build the crypto checker. + (clean-cryptocheck): Revert cryptocheck. + * NEWS: Updated. + * TestCryptoLevel.java: + Checks whether the unlimited crypto policy is in + place or not. + +2012-05-30 Andrew John Hughes + + * Makefile.am: + (EXTRA_DIST): Add test/tapset. + (clean-jtreg): Remove test/jtreg if empty. + +2012-08-06 Mark Wielaard + + * test/tapset/jstaptest.pl (probestrings): Expect non-zero value + for hotspot.jni.NewObjectA.return. + +2012-08-03 Mark Wielaard + + * Makefile.am (check-tapset-probes): New target. + (check-tapset-jstack): Likewise. + (check-tapset): Depend on check-tapset-probes check-tapset-jstack. + * test/tapset/jstaptest.pl (process_args): Add -p [$run_test_probes] + and -j [$run_test_jstack]. + (test_jstack): Takes argument to pass to java process. + Pass -XX:+UseCompressedOops and/or -Xmx5G. + +2012-06-26 Omair Majid + + * test/tapset/jstaptest.pl (get_arch_dir): Fix dir for x86. + +2012-03-26 Mark Wielaard + + * test/tapset/jstaptest.pl: thread_start and thread_stop thread id + can be any positive number. + +2012-03-23 Mark Wielaard + + * test/tapset/jstaptest.pl: Add jstack tests. + +2015-03-04 Andrew John Hughes + + * Makefile.am: + (clean-tests): Add dependency on clean-jtreg-reports. + (clean-local): Drop clean-jtreg-reports. + * NEWS: Updated. + +2012-03-23 Jon VanAlten + + * Makefile.am: + (check-local): Depend on check-tapset. + (clean-tests): New target to group test cleanup + rules. + (clean-local): Depend on clean-tests rather than + clean-jtreg. + (.PHONY): Add clean-tests and clean-tapset-report. + (check-tapset): Add target to run tapset tests. + (clean-tapset-report): Cleanup tapset test output. + * tapset/hotspot_jni.stp.in: + Add notes regarding required JVM option to GetField + family of probe aliases. + * test/tapset/ClassUnloadedProbeTester.java: + Part of test coverage for hotspot.stp and hotspot_jni.stp tapsets. + * test/tapset/JNIStapTest.c: + Likewise. + * test/tapset/JNITestClass.c: + Likewise. + * test/tapset/JNITestClass.h: + Likewise. + * test/tapset/JNITestClass.java: + Likewise. + * test/tapset/RunWrapper.java: + Likewise. + * test/tapset/StapJNIClassLoader.java: + Likewise. + * test/tapset/StapURLClassLoader.java: + Likewise. + * test/tapset/SystemtapTester.java: + Likewise. + * test/tapset/TestingRunner.java: + Likewise. + * test/tapset/jstaptest.pl: + Wrapper script, compiles and runs tests for tapsets. + 2015-03-02 Andrew John Hughes * Makefile.am: diff -r a9271fe74b8d -r 6d2ddb408564 Makefile.am --- a/Makefile.am Tue Mar 03 00:15:26 2015 +0000 +++ b/Makefile.am Wed Mar 04 17:31:04 2015 +0000 @@ -63,6 +63,7 @@ STAGE1_BOOT_DIR = $(abs_top_builddir)/bootstrap/boot 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 # Source directories @@ -209,6 +210,7 @@ # Sources list REWRITER_SRCS = $(top_srcdir)/rewriter/com/redhat/rewriter/ClassRewriter.java +CRYPTO_CHECK_SRCS = $(top_srcdir)/TestCryptoLevel.java # Patch list @@ -488,22 +490,31 @@ scripts/jni_desc \ rewriter/agpl-3.0.txt \ $(REWRITER_SRCS) \ - THANKYOU + THANKYOU test/tapset \ + $(CRYPTO_CHECK_SRCS) # Top-Level Targets # ================= all-local: icedtea-stage2 -check-local: jtregcheck +check-local: jtregcheck check-tapset -clean-local: clean-jtreg clean-jtreg-reports clean-pulse-java \ +clean-tests: clean-jtreg clean-tapset-report clean-jtreg-reports + if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \ + if [ -e test ] ; then \ + rmdir test ; \ + fi \ + fi + +clean-local: clean-tests clean-pulse-java \ clean-icedtea clean-icedtea-debug clean-icedtea-boot clean-clone clean-clone-boot \ clean-bootstrap-directory-stage1 clean-bootstrap-directory-stage2 \ clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ clean-extract clean-native-ecj clean-icedtea-stage2 \ clean-icedtea-debug-stage2 clean-icedtea-stage1 clean-add-zero clean-add-zero-debug \ - clean-add-cacao clean-add-cacao-debug clean-rt clean-rewrite-rhino clean-rewriter + clean-add-cacao clean-add-cacao-debug clean-rt clean-rewrite-rhino clean-rewriter \ + clean-cryptocheck if [ -e bootstrap ]; then \ rmdir bootstrap ; \ fi @@ -534,7 +545,9 @@ clean-jamvm clean-extract-jamvm clean-add-jamvm clean-add-jamvm-debug \ clean-extract-hotspot clean-sanitise-openjdk clean-icedtea-debug \ clean-download-nashorn clean-extract-nashorn clean-download-hotspot \ - clean-add-archive clean-add-archive-debug clean-add-archive-boot + clean-check-crypto clean-check-crypto-debug clean-check-crypto-boot \ + clean-add-archive clean-add-archive-debug clean-add-archive-boot clean-cryptocheck \ + clean-tests clean-tapset-report env: @echo 'unset JAVA_HOME' @@ -963,7 +976,8 @@ clean-extract-openjdk: clean-overlay clean-versioning \ clean-patch-fsg clean-remove-intree-libraries \ - clean-sanitise-openjdk clean-extract-hotspot + clean-sanitise-openjdk clean-extract-hotspot \ + clean-extract-nashorn rm -rf openjdk rm -f stamps/extract-openjdk.stamp @@ -1583,6 +1597,16 @@ rm -f stamps/icedtea-debug-configure.stamp rm -f stamps/icedtea-debug.stamp +stamps/check-crypto.stamp: stamps/cryptocheck.stamp stamps/icedtea.stamp + if [ -e $(BUILD_IMAGE_DIR)/j2sdk-image/bin/java ] ; then \ + $(BUILD_IMAGE_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \ + fi + mkdir -p stamps + touch $@ + +clean-check-crypto: + rm -f stamps/check-crypto.stamp + stamps/add-archive.stamp: stamps/icedtea.stamp if !ENABLE_JAMVM if !ENABLE_CACAO @@ -1599,6 +1623,16 @@ rm -vf $(BUILD_IMAGE_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/*/*.jsa rm -f stamps/add-archive.stamp +stamps/check-crypto-debug.stamp: stamps/cryptocheck.stamp stamps/icedtea-debug.stamp + if [ -e $(BUILD_DEBUG_IMAGE_DIR)/j2sdk-image/bin/java ] ; then \ + $(BUILD_DEBUG_IMAGE_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \ + fi + mkdir -p stamps + touch $@ + +clean-check-crypto-debug: + rm -f stamps/check-crypto-debug.stamp + stamps/add-archive-debug.stamp: stamps/icedtea-debug.stamp if !ENABLE_JAMVM if !ENABLE_CACAO @@ -1616,20 +1650,22 @@ rm -f stamps/add-archive-debug.stamp stamps/icedtea-stage2.stamp: stamps/icedtea.stamp stamps/add-cacao.stamp \ - stamps/add-zero.stamp stamps/add-jamvm.stamp stamps/add-archive.stamp + stamps/add-zero.stamp stamps/add-jamvm.stamp stamps/check-crypto.stamp \ + stamps/add-archive.stamp mkdir -p stamps touch $@ -clean-icedtea-stage2: clean-add-jamvm clean-add-archive +clean-icedtea-stage2: clean-add-jamvm clean-check-crypto clean-add-archive rm -f stamps/icedtea-stage2.stamp stamps/icedtea-debug-stage2.stamp: stamps/icedtea-debug.stamp \ stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp stamps/add-jamvm-debug.stamp \ - stamps/add-archive-debug.stamp + stamps/check-crypto-debug.stamp stamps/add-archive-debug.stamp mkdir -p stamps touch $@ -clean-icedtea-debug-stage2: clean-add-jamvm-debug clean-add-archive-debug +clean-icedtea-debug-stage2: clean-add-jamvm-debug clean-check-crypto-debug \ + clean-add-archive-debug rm -f stamps/icedtea-debug-stage2.stamp # OpenJDK boot Targets @@ -1695,6 +1731,16 @@ rm -f stamps/icedtea-boot-configure.stamp rm -f stamps/icedtea-boot.stamp +stamps/check-crypto-boot.stamp: stamps/cryptocheck.stamp stamps/icedtea-boot.stamp + if [ -e $(BUILD_BOOT_IMAGE_DIR)/j2sdk-image/bin/java ] ; then \ + $(BUILD_BOOT_IMAGE_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \ + fi + mkdir -p stamps + touch $@ + +clean-check-crypto-boot: + rm -f stamps/check-crypto-boot.stamp + stamps/add-archive-boot.stamp: stamps/icedtea-boot.stamp if !ENABLE_JAMVM if !ENABLE_CACAO @@ -1711,11 +1757,12 @@ rm -vf $(BUILD_BOOT_IMAGE_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/*/*.jsa rm -f stamps/add-archive-boot.stamp -stamps/icedtea-stage1.stamp: stamps/icedtea-boot.stamp stamps/add-archive-boot.stamp +stamps/icedtea-stage1.stamp: stamps/icedtea-boot.stamp stamps/check-crypto-boot.stamp \ + stamps/add-archive-boot.stamp mkdir -p stamps touch $@ -clean-icedtea-stage1: clean-add-archive-boot +clean-icedtea-stage1: clean-check-crypto-boot clean-add-archive-boot rm -f stamps/icedtea-stage1.stamp # PulseAudio based mixer @@ -2091,6 +2138,11 @@ clean-jtreg: rm -rf test/jtreg/classes + if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \ + if [ -e test/jtreg ] ; then \ + rmdir test/jtreg ; \ + fi ; \ + fi rm -f test/jtreg.jar rm -f stamps/jtreg.stamp @@ -2173,6 +2225,29 @@ $(jtreg_processes); \ fi +check-tapset-probes: +if ENABLE_SYSTEMTAP + $(abs_top_srcdir)/test/tapset/jstaptest.pl \ + -B $(BUILD_OUTPUT_DIR) -A $(BUILD_ARCH_DIR) \ + -S $(abs_top_srcdir)/test/tapset \ + -a test/check-stap.log -p +endif + +check-tapset-jstack: +if ENABLE_SYSTEMTAP + $(abs_top_srcdir)/test/tapset/jstaptest.pl \ + -B $(BUILD_OUTPUT_DIR) -A $(BUILD_ARCH_DIR) \ + -S $(abs_top_srcdir)/test/tapset \ + -a test/check-stap.log -j +endif + +check-tapset: check-tapset-probes check-tapset-jstack + +clean-tapset-report: +if ENABLE_SYSTEMTAP + rm -f test/check-stap.log +endif + # Support classes for non-OpenJDK bootstraps rt-source-files.txt: $(OPENJDK_BOOT_TREE) @@ -2218,6 +2293,19 @@ cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_DIR)/jre/lib ; \ fi +# Crypto Level Check + +stamps/cryptocheck.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) + mkdir -p $(CRYPTO_CHECK_BUILD_DIR) + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(CRYPTO_CHECK_BUILD_DIR) $(CRYPTO_CHECK_SRCS) + mkdir -p stamps + touch $@ + +clean-cryptocheck: + rm -rf $(CRYPTO_CHECK_BUILD_DIR) + rm -f stamps/cryptocheck.stamp + # Target Aliases # =============== @@ -2241,8 +2329,16 @@ cacao: stamps/cacao.stamp +check-crypto: stamps/check-crypto.stamp + +check-crypto-boot: stamps/check-crypto-boot.stamp + +check-crypto-debug: stamps/check-crypto-debug.stamp + clone-boot: stamps/clone-boot.stamp +cryptocheck: stamps/cryptocheck.stamp + download: stamps/download.stamp download-cacao: stamps/download-cacao.stamp diff -r a9271fe74b8d -r 6d2ddb408564 NEWS --- a/NEWS Tue Mar 03 00:15:26 2015 +0000 +++ b/NEWS Wed Mar 04 17:31:04 2015 +0000 @@ -27,6 +27,7 @@ - PR1275: Provide option to turn off downloading of tarballs - PR1279: Synchronise CACAO versions between IcedTea6/7/8 where possible - PR1281, RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive + - PR1291: Ensure unlimited crypto policy is in place. - PR1325: Only add classes to rt-source-files.txt if actually needed - PR1346: Filter out -j option to make - PR1347: Update list of checked JDKs @@ -54,6 +55,8 @@ - PR2212: DGifCloseFile call should check the return value, not the error code, for failure - PR2227: giflib 5.1 conditional excludes 6.0, 7.0, etc. - PR2248: HotSpot tarball fails verification after download + - PR2256: Add SystemTap tests + - PR2257: clean-extract-nashorn rule is never run - Don't substitute 'j' for '-j' inside -I directives - Extend 8041658 to all files in the HotSpot build. - Remove jcheck diff -r a9271fe74b8d -r 6d2ddb408564 TestCryptoLevel.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TestCryptoLevel.java Wed Mar 04 17:31:04 2015 +0000 @@ -0,0 +1,78 @@ +/* TestCryptoLevel -- Ensure unlimited crypto policy is in use. + Copyright (C) 2012 Red Hat, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program 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 Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +*/ + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.InvocationTargetException; + +import java.security.Permission; +import java.security.PermissionCollection; + +public class TestCryptoLevel +{ + public static void main(String[] args) + throws NoSuchFieldException, ClassNotFoundException, + IllegalAccessException, InvocationTargetException + { + Class cls = null; + Method def = null, exempt = null; + + try + { + cls = Class.forName("javax.crypto.JceSecurity"); + } + catch (ClassNotFoundException ex) + { + System.err.println("Running a non-Sun JDK."); + System.exit(0); + } + catch (ExceptionInInitializerError err) + { + System.err.println("Failed to initialise JceSecurity: " + + err.getCause().getCause().getMessage()); + System.exit(-2); + } + try + { + def = cls.getDeclaredMethod("getDefaultPolicy"); + exempt = cls.getDeclaredMethod("getExemptPolicy"); + } + catch (NoSuchMethodException ex) + { + System.err.println("Running IcedTea with the original crypto patch."); + System.exit(0); + } + def.setAccessible(true); + exempt.setAccessible(true); + PermissionCollection defPerms = (PermissionCollection) def.invoke(null); + PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null); + Class apCls = Class.forName("javax.crypto.CryptoAllPermission"); + Field apField = apCls.getDeclaredField("INSTANCE"); + apField.setAccessible(true); + Permission allPerms = (Permission) apField.get(null); + if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms))) + { + System.err.println("Running with the unlimited policy."); + System.exit(0); + } + else + { + System.err.println("WARNING: Running with a restricted crypto policy."); + System.exit(-1); + } + } +} diff -r a9271fe74b8d -r 6d2ddb408564 tapset/hotspot_jni.stp.in --- a/tapset/hotspot_jni.stp.in Tue Mar 03 00:15:26 2015 +0000 +++ b/tapset/hotspot_jni.stp.in Wed Mar 04 17:31:04 2015 +0000 @@ -3472,6 +3472,7 @@ /* hotspot.jni.GetBooleanField * Get non-static jboolean field value. + * NEEDS: -XX:-UseFastJNIAccessors * * env - JNIEnv pointer. * obj - jobject. @@ -3490,6 +3491,7 @@ From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:31:43 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:31:43 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=d4b7c0a97901 author: Andrew John Hughes date: Wed Mar 04 15:00:16 2015 +0000 PR2256: Add tapset tests. 2015-03-04 Andrew John Hughes * Makefile.am: (clean-tests): Add dependency on clean-jtreg-reports. (clean-local): Drop clean-jtreg-reports. * NEWS: Updated. 2012-03-23 Jon VanAlten * Makefile.am: (check-local): Depend on check-tapset. (clean-tests): New target to group test cleanup rules. (clean-local): Depend on clean-tests rather than clean-jtreg. (.PHONY): Add clean-tests and clean-tapset-report. (check-tapset): Add target to run tapset tests. (clean-tapset-report): Cleanup tapset test output. * tapset/hotspot_jni.stp.in: Add notes regarding required JVM option to GetField family of probe aliases. * test/tapset/ClassUnloadedProbeTester.java: Part of test coverage for hotspot.stp and hotspot_jni.stp tapsets. * test/tapset/JNIStapTest.c: Likewise. * test/tapset/JNITestClass.c: Likewise. * test/tapset/JNITestClass.h: Likewise. * test/tapset/JNITestClass.java: Likewise. * test/tapset/RunWrapper.java: Likewise. * test/tapset/StapJNIClassLoader.java: Likewise. * test/tapset/StapURLClassLoader.java: Likewise. * test/tapset/SystemtapTester.java: Likewise. * test/tapset/TestingRunner.java: Likewise. * test/tapset/jstaptest.pl: Wrapper script, compiles and runs tests for tapsets. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:31:51 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:31:51 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=b833c6a3aa60 author: Mark Wielaard date: Fri Mar 23 22:39:35 2012 +0100 PR2256: Add jstack tests to test/tapset/jstaptest.pl. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:31:59 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:31:59 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=34975b977043 author: Mark Wielaard date: Mon Mar 26 22:07:22 2012 +0200 PR2256: jstaptest.pl: thread_start and stop thread id can be any positive number. tid was hard coded as being '8', but newer hotspot might start more than 7 background threads before the first user thread is started. So allow tid to be any positive number. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:32:06 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:32:06 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=8e4fc4803bd3 author: Omair Majid date: Wed Jun 27 15:54:44 2012 -0400 PR2256: Fix JRE arch dir for x86 in tapset test script 2012-06-26 Omair Majid * test/tapset/jstaptest.pl (get_arch_dir): Fix dir for x86. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:32:13 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:32:13 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=7fad2a5465dd author: Andrew John Hughes date: Wed Mar 04 15:05:45 2015 +0000 PR2256: Add UseCompressedOops tests to jstaptest.pl. * Makefile.am (check-tapset-probes): New target. (check-tapset-jstack): Likewise. (check-tapset): Depend on check-tapset-probes check-tapset-jstack. * test/tapset/jstaptest.pl (process_args): Add -p [$run_test_probes] and -j [$run_test_jstack]. (test_jstack): Takes argument to pass to java process. Pass -XX:+UseCompressedOops and/or -Xmx5G. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:32:19 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:32:19 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=9fe29e53b2f1 author: Mark Wielaard date: Mon Aug 06 17:12:29 2012 +0200 PR2256: test/tapset/jstaptest.pl: Expect non-zero value for NewObjectA.return. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:32:26 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:32:26 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 --- Comment #7 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=ad09cd636ff8 author: Andrew John Hughes date: Wed Mar 04 15:09:23 2015 +0000 PR2256: Fix make distcheck broken by addition of SystemTap tests. 2012-05-30 Andrew John Hughes * Makefile.am: (EXTRA_DIST): Add test/tapset. (clean-jtreg): Remove test/jtreg if empty. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:32:33 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:32:33 +0000 Subject: [Bug 1291] [IcedTea8] Ensure unlimited crypto policy or crypto removal patch is in place. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1291 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=4005e0143bc8 author: Andrew John Hughes date: Wed Mar 04 16:20:09 2015 +0000 PR1291: Ensure unlimited crypto policy is in place. 2013-06-05 Andrew John Hughes PR1291: Ensure unlimited crypto policy is in place. * Makefile.am: (CRYPTO_CHECK_BUILD_DIR): New variable. (CRYPTO_CHECK_SRCS): Likewise. (EXTRA_DIST): Add CRYPTO_CHECK_SRCS. (.PHONY): Add new clean targets. (check-crypto): Run the crypto checker on a normal stage 2 build. (clean-check-crypto): Delete the check-crypto stamp. (check-crypto-debug): Run the crypto checker on a debug stage 2 build. (clean-check-crypto-debug): Delete the check-crypto-debug stamp. (icedtea-stage2): Depend on check-crypto. (clean-icedtea-stage2): Depend on clean-check-crypto. (icedtea-debug-stage2): Depend on check-crypto-debug. (clean-icedtea-debug-stage2): Depend on clean-check-crypto-debug. (check-crypto-boot): Run the crypto checker on the stage 1 build. (clean-check-crypto-boot): Delete the check-crypto-boot stamp. (icedtea-stage1): Depend on check-crypto-boot. (clean-icedtea-stage1): Depend on clean-check-crypto-boot. (cryptocheck): Build the crypto checker. (clean-cryptocheck): Revert cryptocheck. * NEWS: Updated. * TestCryptoLevel.java: Checks whether the unlimited crypto policy is in place or not. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:32:40 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:32:40 +0000 Subject: [Bug 1291] [IcedTea8] Ensure unlimited crypto policy or crypto removal patch is in place. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1291 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=0b1bc8378f34 author: Andrew John Hughes date: Wed Mar 04 17:09:59 2015 +0000 PR1291: Make clean-crypto targets depend on JDK being built. 2013-06-05 Andrew John Hughes * Makefile.am: (check-crypto): Depend on icedtea.stamp. (add-archive): Move into correct position in file. (clean-add-archive): Likewise. (check-crypto-debug): Depend on icedtea-debug.stamp. (clean-crypto-boot): Depend on icedtea-boot.stamp. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:32:46 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:32:46 +0000 Subject: [Bug 2257] [IcedTea8] clean-extract-nashorn rule is never run In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2257 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=5da956ae51a8 author: Andrew John Hughes date: Wed Mar 04 17:25:22 2015 +0000 PR2257: clean-extract-nashorn rule is never run 2013-06-05 Andrew John Hughes * Makefile.am: (clean-extract-openjdk): Depend on clean-extract-nashorn. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:32:52 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:32:52 +0000 Subject: [Bug 1291] [IcedTea8] Ensure unlimited crypto policy or crypto removal patch is in place. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1291 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=6d2ddb408564 author: Andrew John Hughes date: Wed Mar 04 17:31:04 2015 +0000 PR1291: Actually invoke clean-cryptocheck. 2013-06-06 Andrew John Hughes * Makefile.am: (.PHONY): Add clean-cryptocheck. (clean-local): Likewise. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:35:55 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:35:55 +0000 Subject: [Bug 2256] [IcedTea8] Add SystemTap tests In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 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: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:35:55 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:35:55 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 2256, which changed state. Bug 2256 Summary: [IcedTea8] Add SystemTap tests http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2256 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: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:36:03 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:36:03 +0000 Subject: [Bug 1291] [IcedTea8] Ensure unlimited crypto policy or crypto removal patch is in place. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1291 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: From bugzilla-daemon at icedtea.classpath.org Wed Mar 4 17:36:03 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Mar 2015 17:36:03 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 1291, which changed state. Bug 1291 Summary: [IcedTea8] Ensure unlimited crypto policy or crypto removal patch is in place. http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1291 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: From jkang at redhat.com Wed Mar 4 18:40:15 2015 From: jkang at redhat.com (Jie Kang) Date: Wed, 4 Mar 2015 13:40:15 -0500 (EST) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F73D2E.4070902@redhat.com> References: <54F4923C.3030302@redhat.com> <54F72275.1030107@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> Message-ID: <885607698.16097037.1425494415794.JavaMail.zimbra@redhat.com> ----- Original Message ----- > >> > >> Well please fix this as soon as possible. > >> > > > > sure. Probably today. > > > >> Please make sure to get both use-cases below: > >> > >> 1) user changes cachedir to custom location using itweb-settings : this is > >> broken with your patch (bug in PathsAndFiles?) > > > > Sure! > > Hmm. Looking to it now, it stopepd to gave sense to me. > > The cahe si already selectable via XDG variables. Why to make it more > complicated by completly custom value? > > Same is valid for logging. > > Is the chengable target of those two really desirable? Are you suggesting to remove the ability for users to customize their icedtea-web cache location? Sorry, I didn't fully understand your sentence. XDG variables are used by more than just icedtea-web, no? How does a user select a different cache via XDG variables? Regards, > > J. > > > >> > >> 2) for unit tests : we need to be able to set cache to a temporary > >> location : CacheUtil unit tests need to test caching functions > >> (clearCache, etc.), but not in user's cache. > > > > I thought you were working on this? I guess I made this a bit more > > complicated now... > > > > I'm not sure if this feature is desirable, however Most easy solution will > > be to create false CacheLruWrapper, or not? (Now I guess You know why it s > > probably better to not copy its value into static field...) > > J. > > -- Jie Kang OpenJDK Team - Software Engineering Intern From aazores at redhat.com Wed Mar 4 19:04:31 2015 From: aazores at redhat.com (Andrew Azores) Date: Wed, 4 Mar 2015 14:04:31 -0500 (EST) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <885607698.16097037.1425494415794.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> <885607698.16097037.1425494415794.JavaMail.zimbra@redhat.com> Message-ID: <837186443.22834427.1425495871257.JavaMail.zimbra@redhat.com> ----- Original Message ----- > > > ----- Original Message ----- > > >> > > >> Well please fix this as soon as possible. > > >> > > > > > > sure. Probably today. > > > > > >> Please make sure to get both use-cases below: > > >> > > >> 1) user changes cachedir to custom location using itweb-settings : this > > >> is > > >> broken with your patch (bug in PathsAndFiles?) > > > > > > Sure! > > > > Hmm. Looking to it now, it stopepd to gave sense to me. > > > > The cahe si already selectable via XDG variables. Why to make it more > > complicated by completly custom value? > > > > Same is valid for logging. > > > > Is the chengable target of those two really desirable? > > Are you suggesting to remove the ability for users to customize their > icedtea-web cache location? Sorry, I didn't fully understand your sentence. > > XDG variables are used by more than just icedtea-web, no? > > How does a user select a different cache via XDG variables? I think all you'd be able to do is change the XDG cache location, with XDG_CACHE_HOME. By default it's just $HOME/.cache, so the ITW cache goes in $HOME/.cache/icedtea-web by default. But yes, that environment variable is not ITW-specific, so AFAIK there is no way using XDG to move *only* the ITW cache like this. http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html > > > Regards, > > > > > > J. > > > > > >> > > >> 2) for unit tests : we need to be able to set cache to a temporary > > >> location : CacheUtil unit tests need to test caching functions > > >> (clearCache, etc.), but not in user's cache. > > > > > > I thought you were working on this? I guess I made this a bit more > > > complicated now... > > > > > > I'm not sure if this feature is desirable, however Most easy solution > > > will > > > be to create false CacheLruWrapper, or not? (Now I guess You know why it > > > s > > > probably better to not copy its value into static field...) > > > J. > > > > > > -- > > Jie Kang > > OpenJDK Team - Software Engineering Intern > Thanks, Andrew A From ldracz at redhat.com Wed Mar 4 21:00:29 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Wed, 4 Mar 2015 16:00:29 -0500 (EST) Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <529308723.16174084.1425500060374.JavaMail.zimbra@redhat.com> Message-ID: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> Hello, I have been looking into why certain reproducers are failing. For the following tests testPartiallySignedAppletWithSandboxPermissionsInManifestLaunchWithSignedHTMLApp testPartiallySignedJNLPAppletWithSandboxPermissionsInManifestLaunchWithSignedApp testSignedAppletWithSandboxPermissionsInManifestHtml testSignedAppletWithSandboxPermissionsInManifestHtmlJnlpHref testSignedAppletWithSandboxPermissionsInManifestJnlpApplet testSignedAppletWithSandboxPermissionsInManifestJnlpApplication I found that changeset 1129:0284eb954ebc is reason. The reason why is that the permissions attributes check has been moved from always being checked into an if statement where they are only checked when deployment.manifest.attributes.check is set to true. I have tested and found the tests to pass when this deployment.manifest.attributes.check is set to true. This patch just adds comments to the tests for reference to help explain to anyone in the future looking at the tests. At the moment I don't have a solution, does anyone have an idea on how to properly fix this or handle this ? I had tried to set the property to true for the tests and revert it back after to no avail. I will try to think more on this problem. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: add-comment-about-permission-attributes.patch Type: text/x-patch Size: 2227 bytes Desc: not available URL: From jvanek at redhat.com Thu Mar 5 07:48:25 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 05 Mar 2015 08:48:25 +0100 Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> References: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> Message-ID: <54F80A49.2090804@redhat.com> On 03/04/2015 10:00 PM, Lukasz Dracz wrote: > Hello, > > I have been looking into why certain reproducers are failing. For the following tests > > testPartiallySignedAppletWithSandboxPermissionsInManifestLaunchWithSignedHTMLApp > testPartiallySignedJNLPAppletWithSandboxPermissionsInManifestLaunchWithSignedApp > testSignedAppletWithSandboxPermissionsInManifestHtml > testSignedAppletWithSandboxPermissionsInManifestHtmlJnlpHref > testSignedAppletWithSandboxPermissionsInManifestJnlpApplet > testSignedAppletWithSandboxPermissionsInManifestJnlpApplication > > I found that changeset 1129:0284eb954ebc is reason. > > The reason why is that the permissions attributes check has been moved from always being checked into an if statement > where they are only checked when deployment.manifest.attributes.check is set to true. I have tested and found the tests to pass when this deployment.manifest.attributes.check is set to true. > > This patch just adds comments to the tests for reference to help explain to anyone in the future looking at the tests. At the moment I don't have a solution, does anyone have an idea on how to properly fix this or handle this ? > I had tried to set the property to true for the tests and revert it back after to no avail. I will try to think more on this problem. > Hi! So yes - the testsuite is running with deployment.manifest.attributes.check=false. IMHO best would be to tune it to run without any deployment.manifest.attributes.check. For your group of tests - I think the best way to go is : @beforeclass ensure that no deployment.manifest.attributes.check is present in deploymnet.properties. If it is, remove it. @afterclass return it back, if it was here. What do you think? Note - tehre is plenty util methods which loads file to string or save string to file. Just do not add more :) Thank you! J. From adinn at icedtea.classpath.org Thu Mar 5 08:30:26 2015 From: adinn at icedtea.classpath.org (adinn at icedtea.classpath.org) Date: Thu, 05 Mar 2015 08:30:26 +0000 Subject: /hg/icedtea7-forest/hotspot: 8072483: AARCH64: aarch64.ad uses t... Message-ID: changeset 1c1c6c8be3c0 in /hg/icedtea7-forest/hotspot details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=1c1c6c8be3c0 author: aph date: Thu Feb 05 11:47:33 2015 -0800 8072483: AARCH64: aarch64.ad uses the wrong operand class for some operations Summary: Use iRegNoSp registers operands where required. Reviewed-by: kvn, adinn, enevill diffstat: src/cpu/aarch64/vm/aarch64.ad | 32 ++++++++++++++++---------------- src/cpu/aarch64/vm/aarch64_ad.m4 | 20 ++++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diffs (229 lines): diff -r 6697df06cb20 -r 1c1c6c8be3c0 src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad Fri Feb 27 09:59:29 2015 +0000 +++ b/src/cpu/aarch64/vm/aarch64.ad Thu Feb 05 11:47:33 2015 -0800 @@ -5943,7 +5943,7 @@ // ============================================================================ // Zero Count Instructions -instruct countLeadingZerosI(iRegI dst, iRegI src) %{ +instruct countLeadingZerosI(iRegINoSp dst, iRegI src) %{ match(Set dst (CountLeadingZerosI src)); ins_cost(INSN_COST); @@ -5955,7 +5955,7 @@ ins_pipe( ialu_reg ); %} -instruct countLeadingZerosL(iRegI dst, iRegL src) %{ +instruct countLeadingZerosL(iRegINoSp dst, iRegL src) %{ match(Set dst (CountLeadingZerosL src)); ins_cost(INSN_COST); @@ -5967,7 +5967,7 @@ ins_pipe( ialu_reg ); %} -instruct countTrailingZerosI(iRegI dst, iRegI src) %{ +instruct countTrailingZerosI(iRegINoSp dst, iRegI src) %{ match(Set dst (CountTrailingZerosI src)); ins_cost(INSN_COST * 2); @@ -5981,7 +5981,7 @@ ins_pipe(ialu_reg ); %} -instruct countTrailingZerosL(iRegI dst, iRegL src) %{ +instruct countTrailingZerosL(iRegINoSp dst, iRegL src) %{ match(Set dst (CountTrailingZerosL src)); ins_cost(INSN_COST * 2); @@ -9014,7 +9014,7 @@ // rol expander -instruct rolL_rReg(iRegL dst, iRegL src, iRegI shift, rFlagsReg cr) +instruct rolL_rReg(iRegLNoSp dst, iRegL src, iRegI shift, rFlagsReg cr) %{ effect(DEF dst, USE src, USE shift); @@ -9030,7 +9030,7 @@ // rol expander -instruct rolI_rReg(iRegI dst, iRegI src, iRegI shift, rFlagsReg cr) +instruct rolI_rReg(iRegINoSp dst, iRegI src, iRegI shift, rFlagsReg cr) %{ effect(DEF dst, USE src, USE shift); @@ -9044,7 +9044,7 @@ ins_pipe(ialu_reg_reg_vshift); %} -instruct rolL_rReg_Var_C_64(iRegL dst, iRegL src, iRegI shift, immI_64 c_64, rFlagsReg cr) +instruct rolL_rReg_Var_C_64(iRegLNoSp dst, iRegL src, iRegI shift, immI_64 c_64, rFlagsReg cr) %{ match(Set dst (OrL (LShiftL src shift) (URShiftL src (SubI c_64 shift)))); @@ -9053,7 +9053,7 @@ %} %} -instruct rolL_rReg_Var_C0(iRegL dst, iRegL src, iRegI shift, immI0 c0, rFlagsReg cr) +instruct rolL_rReg_Var_C0(iRegLNoSp dst, iRegL src, iRegI shift, immI0 c0, rFlagsReg cr) %{ match(Set dst (OrL (LShiftL src shift) (URShiftL src (SubI c0 shift)))); @@ -9062,7 +9062,7 @@ %} %} -instruct rolI_rReg_Var_C_32(iRegL dst, iRegL src, iRegI shift, immI_32 c_32, rFlagsReg cr) +instruct rolI_rReg_Var_C_32(iRegLNoSp dst, iRegL src, iRegI shift, immI_32 c_32, rFlagsReg cr) %{ match(Set dst (OrI (LShiftI src shift) (URShiftI src (SubI c_32 shift)))); @@ -9071,7 +9071,7 @@ %} %} -instruct rolI_rReg_Var_C0(iRegL dst, iRegL src, iRegI shift, immI0 c0, rFlagsReg cr) +instruct rolI_rReg_Var_C0(iRegLNoSp dst, iRegL src, iRegI shift, immI0 c0, rFlagsReg cr) %{ match(Set dst (OrI (LShiftI src shift) (URShiftI src (SubI c0 shift)))); @@ -9082,7 +9082,7 @@ // ror expander -instruct rorL_rReg(iRegL dst, iRegL src, iRegI shift, rFlagsReg cr) +instruct rorL_rReg(iRegLNoSp dst, iRegL src, iRegI shift, rFlagsReg cr) %{ effect(DEF dst, USE src, USE shift); @@ -9097,7 +9097,7 @@ // ror expander -instruct rorI_rReg(iRegI dst, iRegI src, iRegI shift, rFlagsReg cr) +instruct rorI_rReg(iRegINoSp dst, iRegI src, iRegI shift, rFlagsReg cr) %{ effect(DEF dst, USE src, USE shift); @@ -9110,7 +9110,7 @@ ins_pipe(ialu_reg_reg_vshift); %} -instruct rorL_rReg_Var_C_64(iRegL dst, iRegL src, iRegI shift, immI_64 c_64, rFlagsReg cr) +instruct rorL_rReg_Var_C_64(iRegLNoSp dst, iRegL src, iRegI shift, immI_64 c_64, rFlagsReg cr) %{ match(Set dst (OrL (URShiftL src shift) (LShiftL src (SubI c_64 shift)))); @@ -9119,7 +9119,7 @@ %} %} -instruct rorL_rReg_Var_C0(iRegL dst, iRegL src, iRegI shift, immI0 c0, rFlagsReg cr) +instruct rorL_rReg_Var_C0(iRegLNoSp dst, iRegL src, iRegI shift, immI0 c0, rFlagsReg cr) %{ match(Set dst (OrL (URShiftL src shift) (LShiftL src (SubI c0 shift)))); @@ -9128,7 +9128,7 @@ %} %} -instruct rorI_rReg_Var_C_32(iRegL dst, iRegL src, iRegI shift, immI_32 c_32, rFlagsReg cr) +instruct rorI_rReg_Var_C_32(iRegLNoSp dst, iRegL src, iRegI shift, immI_32 c_32, rFlagsReg cr) %{ match(Set dst (OrI (URShiftI src shift) (LShiftI src (SubI c_32 shift)))); @@ -9137,7 +9137,7 @@ %} %} -instruct rorI_rReg_Var_C0(iRegL dst, iRegL src, iRegI shift, immI0 c0, rFlagsReg cr) +instruct rorI_rReg_Var_C0(iRegLNoSp dst, iRegL src, iRegI shift, immI0 c0, rFlagsReg cr) %{ match(Set dst (OrI (URShiftI src shift) (LShiftI src (SubI c0 shift)))); diff -r 6697df06cb20 -r 1c1c6c8be3c0 src/cpu/aarch64/vm/aarch64_ad.m4 --- a/src/cpu/aarch64/vm/aarch64_ad.m4 Fri Feb 27 09:59:29 2015 +0000 +++ b/src/cpu/aarch64/vm/aarch64_ad.m4 Thu Feb 05 11:47:33 2015 -0800 @@ -138,8 +138,8 @@ int s = $2 - lshift; int r = (rshift - lshift) & $2; __ $4(as_Register($dst$$reg), - as_Register($src$$reg), - r, s); + as_Register($src$$reg), + r, s); %} ins_pipe(ialu_reg_shift); @@ -162,7 +162,7 @@ long mask = $mask$$constant; int width = exact_log2(mask+1); __ $3(as_Register($dst$$reg), - as_Register($src$$reg), rshift, width); + as_Register($src$$reg), rshift, width); %} ins_pipe(ialu_reg_shift); %}') @@ -182,7 +182,7 @@ long mask = $mask$$constant; int width = exact_log2(mask+1); __ ubfx(as_Register($dst$$reg), - as_Register($src$$reg), rshift, width); + as_Register($src$$reg), rshift, width); %} ins_pipe(ialu_reg_shift); %} @@ -212,7 +212,7 @@ define(`ROL_EXPAND', ` // $2 expander -instruct $2$1_rReg(iReg$1 dst, iReg$1 src, iRegI shift, rFlagsReg cr) +instruct $2$1_rReg(iReg$1NoSp dst, iReg$1 src, iRegI shift, rFlagsReg cr) %{ effect(DEF dst, USE src, USE shift); @@ -221,14 +221,14 @@ ins_encode %{ __ subw(rscratch1, zr, as_Register($shift$$reg)); __ $3(as_Register($dst$$reg), as_Register($src$$reg), - rscratch1); + rscratch1); %} ins_pipe(ialu_reg_reg_vshift); %}')dnl define(`ROR_EXPAND', ` // $2 expander -instruct $2$1_rReg(iReg$1 dst, iReg$1 src, iRegI shift, rFlagsReg cr) +instruct $2$1_rReg(iReg$1NoSp dst, iReg$1 src, iRegI shift, rFlagsReg cr) %{ effect(DEF dst, USE src, USE shift); @@ -236,12 +236,12 @@ ins_cost(INSN_COST); ins_encode %{ __ $3(as_Register($dst$$reg), as_Register($src$$reg), - as_Register($shift$$reg)); + as_Register($shift$$reg)); %} ins_pipe(ialu_reg_reg_vshift); %}')dnl define(ROL_INSN, ` -instruct $3$1_rReg_Var_C$2(iRegL dst, iRegL src, iRegI shift, immI$2 c$2, rFlagsReg cr) +instruct $3$1_rReg_Var_C$2(iRegLNoSp dst, iRegL src, iRegI shift, immI$2 c$2, rFlagsReg cr) %{ match(Set dst (Or$1 (LShift$1 src shift) (URShift$1 src (SubI c$2 shift)))); @@ -250,7 +250,7 @@ %} %}')dnl define(ROR_INSN, ` -instruct $3$1_rReg_Var_C$2(iRegL dst, iRegL src, iRegI shift, immI$2 c$2, rFlagsReg cr) +instruct $3$1_rReg_Var_C$2(iRegLNoSp dst, iRegL src, iRegI shift, immI$2 c$2, rFlagsReg cr) %{ match(Set dst (Or$1 (URShift$1 src shift) (LShift$1 src (SubI c$2 shift)))); From ptisnovs at icedtea.classpath.org Thu Mar 5 08:51:55 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 05 Mar 2015 08:51:55 +0000 Subject: /hg/gfx-test: Added yet another ten new helper methods. Message-ID: changeset 0114f816a11e in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=0114f816a11e author: Pavel Tisnovsky date: Thu Mar 05 09:53:55 2015 +0100 Added yet another ten new helper methods. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 170 +++++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r 0e2c77af8a0d -r 0114f816a11e ChangeLog --- a/ChangeLog Tue Mar 03 09:38:52 2015 +0100 +++ b/ChangeLog Thu Mar 05 09:53:55 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-04 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Added yet another ten new helper methods. + 2015-03-03 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 0e2c77af8a0d -r 0114f816a11e src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Mar 03 09:38:52 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Mar 05 09:53:55 2015 +0100 @@ -4757,6 +4757,176 @@ } /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalBlue gradient buffered image with type {@link BufferedImage#TYPE_CUSTOM}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalBlueGradientBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From bugzilla-daemon at icedtea.classpath.org Thu Mar 5 13:39:31 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Mar 2015 13:39:31 +0000 Subject: [Bug 2258] New: eclipse crashed on adding new s/w Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2258 Bug ID: 2258 Summary: eclipse crashed on adding new s/w Product: IcedTea Version: 6-1.13.6 Hardware: arm OS: Linux Status: NEW Severity: blocker Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: pjrobinson at metronet.co.uk CC: unassigned at icedtea.classpath.org Created attachment 1271 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1271&action=edit Output on running eclipse from command line On adding mylin github to eclipse 3.8 on Raspberry Pi 2 running rasparian it crashed. (Eclipse:3408): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-entry-password-hint-timeout after class was initialised (Eclipse:3408): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-entry-password-hint-timeout after class was initialised # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:285), pid=3408, tid=1235547248 # fatal error: caught unhandled signal 11 # # JRE version: 6.0_34-b34 # Java VM: OpenJDK Zero VM (23.25-b01 mixed mode linux-arm ) # Derivative: IcedTea6 1.13.6 # Distribution: Debian GNU/Linux 7.8 (wheezy), package 6b34-1.13.6-1~deb7u1+rpi1 # 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: # /tmp/hs_err_pid3408.log Full details in attachment -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 5 14:03:57 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Mar 2015 14:03:57 +0000 Subject: [Bug 2258] eclipse crashed on adding new s/w In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2258 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xerxes at zafena.se --- Comment #1 from Xerxes R?nby --- Thank you for the bugreport. Its likely that we need to backport several ARM interpreter and JIT fixes from IcedTea 2 to IcedTea 1 List of change-sets to consider back-porting: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/log?rev=ARM the most important changes are: Several bug fixes to get eclipse working http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/6697df06cb20 PR2228 - Add ARM32 JIT http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/01a0011cc101 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From adinn at icedtea.classpath.org Thu Mar 5 14:47:55 2015 From: adinn at icedtea.classpath.org (adinn at icedtea.classpath.org) Date: Thu, 05 Mar 2015 14:47:55 +0000 Subject: /hg/icedtea7-forest/hotspot: 8071947: AARCH64: frame::safe_for_s... Message-ID: changeset 9de83ef99d76 in /hg/icedtea7-forest/hotspot details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=9de83ef99d76 author: aph date: Fri Feb 06 10:36:46 2015 -0800 8071947: AARCH64: frame::safe_for_sender() computes incorrect sender_sp value for interpreted frames Summary: Apply the fix for 8068655 to the AArch64 sources. Reviewed-by: kvn diffstat: src/cpu/aarch64/vm/frame_aarch64.cpp | 23 +++++++++++++++++------ 1 files changed, 17 insertions(+), 6 deletions(-) diffs (85 lines): diff -r 1c1c6c8be3c0 -r 9de83ef99d76 src/cpu/aarch64/vm/frame_aarch64.cpp --- a/src/cpu/aarch64/vm/frame_aarch64.cpp Thu Feb 05 11:47:33 2015 -0800 +++ b/src/cpu/aarch64/vm/frame_aarch64.cpp Fri Feb 06 10:36:46 2015 -0800 @@ -124,7 +124,9 @@ } intptr_t* sender_sp = NULL; + intptr_t* sender_unextended_sp = NULL; address sender_pc = NULL; + intptr_t* saved_fp = NULL; if (is_interpreted_frame()) { // fp must be safe @@ -133,7 +135,12 @@ } sender_pc = (address) this->fp()[return_addr_offset]; + // for interpreted frames, the value below is the sender "raw" sp, + // which can be different from the sender unextended sp (the sp seen + // by the sender) because of current frame local variables sender_sp = (intptr_t*) addr_at(sender_sp_offset); + sender_unextended_sp = (intptr_t*) this->fp()[interpreter_frame_sender_sp_offset]; + saved_fp = (intptr_t*) this->fp()[link_offset]; } else { // must be some sort of compiled/runtime frame @@ -145,7 +152,10 @@ } sender_sp = _unextended_sp + _cb->frame_size(); + sender_unextended_sp = sender_sp; sender_pc = (address) *(sender_sp-1); + // Note: frame::sender_sp_offset is only valid for compiled frame + saved_fp = (intptr_t*) *(sender_sp - frame::sender_sp_offset); } @@ -156,7 +166,6 @@ // only if the sender is interpreted/call_stub (c1 too?) are we certain that the saved fp // is really a frame pointer. - intptr_t *saved_fp = (intptr_t*)*(sender_sp - frame::sender_sp_offset); bool saved_fp_safe = ((address)saved_fp < thread->stack_base()) && (saved_fp > sender_sp); if (!saved_fp_safe) { @@ -165,7 +174,7 @@ // construct the potential sender - frame sender(sender_sp, saved_fp, sender_pc); + frame sender(sender_sp, sender_unextended_sp, saved_fp, sender_pc); return sender.is_interpreted_frame_valid(thread); @@ -194,7 +203,6 @@ // Could be the call_stub if (StubRoutines::returns_to_call_stub(sender_pc)) { - intptr_t *saved_fp = (intptr_t*)*(sender_sp - frame::sender_sp_offset); bool saved_fp_safe = ((address)saved_fp < thread->stack_base()) && (saved_fp > sender_sp); if (!saved_fp_safe) { @@ -203,7 +211,7 @@ // construct the potential sender - frame sender(sender_sp, saved_fp, sender_pc); + frame sender(sender_sp, sender_unextended_sp, saved_fp, sender_pc); // Validate the JavaCallWrapper an entry frame must have address jcw = (address)sender.entry_frame_call_wrapper(); @@ -573,8 +581,11 @@ if (!Universe::heap()->is_valid_method(m)) return false; // stack frames shouldn't be much larger than max_stack elements - - if (fp() - sp() > 1024 + m->max_stack()*Interpreter::stackElementSize) { + // this test requires the use of unextended_sp which is the sp as seen by + // the current frame, and not sp which is the "raw" pc which could point + // further because of local variables of the callee method inserted after + // method arguments + if (fp() - unextended_sp() > 1024 + m->max_stack()*Interpreter::stackElementSize) { return false; } From bugzilla-daemon at icedtea.classpath.org Thu Mar 5 15:23:12 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Mar 2015 15:23:12 +0000 Subject: [Bug 2259] New: [Test bug] Integration tests fail if mongod is not found in PATH="/usr/local/bin:/usr/bin" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2259 Bug ID: 2259 Summary: [Test bug] Integration tests fail if mongod is not found in PATH="/usr/local/bin:/usr/bin" Product: Thermostat Version: hg Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P5 Component: Thermostat Assignee: unassigned at icedtea.classpath.org Reporter: sgehwolf at redhat.com CC: thermostat at icedtea.classpath.org There is a problem with running integration tests when mongod cannot be found in /usr/local/bin or /usr/bin. This is even the case if the shell where the maven command is triggered seemingly knows about mongod. Example: $ which mongod /opt/usr/bin/mongod $ mvn clean integration-test The above fails with strange errors. Most notably this: WARNING: can not execute mongod process. is it installed? java.io.IOException: End of stream reached, no match found at expectj.Spawn.expect(Spawn.java:321) at expectj.Spawn.expect(Spawn.java:142) at expectj.Spawn.expect(Spawn.java:370) at com.redhat.thermostat.itest.IntegrationTest.startStorage(IntegrationTest.java:207) at com.redhat.thermostat.itest.MongoQueriesTest.setUpOnce(MongoQueriesTest.java:126) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:24) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at org.junit.runner.JUnitCore.run(JUnitCore.java:136) at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:62) at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:139) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74) -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 5 15:24:01 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Mar 2015 15:24:01 +0000 Subject: [Bug 2259] [Test bug] Integration tests fail if mongod is not found in PATH="/usr/local/bin:/usr/bin" In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2259 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at icedtea.classpat |sgehwolf at redhat.com |h.org | -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 5 15:27:40 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Mar 2015 15:27:40 +0000 Subject: [Bug 2258] eclipse crashed on adding new s/w In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2258 --- Comment #2 from pjrobinson at metronet.co.uk --- This bug likely occurs on upgrading eclipse and when adding in the PyDev module; I've not checked the output from eclipse but these all result in it crashing. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Thu Mar 5 17:09:24 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 5 Mar 2015 12:09:24 -0500 (EST) Subject: [rfc][icedtea-web] Use jnlp_href parameter instead of attribute in applet tag for reproducers In-Reply-To: <228010688.16647590.1425567236446.JavaMail.zimbra@redhat.com> Message-ID: <916008159.16741227.1425575364978.JavaMail.zimbra@redhat.com> Hello, This patch reverts a previous change to a number of reproducers in Icedtea-Web to use the jnlp_href as a parameter instead of an attribute in the applet tag. This is to maintain reproducer compatibility with browsers other than firefox (e.g. midori & epiphany) In terms of possible fixes to IT-W to support jnlp_href as an attribute, I believe that it is not possible. An explanation is below: On the Java side, we receive the parameter string from the initialization message that comes from the FIFO queue. PluginAppletViewer.handleInitializationMessage On the C side, it sends the message in: IcedTeaNPPlugin.ITNP_SetWindow IcedTeaNPPlugin.plugin_send_initialization_message This message contains the parameter string from ITNPPluginData::parameters_string : This is built in: ITNP_New(...): IcedTeaNPPlugin.plugin_parameters_string(argc, argn, argv) This gathers the information from argc, argn, arv. I haven't figured out where this is called but atm I am assuming it comes from the browser. For firefox, when jnlp_href is used as an attribute, it is sent to us as a parameter. Firefox: ITNPP Thread# 140288974678592, gthread 0x7f97926196c0: PIPE: plugin wrote(?): instance 1 handle 41943439 width 640 height 480 tag [...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html id;applet;code;SimpleJNLP;jnlp_href;SimpleJNLP.jnlp;mayscript;;scriptable;true;height;480;width;640;codebase;[...]/itw-work/generated-reproducer-SimpleJNLP/; In the case of midori and epiphany, the jnlp_href is not sent to us and seems to be ignored by the browser. However, in all the documents I've found, jnlp_href is supposed to be used as a parameter, not an attribute, so it's not necessarily a bug that midori and epiphany don't go the extra effort to send us jnlp_href as a parameter. Midori: ITNPP Thread# 139760886282752, gthread 0x175d0a0: PIPE: plugin wrote(?): instance 1 handle 39846171 width 640 height 480 tag [...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html code;SimpleJNLP;baseURL;[...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html;mayScript;; As well, firefox seems to send anything in the applet attributes as a parameter, e.g. the height/width/codebase/scriptable, whereas midori doesn't. Regards, -- Jie Kang OpenJDK Team - Software Engineering Intern -------------- next part -------------- A non-text attachment was scrubbed... Name: itw-js-j-reproducer-1.patch Type: text/x-patch Size: 3397 bytes Desc: not available URL: From jvanek at redhat.com Thu Mar 5 17:32:43 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 05 Mar 2015 18:32:43 +0100 Subject: [rfc][icedtea-web] Use jnlp_href parameter instead of attribute in applet tag for reproducers In-Reply-To: <916008159.16741227.1425575364978.JavaMail.zimbra@redhat.com> References: <916008159.16741227.1425575364978.JavaMail.zimbra@redhat.com> Message-ID: <54F8933B.5020909@redhat.com> On 03/05/2015 06:09 PM, Jie Kang wrote: > Hello, > > This patch reverts a previous change to a number of reproducers in Icedtea-Web to use the jnlp_href as a parameter instead of an attribute in the applet tag. > > This is to maintain reproducer compatibility with browsers other than firefox (e.g. midori & epiphany) > > > > In terms of possible fixes to IT-W to support jnlp_href as an attribute, I believe that it is not possible. An explanation is below: > > On the Java side, we receive the parameter string from the initialization message that comes from the FIFO queue. > PluginAppletViewer.handleInitializationMessage > > On the C side, it sends the message in: > IcedTeaNPPlugin.ITNP_SetWindow > IcedTeaNPPlugin.plugin_send_initialization_message > > This message contains the parameter string from > ITNPPluginData::parameters_string : > > This is built in: > ITNP_New(...): > IcedTeaNPPlugin.plugin_parameters_string(argc, argn, argv) > > This gathers the information from argc, argn, arv. I haven't figured out where this is called but atm I am assuming it comes from the browser. > > For firefox, when jnlp_href is used as an attribute, it is sent to us as a parameter. > > Firefox: > ITNPP Thread# 140288974678592, gthread 0x7f97926196c0: PIPE: plugin wrote(?): instance 1 handle 41943439 width 640 height 480 tag [...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html id;applet;code;SimpleJNLP;jnlp_href;SimpleJNLP.jnlp;mayscript;;scriptable;true;height;480;width;640;codebase;[...]/itw-work/generated-reproducer-SimpleJNLP/; > > In the case of midori and epiphany, the jnlp_href is not sent to us and seems to be ignored by the browser. However, in all the documents I've found, jnlp_href is supposed to be used as a parameter, not an attribute, so it's not necessarily a bug that midori and epiphany don't go the extra effort to send us jnlp_href as a parameter. > > Midori: > ITNPP Thread# 139760886282752, gthread 0x175d0a0: PIPE: plugin wrote(?): instance 1 handle 39846171 width 640 height 480 tag [...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html code;SimpleJNLP;baseURL;[...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html;mayScript;; > > > As well, firefox seems to send anything in the applet attributes as a parameter, e.g. the height/width/codebase/scriptable, whereas midori doesn't. > > Hi! Thanx for investigation! Go on and push this stuff. Do you mind to create two more reproducers catching this behaviour? One jnlp with this jnlp_href attribute and two @test methods in testcase one for midori and epiphany, being pass when this param is actually not delivered (app fails) and second testcase for rest of browsers (I belive opera is going correctly here, so was chrome and chormium - you can check history on tyr) which ensure that attribute was passed? Thank you very much! J. From jkang at redhat.com Thu Mar 5 19:08:06 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 5 Mar 2015 14:08:06 -0500 (EST) Subject: [rfc][icedtea-web] Use jnlp_href parameter instead of attribute in applet tag for reproducers In-Reply-To: <54F8933B.5020909@redhat.com> References: <916008159.16741227.1425575364978.JavaMail.zimbra@redhat.com> <54F8933B.5020909@redhat.com> Message-ID: <8367971.16810950.1425582486119.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/05/2015 06:09 PM, Jie Kang wrote: > > Hello, > > > > This patch reverts a previous change to a number of reproducers in > > Icedtea-Web to use the jnlp_href as a parameter instead of an attribute in > > the applet tag. > > > > This is to maintain reproducer compatibility with browsers other than > > firefox (e.g. midori & epiphany) > > > > > > > > In terms of possible fixes to IT-W to support jnlp_href as an attribute, I > > believe that it is not possible. An explanation is below: > > > > On the Java side, we receive the parameter string from the initialization > > message that comes from the FIFO queue. > > PluginAppletViewer.handleInitializationMessage > > > > On the C side, it sends the message in: > > IcedTeaNPPlugin.ITNP_SetWindow > > IcedTeaNPPlugin.plugin_send_initialization_message > > > > This message contains the parameter string from > > ITNPPluginData::parameters_string : > > > > This is built in: > > ITNP_New(...): > > IcedTeaNPPlugin.plugin_parameters_string(argc, argn, argv) > > > > This gathers the information from argc, argn, arv. I haven't figured out > > where this is called but atm I am assuming it comes from the browser. > > > > For firefox, when jnlp_href is used as an attribute, it is sent to us as a > > parameter. > > > > Firefox: > > ITNPP Thread# 140288974678592, gthread 0x7f97926196c0: PIPE: plugin > > wrote(?): instance 1 handle 41943439 width 640 height 480 tag > > [...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html > > id;applet;code;SimpleJNLP;jnlp_href;SimpleJNLP.jnlp;mayscript;;scriptable;true;height;480;width;640;codebase;[...]/itw-work/generated-reproducer-SimpleJNLP/; > > > > In the case of midori and epiphany, the jnlp_href is not sent to us and > > seems to be ignored by the browser. However, in all the documents I've > > found, jnlp_href is supposed to be used as a parameter, not an attribute, > > so it's not necessarily a bug that midori and epiphany don't go the extra > > effort to send us jnlp_href as a parameter. > > > > Midori: > > ITNPP Thread# 139760886282752, gthread 0x175d0a0: PIPE: plugin wrote(?): > > instance 1 handle 39846171 width 640 height 480 tag > > [...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html > > code;SimpleJNLP;baseURL;[...]/generated-reproducer-SimpleJNLP/SimpleJNLP.html;mayScript;; > > > > > > As well, firefox seems to send anything in the applet attributes as a > > parameter, e.g. the height/width/codebase/scriptable, whereas midori > > doesn't. > > > > > > Hi! > > > Thanx for investigation! > > Go on and push this stuff. Okay. > > Do you mind to create two more reproducers catching this behaviour? > > One jnlp with this jnlp_href attribute > and two @test methods in testcase one for midori and epiphany, being pass > when this param is > actually not delivered (app fails) and second testcase for rest of browsers > (I belive opera is going > correctly here, so was chrome and chormium - you can check history on tyr) > which ensure that > attribute was passed? Yeah definitely, that's a good idea. Regards, > > Thank you very much! > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From jkang at icedtea.classpath.org Thu Mar 5 19:32:55 2015 From: jkang at icedtea.classpath.org (jkang at icedtea.classpath.org) Date: Thu, 05 Mar 2015 19:32:55 +0000 Subject: /hg/icedtea-web: Use jnlp_href parameter instead of attribute in... Message-ID: changeset aaea16216604 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=aaea16216604 author: Jie Kang date: Thu Mar 05 14:19:57 2015 -0500 Use jnlp_href parameter instead of attribute in applet tag for reproducers 2015-03-05 Jie Kang Use jnlp_href parameter instead of attribute in applet tag for reproducers. This is to maintain compatibility with midori and epiphany browsers that don't support jnlp_href as an applet tag's attribute * tests/reproducer/simple/JSToJGet/resources/JSToJGet.html: * tests/reproducer/simple/JSToJSet/resources/JSToJSet.html: * tests/reproducer/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html: * tests/reproducer/simple/JavascriptGet/resources/JavascriptGet.html: * tests/reproducer/simple/JavascriptSet/resources/JavascriptSet.html: All tests now use parameter tag for jnlp_href diffstat: ChangeLog | 12 ++++++++++ tests/reproducers/simple/JSToJGet/resources/JSToJGet.html | 4 +- tests/reproducers/simple/JSToJSet/resources/JSToJSet.html | 2 +- tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html | 4 +- tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html | 4 +- tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html | 5 ++- 6 files changed, 22 insertions(+), 9 deletions(-) diffs (90 lines): diff -r 8cae163ee8bd -r aaea16216604 ChangeLog --- a/ChangeLog Wed Mar 04 17:24:29 2015 +0100 +++ b/ChangeLog Thu Mar 05 14:19:57 2015 -0500 @@ -1,3 +1,15 @@ +2015-03-05 Jie Kang + + Use jnlp_href parameter instead of attribute in applet tag for reproducers. + This is to maintain compatibility with midori and epiphany browsers that + don't support jnlp_href as an applet tag's attribute + * tests/reproducer/simple/JSToJGet/resources/JSToJGet.html: + * tests/reproducer/simple/JSToJSet/resources/JSToJSet.html: + * tests/reproducer/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html: + * tests/reproducer/simple/JavascriptGet/resources/JavascriptGet.html: + * tests/reproducer/simple/JavascriptSet/resources/JavascriptSet.html: + All tests now use parameter tag for jnlp_href + 2015-03-04 Jiri Vanek Fixed broken CacheUtil. diff -r 8cae163ee8bd -r aaea16216604 tests/reproducers/simple/JSToJGet/resources/JSToJGet.html --- a/tests/reproducers/simple/JSToJGet/resources/JSToJGet.html Wed Mar 04 17:24:29 2015 +0100 +++ b/tests/reproducers/simple/JSToJGet/resources/JSToJGet.html Thu Mar 05 14:19:57 2015 -0500 @@ -12,8 +12,8 @@

The JSToJGet html page

+ id="applet" MAYSCRIPT> +
diff -r 8cae163ee8bd -r aaea16216604 tests/reproducers/simple/JSToJSet/resources/JSToJSet.html --- a/tests/reproducers/simple/JSToJSet/resources/JSToJSet.html Wed Mar 04 17:24:29 2015 +0100 +++ b/tests/reproducers/simple/JSToJSet/resources/JSToJSet.html Thu Mar 05 14:19:57 2015 -0500 @@ -9,9 +9,9 @@

The JSToJSet html page

+
diff -r 8cae163ee8bd -r aaea16216604 tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html --- a/tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html Wed Mar 04 17:24:29 2015 +0100 +++ b/tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html Thu Mar 05 14:19:57 2015 -0500 @@ -10,8 +10,8 @@

The JToJSFuncParam html page

+ id="applet" MAYSCRIPT> + diff -r 8cae163ee8bd -r aaea16216604 tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html --- a/tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html Wed Mar 04 17:24:29 2015 +0100 +++ b/tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html Thu Mar 05 14:19:57 2015 -0500 @@ -12,8 +12,8 @@

The JToJSGet html page

+ id="applet" MAYSCRIPT> + diff -r 8cae163ee8bd -r aaea16216604 tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html --- a/tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html Wed Mar 04 17:24:29 2015 +0100 +++ b/tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html Thu Mar 05 14:19:57 2015 -0500 @@ -9,8 +9,9 @@

The JToJSSet html page

- + + + From ldracz at redhat.com Thu Mar 5 21:52:11 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Thu, 5 Mar 2015 16:52:11 -0500 (EST) Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <54F80A49.2090804@redhat.com> References: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> <54F80A49.2090804@redhat.com> Message-ID: <1776700863.16897075.1425592331325.JavaMail.zimbra@redhat.com> Hello, ----- Original Message ----- > From: "Jiri Vanek" > To: "Lukasz Dracz" , "IcedTea Distro List" > Sent: Thursday, March 5, 2015 2:48:25 AM > Subject: Re: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers > > On 03/04/2015 10:00 PM, Lukasz Dracz wrote: > > Hello, > > > > I have been looking into why certain reproducers are failing. For the > > following tests > > > > testPartiallySignedAppletWithSandboxPermissionsInManifestLaunchWithSignedHTMLApp > > testPartiallySignedJNLPAppletWithSandboxPermissionsInManifestLaunchWithSignedApp > > testSignedAppletWithSandboxPermissionsInManifestHtml > > testSignedAppletWithSandboxPermissionsInManifestHtmlJnlpHref > > testSignedAppletWithSandboxPermissionsInManifestJnlpApplet > > testSignedAppletWithSandboxPermissionsInManifestJnlpApplication > > > > I found that changeset 1129:0284eb954ebc is reason. > > > > The reason why is that the permissions attributes check has been moved from > > always being checked into an if statement > > where they are only checked when deployment.manifest.attributes.check is > > set to true. I have tested and found the tests to pass when this > > deployment.manifest.attributes.check is set to true. > > > > This patch just adds comments to the tests for reference to help explain to > > anyone in the future looking at the tests. At the moment I don't have a > > solution, does anyone have an idea on how to properly fix this or handle > > this ? > > I had tried to set the property to true for the tests and revert it back > > after to no avail. I will try to think more on this problem. > > > > Hi! > > So yes - the testsuite is running with > deployment.manifest.attributes.check=false. > > IMHO best would be to tune it to run without any > deployment.manifest.attributes.check. > > > For your group of tests - I think the best way to go is : > @beforeclass ensure that no deployment.manifest.attributes.check is present > in > deploymnet.properties. If it is, remove it. > @afterclass return it back, if it was here. > > > What do you think? Note - tehre is plenty util methods which loads file to > string or save string to > file. Just do not add more :) I have tested the @beforeclass @afterclass method of editing the deployment.properties file and well it works somewhat, some of the tests pass now but the other ones will prompt a pop-up and if you click to proceed it passes but obviously failing to click proceed it fails. This defeats the purpose of the manifest attributes check being set to false. I can't seem to think of a solution I would like. I suppose we could split the deployment.manifest.attributes.check into two properties, by adding a new one that decides whether to check the Permissions Attribute and the default deployment.manifest.attributes.check would check all the other attributes. For the test we would edit the manifest like you mentioned with @beforeclass to change the deployment.manifest.permissions.attributes.check to true and keep deployment.manifest.attributes.check false. What do you think about this solution ? Do you have any other ideas ? I suppose we could also try to make it possible to edit the property directly and having that change updated when done. I would need to look into how feasible this is. Thoughts ? Thank you, Lukasz Dracz > Thank you! > > J. > > > > > > > From ptisnovs at icedtea.classpath.org Fri Mar 6 13:21:48 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 06 Mar 2015 13:21:48 +0000 Subject: /hg/gfx-test: Updated. Message-ID: changeset e656294c6e7c in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=e656294c6e7c author: Pavel Tisnovsky date: Fri Mar 06 14:23:51 2015 +0100 Updated. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 153 +++++++++++++++++++++ 2 files changed, 158 insertions(+), 0 deletions(-) diffs (175 lines): diff -r 0114f816a11e -r e656294c6e7c ChangeLog --- a/ChangeLog Thu Mar 05 09:53:55 2015 +0100 +++ b/ChangeLog Fri Mar 06 14:23:51 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-06 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Updated. + 2015-03-04 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 0114f816a11e -r e656294c6e7c src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Mar 05 09:53:55 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Fri Mar 06 14:23:51 2015 +0100 @@ -4927,6 +4927,159 @@ } /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalBlue gradient buffered image with type {@link BufferedImage#TYPE_CUSTOM}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalBlueGradientBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalBlueGradientImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From jvanek at redhat.com Fri Mar 6 14:11:58 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 06 Mar 2015 15:11:58 +0100 Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <1776700863.16897075.1425592331325.JavaMail.zimbra@redhat.com> References: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> <54F80A49.2090804@redhat.com> <1776700863.16897075.1425592331325.JavaMail.zimbra@redhat.com> Message-ID: <54F9B5AE.0@redhat.com> On 03/05/2015 10:52 PM, Lukasz Dracz wrote: > Hello, > > ----- Original Message ----- >> From: "Jiri Vanek" >> To: "Lukasz Dracz" , "IcedTea Distro List" >> Sent: Thursday, March 5, 2015 2:48:25 AM >> Subject: Re: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers >> >> On 03/04/2015 10:00 PM, Lukasz Dracz wrote: >>> Hello, >>> >>> I have been looking into why certain reproducers are failing. For the >>> following tests >>> >>> testPartiallySignedAppletWithSandboxPermissionsInManifestLaunchWithSignedHTMLApp >>> testPartiallySignedJNLPAppletWithSandboxPermissionsInManifestLaunchWithSignedApp >>> testSignedAppletWithSandboxPermissionsInManifestHtml >>> testSignedAppletWithSandboxPermissionsInManifestHtmlJnlpHref >>> testSignedAppletWithSandboxPermissionsInManifestJnlpApplet >>> testSignedAppletWithSandboxPermissionsInManifestJnlpApplication >>> >>> I found that changeset 1129:0284eb954ebc is reason. >>> >>> The reason why is that the permissions attributes check has been moved from >>> always being checked into an if statement >>> where they are only checked when deployment.manifest.attributes.check is >>> set to true. I have tested and found the tests to pass when this >>> deployment.manifest.attributes.check is set to true. >>> >>> This patch just adds comments to the tests for reference to help explain to >>> anyone in the future looking at the tests. At the moment I don't have a >>> solution, does anyone have an idea on how to properly fix this or handle >>> this ? >>> I had tried to set the property to true for the tests and revert it back >>> after to no avail. I will try to think more on this problem. >>> >> >> Hi! >> >> So yes - the testsuite is running with >> deployment.manifest.attributes.check=false. >> >> IMHO best would be to tune it to run without any >> deployment.manifest.attributes.check. >> >> >> For your group of tests - I think the best way to go is : >> @beforeclass ensure that no deployment.manifest.attributes.check is present >> in >> deploymnet.properties. If it is, remove it. >> @afterclass return it back, if it was here. >> >> >> What do you think? Note - tehre is plenty util methods which loads file to >> string or save string to >> file. Just do not add more :) > > I have tested the @beforeclass @afterclass method of editing the deployment.properties file and well it works somewhat, some of the tests pass now > but the other ones will prompt a pop-up and if you click to proceed it passes but obviously failing to click proceed it fails. Maybe instead of beforeclass and after class use this setup only for specified tests? > > This defeats the purpose of the manifest attributes check being set to false. > I can't seem to think of a solution I would like. yes:( > I suppose we could split the deployment.manifest.attributes.check into two properties, by adding a new one that decides whether to check the Permissions Attribute and the default deployment.manifest.attributes.check would check all the other attributes. > > For the test we would edit the manifest like you mentioned with @beforeclass to change the deployment.manifest.permissions.attributes.check to true and keep deployment.manifest.attributes.check false. > What do you think about this solution ? > Do you have any other ideas ? The only other idea of mine is to make deployment.manifest.attributes.check tri state (enum TRUE FALSE PERMISSIONS_ONLY) instead of boolean an new attribute - true (all are tests) false (none is tested) all_but_permissions - then only permission s attribnute is check. The deployment.manifest.attributes.check is itw Internal, so we can do moreover whatever we need with it. And the code is documentation itself . imho - the tristate is better to impl. maintain read. But instead of it, go with any option you wont to fix those tests. > > I suppose we could also try to make it possible to edit the property directly and having that change updated when done. I would need to look into how feasible this is. Not sure If I understood:( > > Thoughts ? > > Thank you, > Lukasz Dracz > > > > >> Thank you! >> >> J. >> >> >> >> >> >> >> From jkang at redhat.com Fri Mar 6 15:21:14 2015 From: jkang at redhat.com (Jie Kang) Date: Fri, 6 Mar 2015 10:21:14 -0500 (EST) Subject: [rfc][icedtea-web] Add reproducers for jnlp_href attribute In-Reply-To: <513335339.17270101.1425650996230.JavaMail.zimbra@redhat.com> Message-ID: <1109795364.17323758.1425655274027.JavaMail.zimbra@redhat.com> Hello, This patch adds a reproducer to test the jnlp_href attribute difference in midori & epiphany versus firefox, opera, chrome/chromium. Basically, for midori/epiphany, the applet is expected to fail to launch, whereas with firefox and the others, it is expected to run successfully. How does it look? Regards, -- Jie Kang OpenJDK Team - Software Engineering Intern -------------- next part -------------- A non-text attachment was scrubbed... Name: itw-jnlp-href-reproducer-1.patch Type: text/x-patch Size: 8929 bytes Desc: not available URL: From jvanek at redhat.com Mon Mar 9 09:29:31 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Mar 2015 10:29:31 +0100 Subject: [rfc][icedtea-web] Add reproducers for jnlp_href attribute In-Reply-To: <1109795364.17323758.1425655274027.JavaMail.zimbra@redhat.com> References: <1109795364.17323758.1425655274027.JavaMail.zimbra@redhat.com> Message-ID: <54FD67FB.6020703@redhat.com> Hi Jie! You had not got my email in Friday evening? Appearently not :( So here it is: Two advances: 1) if you dont insists on "jnlpHrefAttribute init", you can use autoclosing listener :) 2) if you dont inists on custom class+jar you can just use simpletest's jar. Which can be used also with autocloselistenr... Anyway - does no meeter. You can proceed with 1,2, or your current, and push. ty! On 03/06/2015 04:21 PM, Jie Kang wrote: > Hello, > > This patch adds a reproducer to test the jnlp_href attribute difference in midori & epiphany versus firefox, opera, chrome/chromium. > > Basically, for midori/epiphany, the applet is expected to fail to launch, whereas with firefox and the others, it is expected to run successfully. > > How does it look? > > > Regards, > From ptisnovs at icedtea.classpath.org Mon Mar 9 12:57:56 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 09 Mar 2015 12:57:56 +0000 Subject: /hg/gfx-test: Updated. Message-ID: changeset 698f445259a9 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=698f445259a9 author: Pavel Tisnovsky date: Mon Mar 09 14:00:01 2015 +0100 Updated. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 170 +++++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r e656294c6e7c -r 698f445259a9 ChangeLog --- a/ChangeLog Fri Mar 06 14:23:51 2015 +0100 +++ b/ChangeLog Mon Mar 09 14:00:01 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-09 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Updated. + 2015-03-06 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r e656294c6e7c -r 698f445259a9 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Fri Mar 06 14:23:51 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Mar 09 14:00:01 2015 +0100 @@ -5080,6 +5080,176 @@ } /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From jvanek at redhat.com Mon Mar 9 13:04:26 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Mar 2015 14:04:26 +0100 Subject: [rfc][icedtea-web] fix some nastyness in reproducers Message-ID: <54FD9A5A.1040208@redhat.com> Hello! During todays debugging I found few nasty things in reproducers: - invlalid (useless) urls - please do not wont me to fix the new line \> - I was just sedding those jnlps.... - "" codebases (sigh!) - and JS tests with disabled opera. It seems to me like opera have improved, and most of the tests is now not failing. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixIncorrectThingsInTests.patch Type: text/x-patch Size: 15831 bytes Desc: not available URL: From jvanek at redhat.com Mon Mar 9 13:13:06 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Mar 2015 14:13:06 +0100 Subject: [rfc][icedtea-web] fixing locales reproducers Message-ID: <54FD9C62.4030802@redhat.com> This minor line minifix fixes 11 reproducers. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixLocalesReproduers.patch Type: text/x-patch Size: 790 bytes Desc: not available URL: From jkang at redhat.com Mon Mar 9 13:33:22 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 9 Mar 2015 09:33:22 -0400 (EDT) Subject: [rfc][icedtea-web] fixing locales reproducers In-Reply-To: <54FD9C62.4030802@redhat.com> References: <54FD9C62.4030802@redhat.com> Message-ID: <339830414.18207844.1425908002346.JavaMail.zimbra@redhat.com> ----- Original Message ----- > This minor line minifix fixes 11 reproducers. Hello, >From what I see, the key should be: BOHelp1 instead of BOHelp Removing it means that this key is no longer checked in the test to exist in all properties files, which may make the test pass, but may not be the best path. I think the purpose of this test should be to check the keys that all the properties files 'must' have to run IT-W properly. If you think that it's okay for the key to not be tested to exist in all properties files, sure, you can push it. Otherwise changing it to BOHelp1 should also make it pass as this is in every property file we have now. There was a patch (IcedTea-Web settings made to use OptionParser) that renamed BOHelp -> BOHelp1, and added BOHelp2 to the english properties files. Regards, > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 9 13:36:06 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Mar 2015 14:36:06 +0100 Subject: [rfc][icedtea-web] fixing locales reproducers In-Reply-To: <339830414.18207844.1425908002346.JavaMail.zimbra@redhat.com> References: <54FD9C62.4030802@redhat.com> <339830414.18207844.1425908002346.JavaMail.zimbra@redhat.com> Message-ID: <54FDA1C6.5010306@redhat.com> On 03/09/2015 02:33 PM, Jie Kang wrote: > > > ----- Original Message ----- >> This minor line minifix fixes 11 reproducers. > > Hello, > > From what I see, the key should be: > > BOHelp1 > > instead of > > BOHelp > > Removing it means that this key is no longer checked in the test to exist in all properties files, which may make the test pass, but may not be the best path. I think the purpose of this test should be to check the keys that all the properties files 'must' have to run IT-W properly. > > If you think that it's okay for the key to not be tested to exist in all properties files, sure, you can push it. Otherwise changing it to BOHelp1 should also make it pass as this is in every property file we have now. There was a patch (IcedTea-Web settings made to use OptionParser) that renamed BOHelp -> BOHelp1, and added BOHelp2 to the english properties files. > > The keys were moreover randomly selected during creation of the test. Fact that the bohelp1 is currently only in main properties, makes it necessary to be removed. It will not be missed :) > Regards, > >> >> J. >> > From jkang at redhat.com Mon Mar 9 13:42:51 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 9 Mar 2015 09:42:51 -0400 (EDT) Subject: [rfc][icedtea-web] fix some nastyness in reproducers In-Reply-To: <54FD9A5A.1040208@redhat.com> References: <54FD9A5A.1040208@redhat.com> Message-ID: <1609669485.18220136.1425908571582.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hello! > Hello, Patch seems fine. > During todays debugging I found few nasty things in reproducers: > - invlalid (useless) urls > - please do not wont me to fix the new line \> - I was just sedding those Hahah... I was going to say, fix the new lines, till I read this. Still, is it that hard? I don't even see that many... Can I push a fix for the new lines if you don't want to do it? > jnlps.... > - "" codebases (sigh!) >From [1] 'Best Practices' section, I think it is better for us to use empty/no codebase instead of "." codebase. What are the benefits of changing them all to use "."? Afaict, the tests all work. [1] http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/applet/codebase_determination.html > - and JS tests with disabled opera. It seems to me like opera have improved, > and most of the tests is now not failing. Sure. When you say 'most' can you be more specific? Do you know which reproducers still fail on opera and which don't? Regards, > > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 9 13:45:57 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Mar 2015 14:45:57 +0100 Subject: [rfc][icedtea-web] fix some nastyness in reproducers In-Reply-To: <1609669485.18220136.1425908571582.JavaMail.zimbra@redhat.com> References: <54FD9A5A.1040208@redhat.com> <1609669485.18220136.1425908571582.JavaMail.zimbra@redhat.com> Message-ID: <54FDA415.5080303@redhat.com> On 03/09/2015 02:42 PM, Jie Kang wrote: > > > ----- Original Message ----- >> Hello! >> > > Hello, > > Patch seems fine. > >> During todays debugging I found few nasty things in reproducers: >> - invlalid (useless) urls >> - please do not wont me to fix the new line \> - I was just sedding those > > Hahah... I was going to say, fix the new lines, till I read this. Still, is it that hard? I don't even see that many... Can I push a fix for the new lines if you don't want to do it? Ok. Feel free to push my chnageset. with this change . TY! > >> jnlps.... >> - "" codebases (sigh!) > > From [1] 'Best Practices' section, I think it is better for us to use empty/no codebase instead of "." codebase. What are the benefits of changing them all to use "."? Afaict, the tests all work. Well.... in case of itw... not so obviously: http://icedtea.classpath.org/hg/icedtea-web/rev/c6af2f50a95e?revcount=120 > > [1] http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/applet/codebase_determination.html > >> - and JS tests with disabled opera. It seems to me like opera have improved, >> and most of the tests is now not failing. > > Sure. When you say 'most' can you be more specific? Do you know which reproducers still fail on opera and which don't? All I tested passed. (Bout 10). I had not tried the rest. Still I think this exclusion should be gone... Maybe tune the knowntofail annotation to determine browser rather then this hack. ty! J. From jkang at redhat.com Mon Mar 9 13:52:28 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 9 Mar 2015 09:52:28 -0400 (EDT) Subject: [rfc][icedtea-web] fixing locales reproducers In-Reply-To: <54FDA1C6.5010306@redhat.com> References: <54FD9C62.4030802@redhat.com> <339830414.18207844.1425908002346.JavaMail.zimbra@redhat.com> <54FDA1C6.5010306@redhat.com> Message-ID: <543689469.18230398.1425909148881.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/09/2015 02:33 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> This minor line minifix fixes 11 reproducers. > > > > Hello, > > > > From what I see, the key should be: > > > > BOHelp1 > > > > instead of > > > > BOHelp > > > > Removing it means that this key is no longer checked in the test to exist > > in all properties files, which may make the test pass, but may not be the > > best path. I think the purpose of this test should be to check the keys > > that all the properties files 'must' have to run IT-W properly. > > > > If you think that it's okay for the key to not be tested to exist in all > > properties files, sure, you can push it. Otherwise changing it to BOHelp1 > > should also make it pass as this is in every property file we have now. > > There was a patch (IcedTea-Web settings made to use OptionParser) that > > renamed BOHelp -> BOHelp1, and added BOHelp2 to the english properties > > files. > > > > > > The keys were moreover randomly selected during creation of the test. I see. > > Fact that the bohelp1 is currently only in main properties, makes it > necessary to be removed. ? From what I see BOHelp1 is in all of the properties files... just BOHelp2 is not. If you remove BOHelp1 from properties files, does the part of IT-W that uses it still run without crashing? If it doesn't run, I think you should still include BOHelp1 in the test. Regards, > > It will not be missed :) > > Regards, > > > >> > >> J. > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 9 13:56:10 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 09 Mar 2015 14:56:10 +0100 Subject: [rfc][icedtea-web] fixing locales reproducers In-Reply-To: <543689469.18230398.1425909148881.JavaMail.zimbra@redhat.com> References: <54FD9C62.4030802@redhat.com> <339830414.18207844.1425908002346.JavaMail.zimbra@redhat.com> <54FDA1C6.5010306@redhat.com> <543689469.18230398.1425909148881.JavaMail.zimbra@redhat.com> Message-ID: <54FDA67A.1020904@redhat.com> On 03/09/2015 02:52 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 03/09/2015 02:33 PM, Jie Kang wrote: >>> >>> >>> ----- Original Message ----- >>>> This minor line minifix fixes 11 reproducers. >>> >>> Hello, >>> >>> From what I see, the key should be: >>> >>> BOHelp1 >>> >>> instead of >>> >>> BOHelp >>> >>> Removing it means that this key is no longer checked in the test to exist >>> in all properties files, which may make the test pass, but may not be the >>> best path. I think the purpose of this test should be to check the keys >>> that all the properties files 'must' have to run IT-W properly. >>> >>> If you think that it's okay for the key to not be tested to exist in all >>> properties files, sure, you can push it. Otherwise changing it to BOHelp1 >>> should also make it pass as this is in every property file we have now. >>> There was a patch (IcedTea-Web settings made to use OptionParser) that >>> renamed BOHelp -> BOHelp1, and added BOHelp2 to the english properties >>> files. >>> >>> >> >> The keys were moreover randomly selected during creation of the test. > > I see. > >> >> Fact that the bohelp1 is currently only in main properties, makes it >> necessary to be removed. > > ? From what I see BOHelp1 is in all of the properties files... just BOHelp2 is not. > Ok. My wrong. > If you remove BOHelp1 from properties files, does the part of IT-W that uses it still run without crashing? If it doesn't run, I think you should still include BOHelp1 in the If the tests passes with bohelp1, I will include it instead of deleting. If not, I will rmeove it. Are you ok with it? > > > Regards, > >> >> It will not be missed :) >>> Regards, >>> >>>> >>>> J. >>>> >>> >> >> > From jkang at redhat.com Mon Mar 9 14:04:47 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 9 Mar 2015 10:04:47 -0400 (EDT) Subject: [rfc][icedtea-web] fixing locales reproducers In-Reply-To: <54FDA67A.1020904@redhat.com> References: <54FD9C62.4030802@redhat.com> <339830414.18207844.1425908002346.JavaMail.zimbra@redhat.com> <54FDA1C6.5010306@redhat.com> <543689469.18230398.1425909148881.JavaMail.zimbra@redhat.com> <54FDA67A.1020904@redhat.com> Message-ID: <1091034571.18243456.1425909887809.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/09/2015 02:52 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> On 03/09/2015 02:33 PM, Jie Kang wrote: > >>> > >>> > >>> ----- Original Message ----- > >>>> This minor line minifix fixes 11 reproducers. > >>> > >>> Hello, > >>> > >>> From what I see, the key should be: > >>> > >>> BOHelp1 > >>> > >>> instead of > >>> > >>> BOHelp > >>> > >>> Removing it means that this key is no longer checked in the test to exist > >>> in all properties files, which may make the test pass, but may not be the > >>> best path. I think the purpose of this test should be to check the keys > >>> that all the properties files 'must' have to run IT-W properly. > >>> > >>> If you think that it's okay for the key to not be tested to exist in all > >>> properties files, sure, you can push it. Otherwise changing it to BOHelp1 > >>> should also make it pass as this is in every property file we have now. > >>> There was a patch (IcedTea-Web settings made to use OptionParser) that > >>> renamed BOHelp -> BOHelp1, and added BOHelp2 to the english properties > >>> files. > >>> > >>> > >> > >> The keys were moreover randomly selected during creation of the test. > > > > I see. > > > >> > >> Fact that the bohelp1 is currently only in main properties, makes it > >> necessary to be removed. > > > > ? From what I see BOHelp1 is in all of the properties files... just BOHelp2 > > is not. > > > > Ok. My wrong. > > If you remove BOHelp1 from properties files, does the part of IT-W that > > uses it still run without crashing? If it doesn't run, I think you should > > still include BOHelp1 in the > > If the tests passes with bohelp1, I will include it instead of deleting. If > not, I will rmeove it. > > Are you ok with it? Yes, sounds good. Thanks, > > > > > > > Regards, > > > >> > >> It will not be missed :) > >>> Regards, > >>> > >>>> > >>>> J. > >>>> > >>> > >> > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From ptisnovs at icedtea.classpath.org Tue Mar 10 13:04:01 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 10 Mar 2015 13:04:01 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColor. Message-ID: changeset 953cb927de9f in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=953cb927de9f author: Pavel Tisnovsky date: Tue Mar 10 14:06:05 2015 +0100 Ten new tests added into BitBltUsingBgColor. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 136 +++++++++++++++++++++ 2 files changed, 141 insertions(+), 0 deletions(-) diffs (158 lines): diff -r 698f445259a9 -r 953cb927de9f ChangeLog --- a/ChangeLog Mon Mar 09 14:00:01 2015 +0100 +++ b/ChangeLog Tue Mar 10 14:06:05 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-10 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Ten new tests added into BitBltUsingBgColor. + 2015-03-09 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 698f445259a9 -r 953cb927de9f src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Mar 09 14:00:01 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Mar 10 14:06:05 2015 +0100 @@ -5250,6 +5250,142 @@ } /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalCyan gradient buffered image with type {@link BufferedImage#TYPE_CUSTOM}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalCyanGradientBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From jvanek at icedtea.classpath.org Tue Mar 10 14:01:57 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 10 Mar 2015 14:01:57 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 2306f922e936 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2306f922e936 author: Jiri Vanek date: Tue Mar 10 13:06:51 2015 +0100 Removed invalid URLs, empty codebases and enbaled js tests for opera changeset 9caff6cc3aaa in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=9caff6cc3aaa author: Jiri Vanek date: Tue Mar 10 15:01:29 2015 +0100 Fixed locale tests * tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java : not existing BOHelp replaced by BOHelp1. (getProperties) if used classlaoder is null then system one is used. diffstat: ChangeLog | 32 ++++++++++ tests/reproducers/simple/JSToJFuncParam/resources/jstoj-funcparam.jnlp | 5 +- tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java | 2 +- tests/reproducers/simple/JSToJFuncResol/resources/jstoj-funcresol.jnlp | 5 +- tests/reproducers/simple/JSToJFuncReturn/resources/jstoj-funcreturn.jnlp | 5 +- tests/reproducers/simple/JSToJGet/resources/jstoj-get.jnlp | 4 +- tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java | 2 +- tests/reproducers/simple/JSToJSet/resources/jstoj-set.jnlp | 5 +- tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java | 2 +- tests/reproducers/simple/JSToJTypeConv/resources/jstoj-typeconv.jnlp | 5 +- tests/reproducers/simple/JSToJTypeConv/testcases/JSToJTypeConvTest.java | 2 +- tests/reproducers/simple/JToJSString/testcases/JToJSStringTest.java | 2 +- tests/reproducers/simple/JavascriptFuncParam/resources/javascript-funcparam.jnlp | 5 +- tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java | 2 +- tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.jnlp | 5 +- tests/reproducers/simple/JavascriptFuncReturn/testcases/JavascriptFuncReturnTest.java | 2 +- tests/reproducers/simple/JavascriptGet/resources/javascript-get.jnlp | 5 +- tests/reproducers/simple/JavascriptGet/testcases/JavascriptGetTest.java | 2 +- tests/reproducers/simple/JavascriptSet/resources/javascript-set.jnlp | 5 +- tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java | 2 +- tests/reproducers/simple/JavawsAWTRobotFindsButton/resources/javaws-awtrobot-finds-button.jnlp | 2 +- tests/reproducers/simple/JavawsAWTRobotUsageSample/resources/javaws-awtrobot-usage-sample.jnlp | 2 +- tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java | 14 +++- 23 files changed, 74 insertions(+), 43 deletions(-) diffs (422 lines): diff -r aaea16216604 -r 9caff6cc3aaa ChangeLog --- a/ChangeLog Thu Mar 05 14:19:57 2015 -0500 +++ b/ChangeLog Tue Mar 10 15:01:29 2015 +0100 @@ -1,3 +1,35 @@ +2015-03-10 Jiri Vanek + + Fixed locale tests + * tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java : + not existing BOHelp replaced by BOHelp1. (getProperties) if used classlaoder + is null then system one is used. + +2015-03-10 Jiri Vanek + + Removed invalid URLs, empty codebases and enbaled js tests for opera + * tests/reproducers/simple/JSToJFuncParam/resources/jstoj-funcparam.jnlp + * tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java + * tests/reproducers/simple/JSToJFuncResol/resources/jstoj-funcresol.jnlp + * tests/reproducers/simple/JSToJFuncReturn/resources/jstoj-funcreturn.jnlp + * tests/reproducers/simple/JSToJGet/resources/jstoj-get.jnlp + * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java + * tests/reproducers/simple/JSToJSet/resources/jstoj-set.jnlp + * tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java + * tests/reproducers/simple/JSToJTypeConv/resources/jstoj-typeconv.jnlp + * tests/reproducers/simple/JSToJTypeConv/testcases/JSToJTypeConvTest.java + * tests/reproducers/simple/JToJSString/testcases/JToJSStringTest.java + * tests/reproducers/simple/JavascriptFuncParam/resources/javascript-funcparam.jnlp + * tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java + * tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.jnlp + * tests/reproducers/simple/JavascriptFuncReturn/testcases/JavascriptFuncReturnTest.java + * tests/reproducers/simple/JavascriptGet/resources/javascript-get.jnlp + * tests/reproducers/simple/JavascriptGet/testcases/JavascriptGetTest.java + * tests/reproducers/simple/JavascriptSet/resources/javascript-set.jnlp + * tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java + * tests/reproducers/simple/JavawsAWTRobotFindsButton/resources/javaws-awtrobot-finds-button.jnlp + * tests/reproducers/simple/JavawsAWTRobotUsageSample/resources/javaws-awtrobot-usage-sample.jnlp + 2015-03-05 Jie Kang Use jnlp_href parameter instead of attribute in applet tag for reproducers. diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JSToJFuncParam/resources/jstoj-funcparam.jnlp --- a/tests/reproducers/simple/JSToJFuncParam/resources/jstoj-funcparam.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JSToJFuncParam/resources/jstoj-funcparam.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,6 +1,6 @@ - + JavaScript to Java LiveConnect - FuncParam IcedTea @@ -9,8 +9,7 @@ - + diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java --- a/tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java Tue Mar 10 15:01:29 2015 +0100 @@ -50,7 +50,7 @@ public class JSToJFuncParamTest extends BrowserTest { // the JS<->J tests tend to make Opera unusable - public final boolean doNotRunInOpera = true; + public final boolean doNotRunInOpera = false; private final String initStr = "JSToJFuncParam applet initialized."; private final String afterStr = "afterTests"; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JSToJFuncResol/resources/jstoj-funcresol.jnlp --- a/tests/reproducers/simple/JSToJFuncResol/resources/jstoj-funcresol.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JSToJFuncResol/resources/jstoj-funcresol.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,6 +1,6 @@ - + JavaScript to Java LiveConnect - FuncResol IcedTea @@ -9,8 +9,7 @@ - + diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JSToJFuncReturn/resources/jstoj-funcreturn.jnlp --- a/tests/reproducers/simple/JSToJFuncReturn/resources/jstoj-funcreturn.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JSToJFuncReturn/resources/jstoj-funcreturn.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,6 +1,6 @@ - + JavaScript to Java LiveConnect - FuncReturn RedHat @@ -9,8 +9,7 @@ - + diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JSToJGet/resources/jstoj-get.jnlp --- a/tests/reproducers/simple/JSToJGet/resources/jstoj-get.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JSToJGet/resources/jstoj-get.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,5 +1,5 @@ - + JavaScript to Java LiveConnect - Get RedHat @@ -8,7 +8,7 @@ - + J tests tend to make Opera unusable - public final boolean doNotRunInOpera = true; + public final boolean doNotRunInOpera = false; public String passStr = " - passed."; public String failValStr = " - failed, value mismatch."; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JSToJSet/resources/jstoj-set.jnlp --- a/tests/reproducers/simple/JSToJSet/resources/jstoj-set.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JSToJSet/resources/jstoj-set.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,5 +1,5 @@ - + JavaScript to Java LiveConnect - Set RedHat @@ -8,8 +8,7 @@ - + J tests tend to make Opera unusable - public final boolean doNotRunInOpera = true; + public final boolean doNotRunInOpera = false; private final String initStr = "JSToJSet applet initialized."; private final String afterStr = "afterTests"; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JSToJTypeConv/resources/jstoj-typeconv.jnlp --- a/tests/reproducers/simple/JSToJTypeConv/resources/jstoj-typeconv.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JSToJTypeConv/resources/jstoj-typeconv.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,6 +1,6 @@ - + JavaScript to Java LiveConnect - TypeConv IcedTea @@ -9,8 +9,7 @@ - + diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JSToJTypeConv/testcases/JSToJTypeConvTest.java --- a/tests/reproducers/simple/JSToJTypeConv/testcases/JSToJTypeConvTest.java Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JSToJTypeConv/testcases/JSToJTypeConvTest.java Tue Mar 10 15:01:29 2015 +0100 @@ -49,7 +49,7 @@ public class JSToJTypeConvTest extends BrowserTest { //the JS<->J tests tend to make Opera unusable - public final boolean doNotRunInOpera = true; + public final boolean doNotRunInOpera = false; private final String initStr = "JSToJTypeConv applet initialized."; private final String afterStr = "afterTests"; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JToJSString/testcases/JToJSStringTest.java --- a/tests/reproducers/simple/JToJSString/testcases/JToJSStringTest.java Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JToJSString/testcases/JToJSStringTest.java Tue Mar 10 15:01:29 2015 +0100 @@ -50,7 +50,7 @@ public class JToJSStringTest extends BrowserTest { // the JS<->J tests tend to make Opera unusable - private static final boolean doNotRunInOpera = true; + private static final boolean doNotRunInOpera = false; private static final String initStr = "init"; private static final String afterStr = "afterTests"; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavascriptFuncParam/resources/javascript-funcparam.jnlp --- a/tests/reproducers/simple/JavascriptFuncParam/resources/javascript-funcparam.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavascriptFuncParam/resources/javascript-funcparam.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,6 +1,6 @@ - + Java to JavaScript LiveConnect - FuncParam IcedTea @@ -9,8 +9,7 @@ - + diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java --- a/tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java Tue Mar 10 15:01:29 2015 +0100 @@ -49,7 +49,7 @@ public class JavascriptFuncParamTest extends BrowserTest { - public final boolean doNotRunInOpera = true; + public final boolean doNotRunInOpera = false; private final String initStr = "JToJSFuncParam applet initialized."; private final String afterStr = "afterTests"; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.jnlp --- a/tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,5 +1,5 @@ - + Java to JavaScript LiveConnect - FuncReturn IcedTea @@ -8,8 +8,7 @@ - + diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavascriptFuncReturn/testcases/JavascriptFuncReturnTest.java --- a/tests/reproducers/simple/JavascriptFuncReturn/testcases/JavascriptFuncReturnTest.java Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavascriptFuncReturn/testcases/JavascriptFuncReturnTest.java Tue Mar 10 15:01:29 2015 +0100 @@ -48,7 +48,7 @@ public class JavascriptFuncReturnTest extends BrowserTest { - public final boolean doNotRunInOpera = true; + public final boolean doNotRunInOpera = false; private final String initStr = "JToJSFuncReturn applet initialized."; private final String afterStr = "afterTests"; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavascriptGet/resources/javascript-get.jnlp --- a/tests/reproducers/simple/JavascriptGet/resources/javascript-get.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavascriptGet/resources/javascript-get.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,6 +1,6 @@ - + Java to JavaScript LiveConnect - Get IcedTea @@ -9,8 +9,7 @@ - + diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavascriptGet/testcases/JavascriptGetTest.java --- a/tests/reproducers/simple/JavascriptGet/testcases/JavascriptGetTest.java Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavascriptGet/testcases/JavascriptGetTest.java Tue Mar 10 15:01:29 2015 +0100 @@ -49,7 +49,7 @@ public class JavascriptGetTest extends BrowserTest { - public final boolean doNotRunInOpera = true; + public final boolean doNotRunInOpera = false; private final String initStr = "JToJSGet applet initialized."; private final String afterStr = "afterTests"; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavascriptSet/resources/javascript-set.jnlp --- a/tests/reproducers/simple/JavascriptSet/resources/javascript-set.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavascriptSet/resources/javascript-set.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -1,6 +1,6 @@ - + Java to JavaScript LiveConnect - Set IcedTea @@ -9,8 +9,7 @@ - + diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java --- a/tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java Tue Mar 10 15:01:29 2015 +0100 @@ -48,7 +48,7 @@ public class JavascriptSetTest extends BrowserTest { - public final boolean doNotRunInOpera = true; + public final boolean doNotRunInOpera = false; private final String initStr = "JToJSSet applet initialized."; private final String afterStr = "afterTests"; diff -r aaea16216604 -r 9caff6cc3aaa tests/reproducers/simple/JavawsAWTRobotFindsButton/resources/javaws-awtrobot-finds-button.jnlp --- a/tests/reproducers/simple/JavawsAWTRobotFindsButton/resources/javaws-awtrobot-finds-button.jnlp Thu Mar 05 14:19:57 2015 -0500 +++ b/tests/reproducers/simple/JavawsAWTRobotFindsButton/resources/javaws-awtrobot-finds-button.jnlp Tue Mar 10 15:01:29 2015 +0100 @@ -45,7 +45,7 @@ - + - + References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1326 Andrew Replogle changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrew.replogle at gmail.com --- Comment #7 from Andrew Replogle --- Andrew, We recently updated to 2.5.4 on Centos 7 and appear to be running into this issue. Do you know if the fix is confirmed? I understand it may be a hard issue to pin down for reproducing. If there is any additional info I can provide, I'm happy to. # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f767b08176d, pid=17793, tid=140145936484096 # # JRE version: OpenJDK Runtime Environment (7.0_75-b13) (build 1.7.0_75-mockbuild_2015_01_21_05_53-b00) # Java VM: OpenJDK 64-Bit Server VM (24.75-b04 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea 2.5.4 # Distribution: Built on CentOS Linux release 7.0.1406 (Core) (Wed Jan 21 05:53:48 UTC 2015) # Problematic frame: # V [libjvm.so+0x61d76d] # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # 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 # --------------- T H R E A D --------------- Current thread (0x00007f7628012800): JavaThread "Java2D Disposer" daemon [_thread_in_vm, id=18185, stack(0x00007f7644b2c000,0x00007f7644c2d000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000000 Registers: RAX=0x0000000000000000, RBX=0x00007f7628012800, RCX=0x00007f767b8725a3, RDX=0x00007f767b877e20 RSP=0x00007f7644c2b700, RBP=0x00007f7644c2b770, RSI=0x0000000000000000, RDI=0x00007f7628012800 R8 =0x000000067954ce78, R9 =0x00007f76196aaee8, R10=0x000000000000000b, R11=0x0000000000000001 R12=0x00007f76280129d8, R13=0x0000000000000000, R14=0x00000000000000c2, R15=0x00007f76041993e0 RIP=0x00007f767b08176d, EFLAGS=0x0000000000010246, CSGSFS=0x1c76000000000033, ERR=0x0000000000000004 TRAPNO=0x000000000000000e Top of Stack: (sp=0x00007f7644c2b700) 0x00007f7644c2b700: 0000000000000004 00007f76196aaef8 0x00007f7644c2b710: 00007f7628012800 0000000000000000 0x00007f7644c2b720: 00007f76041993e0 00007f76461d46b0 0x00007f7644c2b730: 00007f7604004e40 1c76deeb6e5ed300 0x00007f7644c2b740: 00007f76041993e0 00007f76280129d8 0x00007f7644c2b750: 00007f760403aaf0 00007f76464760a0 0x00007f7644c2b760: 00007f760403aa00 00007f76041993e0 0x00007f7644c2b770: 00007f7644c2b790 00007f7630adac71 0x00007f7644c2b780: 00007f7604004e40 00007f76041993e0 0x00007f7644c2b790: 0000000000000001 00007f76461e8367 0x00007f7644c2b7a0: 00007f76041985a0 00007f76041993e0 0x00007f7644c2b7b0: 00007f760403a9e0 00007f76461eb3b3 0x00007f7644c2b7c0: 0000000000000000 00007f76041985a0 0x00007f7644c2b7d0: 0000000000000000 00007f760403a9e0 0x00007f7644c2b7e0: 00007f7604198ee0 00007f76461eb4a4 0x00007f7644c2b7f0: 0000000000000000 00007f760403aaf0 0x00007f7644c2b800: 00007f7644c2b850 00007f76280129d8 0x00007f7644c2b810: 00007f7604004e40 00007f7644c2b900 0x00007f7644c2b820: 00007f7628012800 00007f7630adc8fa 0x00007f7644c2b830: 00000006795c45b8 00000006795c45b8 0x00007f7644c2b840: 0000000000000000 00000006795c45b8 0x00007f7644c2b850: 00007f7644c2b8c8 00007f76710127f8 0x00007f7644c2b860: 00007f76196aaeb8 00007f76196aaeb8 0x00007f7644c2b870: 00007f76196aaed8 00007f76196aaed8 0x00007f7644c2b880: 00007f76fffffffe 00007f7644c2b888 0x00007f7644c2b890: 00000006795c45b8 00007f7644c2b900 0x00007f7644c2b8a0: 00000006795c4ff8 0000000000000000 0x00007f7644c2b8b0: 00000006795c45b8 0000000000000000 0x00007f7644c2b8c0: 00007f7644c2b8e8 00007f7644c2b958 0x00007f7644c2b8d0: 00007f7671006058 0000000000000000 0x00007f7644c2b8e0: 00007f767100ecd8 00007f760403aaf0 0x00007f7644c2b8f0: 000000069f7a0f30 0000000000000000 Instructions: (pc=0x00007f767b08176d) 0x00007f767b08174d: 00 00 00 00 48 83 7b 08 00 48 89 5d a0 74 09 48 0x00007f767b08175d: 8d 7d a0 e8 6b 4d 22 00 90 48 8d 0d 36 0e 7f 00 0x00007f767b08176d: 49 8b 45 00 0f b6 11 84 d2 0f 84 d4 00 00 00 48 0x00007f767b08177d: 8d 35 7d 4c 7d 00 44 8b 78 08 8b 4e 08 49 d3 e7 Register to memory mapping: RAX=0x0000000000000000 is an unknown value RBX=0x00007f7628012800 is a thread RCX=0x00007f767b8725a3: in /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/lib/amd64/server/libjvm.so at 0x00007f767aa64000 RDX=0x00007f767b877e20: in /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/lib/amd64/server/libjvm.so at 0x00007f767aa64000 RSP=0x00007f7644c2b700 is pointing into the stack for thread: 0x00007f7628012800 RBP=0x00007f7644c2b770 is pointing into the stack for thread: 0x00007f7628012800 RSI=0x0000000000000000 is an unknown value RDI=0x00007f7628012800 is a thread R8 =0x000000067954ce78 is an oop [S - klass: {type array short} - length: 12 R9 =0x00007f76196aaee8 is an unknown value R10=0x000000000000000b is an unknown value R11=0x0000000000000001 is an unknown value R12=0x00007f76280129d8 is an unknown value R13=0x0000000000000000 is an unknown value R14=0x00000000000000c2 is an unknown value R15=0x00007f76041993e0 is an unknown value Stack: [0x00007f7644b2c000,0x00007f7644c2d000], sp=0x00007f7644c2b700, free space=1021k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x61d76d] C [libfontmanager.so+0x8c71] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sun.font.FreetypeFontScaler.disposeNativeScaler(Lsun/font/Font2D;J)V+0 j sun.font.FreetypeFontScaler.dispose()V+24 j sun.java2d.Disposer.run()V+26 j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 10 16:32:34 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Mar 2015 16:32:34 +0000 Subject: [Bug 2089] Thermostat 2.0: Throw NoSuchElementException on Cursor.next() and no next elements are available In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2089 Antonio changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |cesarano2607 at gmail.com -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ldracz at redhat.com Tue Mar 10 19:54:33 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 10 Mar 2015 15:54:33 -0400 (EDT) Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <54F9B5AE.0@redhat.com> References: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> <54F80A49.2090804@redhat.com> <1776700863.16897075.1425592331325.JavaMail.zimbra@redhat.com> <54F9B5AE.0@redhat.com> Message-ID: <714891563.19481756.1426017273098.JavaMail.zimbra@redhat.com> Hello, I have attached a patch to show, what I was thinking of as a potential fix. I made a new BasicValueValidator that allows combination of options alongside single options. I changed attributes check property from a boolean to an enum with the following options ALL, NONE, PERMISSIONS, TRUSTED, CODEBASE, ALAC With the new MultipleStringValueValidator I have made it that attributes check property can either be ALL, NONE or a combination of PERMISSIONS, TRUSTED, CODEBASE, ALAC (delimited by "," no spaces) In this way it can be specified which checks you want to do for ex. only TRUSTED and CODEBASE attributes would look like deployment.manifest.attributes.check=TRUSTED,CODEBASE The fix for the tests is also included that changes the deployment.manifest.attributes.check in the beforeClass and puts back the previous value afterClass. Also deployment.security.level is changed to ALLOW_UNSIGNED and back in the same fashion for the Partially Signed tests. I have mostly attached the full patch to get feedback on this direction of a fix ? Any comments or thoughts would be great. For review I think it would be best if I split this patch into two, for easier reviewing - The MultipleStringValueValidator - The Fix with Manifest Attributes Check and in the tests Other option is to go with the original suggestion of just an enum with true, false, permissions_only with the same changing the deployment.properties BeforeClass fix. In this case, I would prefer the enum to be ALL, NONE or PERMISSIONS (/PERMISSIONS_ONLY) instead. Thoughts ? Thank you, Lukasz Dracz ----- Original Message ----- > From: "Jiri Vanek" > To: "Lukasz Dracz" > Cc: "IcedTea Distro List" > Sent: Friday, March 6, 2015 9:11:58 AM > Subject: Re: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers > > On 03/05/2015 10:52 PM, Lukasz Dracz wrote: > > Hello, > > > > ----- Original Message ----- > >> From: "Jiri Vanek" > >> To: "Lukasz Dracz" , "IcedTea Distro List" > >> > >> Sent: Thursday, March 5, 2015 2:48:25 AM > >> Subject: Re: [rfc][icedteaweb] Add comments about permission attributes > >> not being checked in reproducers > >> > >> On 03/04/2015 10:00 PM, Lukasz Dracz wrote: > >>> Hello, > >>> > >>> I have been looking into why certain reproducers are failing. For the > >>> following tests > >>> > >>> testPartiallySignedAppletWithSandboxPermissionsInManifestLaunchWithSignedHTMLApp > >>> testPartiallySignedJNLPAppletWithSandboxPermissionsInManifestLaunchWithSignedApp > >>> testSignedAppletWithSandboxPermissionsInManifestHtml > >>> testSignedAppletWithSandboxPermissionsInManifestHtmlJnlpHref > >>> testSignedAppletWithSandboxPermissionsInManifestJnlpApplet > >>> testSignedAppletWithSandboxPermissionsInManifestJnlpApplication > >>> > >>> I found that changeset 1129:0284eb954ebc is reason. > >>> > >>> The reason why is that the permissions attributes check has been moved > >>> from > >>> always being checked into an if statement > >>> where they are only checked when deployment.manifest.attributes.check is > >>> set to true. I have tested and found the tests to pass when this > >>> deployment.manifest.attributes.check is set to true. > >>> > >>> This patch just adds comments to the tests for reference to help explain > >>> to > >>> anyone in the future looking at the tests. At the moment I don't have a > >>> solution, does anyone have an idea on how to properly fix this or handle > >>> this ? > >>> I had tried to set the property to true for the tests and revert it back > >>> after to no avail. I will try to think more on this problem. > >>> > >> > >> Hi! > >> > >> So yes - the testsuite is running with > >> deployment.manifest.attributes.check=false. > >> > >> IMHO best would be to tune it to run without any > >> deployment.manifest.attributes.check. > >> > >> > >> For your group of tests - I think the best way to go is : > >> @beforeclass ensure that no deployment.manifest.attributes.check is > >> present > >> in > >> deploymnet.properties. If it is, remove it. > >> @afterclass return it back, if it was here. > >> > >> > >> What do you think? Note - tehre is plenty util methods which loads file > >> to > >> string or save string to > >> file. Just do not add more :) > > > > I have tested the @beforeclass @afterclass method of editing the > > deployment.properties file and well it works somewhat, some of the tests > > pass now > > but the other ones will prompt a pop-up and if you click to proceed it > > passes but obviously failing to click proceed it fails. > Maybe instead of beforeclass and after class use this setup only for > specified tests? > > > > > This defeats the purpose of the manifest attributes check being set to > > false. > > I can't seem to think of a solution I would like. > yes:( > > I suppose we could split the deployment.manifest.attributes.check into two > > properties, by adding a new one that decides whether to check the > > Permissions Attribute and the default deployment.manifest.attributes.check > > would check all the other attributes. > > > > For the test we would edit the manifest like you mentioned with > > @beforeclass to change the > > deployment.manifest.permissions.attributes.check to true and keep > > deployment.manifest.attributes.check false. > > What do you think about this solution ? > > Do you have any other ideas ? > > The only other idea of mine is to make deployment.manifest.attributes.check > tri state (enum TRUE > FALSE PERMISSIONS_ONLY) instead of boolean an new attribute - true (all are > tests) false (none is > tested) all_but_permissions - then only permission s attribnute is check. > > The deployment.manifest.attributes.check is itw Internal, so we can do > moreover whatever we need > with it. And the code is documentation itself . > > imho - the tristate is better to impl. maintain read. But instead of it, go > with any option you wont > to fix those tests. > > > > I suppose we could also try to make it possible to edit the property > > directly and having that change updated when done. I would need to look > > into how feasible this is. > > Not sure If I understood:( > > > > Thoughts ? > > > > Thank you, > > Lukasz Dracz > > > > > > > > > >> Thank you! > >> > >> J. > >> > >> > >> > >> > >> > >> > >> > > -------------- next part -------------- A non-text attachment was scrubbed... Name: combinationManifestAttributesCheck-2.patch Type: text/x-patch Size: 15901 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 02:20:38 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 02:20:38 +0000 Subject: [Bug 2269] New: Segmentation fault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2269 Bug ID: 2269 Summary: Segmentation fault Product: IcedTea Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: critical Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: musikolo at hotmail.com CC: unassigned at icedtea.classpath.org Created attachment 1274 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1274&action=edit Trace log When using Eclipse Juno if I press Ctrl+Space to complete a keyword, JVM crashes. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 02:27:23 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 02:27:23 +0000 Subject: [Bug 2269] Segmentation fault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2269 Musikolo changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |2.5.4 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 02:28:51 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 02:28:51 +0000 Subject: [Bug 2269] Segmentation fault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2269 --- Comment #1 from Musikolo --- Looks like very similar to issue to http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2218 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 02:47:26 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 02:47:26 +0000 Subject: [Bug 2269] Segmentation fault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2269 Musikolo changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Musikolo --- Found a solution here https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1262832/comments/2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 02:48:03 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 02:48:03 +0000 Subject: [Bug 2218] Eclipse crash with JRE 1.7 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2218 Musikolo changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |musikolo at hotmail.com --- Comment #1 from Musikolo --- Please, try this https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1262832/comments/2 It worked for me. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Wed Mar 11 08:24:37 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 11 Mar 2015 08:24:37 +0000 Subject: /hg/gfx-test: 12 new tests added into BitBltUsingBgColor. Message-ID: changeset bf1d1b9e2eed in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=bf1d1b9e2eed author: Pavel Tisnovsky date: Wed Mar 11 09:26:41 2015 +0100 12 new tests added into BitBltUsingBgColor. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 204 +++++++++++++++++++++ 2 files changed, 209 insertions(+), 0 deletions(-) diffs (226 lines): diff -r 953cb927de9f -r bf1d1b9e2eed ChangeLog --- a/ChangeLog Tue Mar 10 14:06:05 2015 +0100 +++ b/ChangeLog Wed Mar 11 09:26:41 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-11 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + 12 new tests added into BitBltUsingBgColor. + 2015-03-10 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 953cb927de9f -r bf1d1b9e2eed src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Mar 10 14:06:05 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Wed Mar 11 09:26:41 2015 +0100 @@ -5386,6 +5386,210 @@ } /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalCyan gradient buffered image with type {@link BufferedImage#TYPE_CUSTOM}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalCyanGradientBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From jvanek at redhat.com Wed Mar 11 14:06:41 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 11 Mar 2015 15:06:41 +0100 Subject: [rfc][icedtea-web] minor tweeks to gifar reproducer Message-ID: <55004BF1.50709@redhat.com> hi! I was trying to fix gifar falures (there are two, which shows, that compromised jar cans til be used in classpath) And aI failed. It seems that the change is in jdk itself. That it needs better jar then compromised by gif and better suffix then .gif. Currently I'm giving up this one, as it means no threat, and will crawl to another failing reprodcuer. Currently those GifarViaJnlp_applet_ignoreHeaders for 84 GifarViaJnlp_application_ignoreHeaders for 84 are candidates to known to fail, but I would really like to know why. As I'm curious what happened, I will return to it. Just minor fixation in patch. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: minorTweeksToGifarTests.patch Type: text/x-patch Size: 3296 bytes Desc: not available URL: From jvanek at redhat.com Wed Mar 11 14:22:06 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 11 Mar 2015 15:22:06 +0100 Subject: [rfc][icedtea-web] include possibleOptions in docs Message-ID: <55004F8E.8050001@redhat.com> Hi! Lukas' patch reminded to me that possibleValues slipped from original docs. This small patch adds them. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: includePOssibleOptionsToDocs.patch Type: text/x-patch Size: 1911 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 14:28:32 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 14:28:32 +0000 Subject: [Bug 2218] Eclipse crash with JRE 1.7 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2218 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |sgehwolf at redhat.com Resolution|--- |INVALID --- Comment #2 from Severin Gehwolf --- Closing as invalid as this is an Eclipse bug rather than a icedtea/openjdk bug. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 14:53:41 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 14:53:41 +0000 Subject: [Bug 2218] Eclipse crash with JRE 1.7 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2218 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |2.5.4 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: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 14:54:32 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 14:54:32 +0000 Subject: [Bug 2269] Segmentation fault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2269 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |INVALID --- Comment #3 from Andrew John Hughes --- Crash in libsoup, not the JDK. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Wed Mar 11 15:23:08 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 11 Mar 2015 16:23:08 +0100 Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <714891563.19481756.1426017273098.JavaMail.zimbra@redhat.com> References: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> <54F80A49.2090804@redhat.com> <1776700863.16897075.1425592331325.JavaMail.zimbra@redhat.com> <54F9B5AE.0@redhat.com> <714891563.19481756.1426017273098.JavaMail.zimbra@redhat.com> Message-ID: <55005DDC.7000205@redhat.com> On 03/10/2015 08:54 PM, Lukasz Dracz wrote:> Hello, > > I have attached a patch to show, what I was thinking of as a potential fix. > maybe a bit of owerkill, but why not. > I made a new BasicValueValidator that allows combination of options alongside single options. > I changed attributes check property from a boolean to an enum > with the following options ALL, NONE, PERMISSIONS, TRUSTED, CODEBASE, ALAC > With the new MultipleStringValueValidator I have made it that > attributes check property can either be ALL, NONE or a > combination of PERMISSIONS, TRUSTED, CODEBASE, ALAC (delimited by "," no spaces) Please add ENTRYPOINT > > In this way it can be specified which checks you want to do > for ex. only TRUSTED and CODEBASE attributes would look like > deployment.manifest.attributes.check=TRUSTED,CODEBASE > > The fix for the tests is also included that changes the deployment.manifest.attributes.check in the beforeClass > and puts back the previous value afterClass. Also deployment.security.level is changed to ALLOW_UNSIGNED and back in > the same fashion for the Partially Signed tests. > > I have mostly attached the full patch to get feedback on this direction of a fix ? > Any comments or thoughts would be great. > > For review I think it would be best if I split this patch into two, for easier reviewing > > - The MultipleStringValueValidator > - The Fix with Manifest Attributes Check and in the tests > > Other option is to go with the original suggestion of just an enum with true, false, permissions_only with the same > changing the deployment.properties BeforeClass fix. In this case, I would prefer the enum to be ALL, NONE or > PERMISSIONS (/PERMISSIONS_ONLY) instead. if this fixs the testsm then +1 from me for what you have done here. It is allowing good versatility and actually to test what is necessary. > > Thoughts ? few inline. > > > Thank you, > Lukasz Dracz > > ----- Original Message ----- >> >From: "Jiri Vanek" >> >To: "Lukasz Dracz" >> >Cc: "IcedTea Distro List" >> >Sent: Friday, March 6, 2015 9:11:58 AM >> >Subject: Re: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers >> > >> >On 03/05/2015 10:52 PM, Lukasz Dracz wrote: >>> > >Hello, >>> > > >>> > >----- Original Message ----- >>>> > >>From: "Jiri Vanek" >>>> > >>To: "Lukasz Dracz", "IcedTea Distro List" >>>> > >> >>>> > >>Sent: Thursday, March 5, 2015 2:48:25 AM >>>> > >>Subject: Re: [rfc][icedteaweb] Add comments about permission attributes >>>> > >>not being checked in reproducers >>>> > >> >>>> > >>On 03/04/2015 10:00 PM, Lukasz Dracz wrote: >>>>> > >>>Hello, >>>>> > >>> >>>>> > >>>I have been looking into why certain reproducers are failing. For the >>>>> > >>>following tests >>>>> > >>> >>>>> > >>>testPartiallySignedAppletWithSandboxPermissionsInManifestLaunchWithSignedHTMLApp >>>>> > >>>testPartiallySignedJNLPAppletWithSandboxPermissionsInManifestLaunchWithSignedApp >>>>> > >>>testSignedAppletWithSandboxPermissionsInManifestHtml >>>>> > >>>testSignedAppletWithSandboxPermissionsInManifestHtmlJnlpHref >>>>> > >>>testSignedAppletWithSandboxPermissionsInManifestJnlpApplet >>>>> > >>>testSignedAppletWithSandboxPermissionsInManifestJnlpApplication >>>>> > >>> >>>>> > >>>I found that changeset 1129:0284eb954ebc is reason. >>>>> > >>> >>>>> > >>>The reason why is that the permissions attributes check has been moved >>>>> > >>>from >>>>> > >>>always being checked into an if statement >>>>> > >>>where they are only checked when deployment.manifest.attributes.check is >>>>> > >>>set to true. I have tested and found the tests to pass when this >>>>> > >>>deployment.manifest.attributes.check is set to true. >>>>> > >>> >>>>> > >>>This patch just adds comments to the tests for reference to help explain >>>>> > >>>to >>>>> > >>>anyone in the future looking at the tests. At the moment I don't have a >>>>> > >>>solution, does anyone have an idea on how to properly fix this or handle >>>>> > >>>this ? >>>>> > >>>I had tried to set the property to true for the tests and revert it back >>>>> > >>>after to no avail. I will try to think more on this problem. >>>>> > >>> >>>> > >> >>>> > >>Hi! >>>> > >> >>>> > >>So yes - the testsuite is running with >>>> > >>deployment.manifest.attributes.check=false. >>>> > >> >>>> > >>IMHO best would be to tune it to run without any >>>> > >>deployment.manifest.attributes.check. >>>> > >> >>>> > >> >>>> > >>For your group of tests - I think the best way to go is : >>>> > >>@beforeclass ensure that no deployment.manifest.attributes.check is >>>> > >>present >>>> > >>in >>>> > >>deploymnet.properties. If it is, remove it. >>>> > >>@afterclass return it back, if it was here. >>>> > >> >>>> > >> >>>> > >>What do you think? Note - tehre is plenty util methods which loads file >>>> > >>to >>>> > >>string or save string to >>>> > >>file. Just do not add more :) >>> > > >>> > >I have tested the @beforeclass @afterclass method of editing the >>> > >deployment.properties file and well it works somewhat, some of the tests >>> > >pass now >>> > >but the other ones will prompt a pop-up and if you click to proceed it >>> > >passes but obviously failing to click proceed it fails. >> >Maybe instead of beforeclass and after class use this setup only for >> >specified tests? >> > >>> > > >>> > >This defeats the purpose of the manifest attributes check being set to >>> > >false. >>> > >I can't seem to think of a solution I would like. >> >yes:( >>> > >I suppose we could split the deployment.manifest.attributes.check into two >>> > >properties, by adding a new one that decides whether to check the >>> > >Permissions Attribute and the default deployment.manifest.attributes.check >>> > >would check all the other attributes. >>> > > >>> > >For the test we would edit the manifest like you mentioned with >>> > >@beforeclass to change the >>> > >deployment.manifest.permissions.attributes.check to true and keep >>> > >deployment.manifest.attributes.check false. >>> > >What do you think about this solution ? >>> > >Do you have any other ideas ? >> > >> >The only other idea of mine is to make deployment.manifest.attributes.check >> >tri state (enum TRUE >> >FALSE PERMISSIONS_ONLY) instead of boolean an new attribute - true (all are >> >tests) false (none is >> >tested) all_but_permissions - then only permission s attribnute is check. >> > >> >The deployment.manifest.attributes.check is itw Internal, so we can do >> >moreover whatever we need >> >with it. And the code is documentation itself . >> > >> >imho - the tristate is better to impl. maintain read. But instead of it, go >> >with any option you wont >> >to fix those tests. >>> > > >>> > >I suppose we could also try to make it possible to edit the property >>> > >directly and having that change updated when done. I would need to look >>> > >into how feasible this is. >> > >> >Not sure If I understood:( >>> > > >>> > >Thoughts ? >>> > > >>> > >Thank you, >>> > >Lukasz Dracz >>> > > >>> > > >>> > > >>> > > >>>> > >>Thank you! >>>> > >> >>>> > >>J. >>>> > >> >>>> > >> >>>> > >> >>>> > >> >>>> > >> >>>> > >> >>>> > >> >> > >> > > > combinationManifestAttributesCheck-2.patch > > > diff --git a/netx/net/sourceforge/jnlp/config/BasicValueValidators.java b/netx/net/sourceforge/jnlp/config/BasicValueValidators.java > --- a/netx/net/sourceforge/jnlp/config/BasicValueValidators.java > +++ b/netx/net/sourceforge/jnlp/config/BasicValueValidators.java > @@ -202,6 +202,69 @@ > } > > /** > + * Checks that the value is one of the acceptable single String values > + * or an acceptable combination of String values > + */ > + private static class MultipleStringValueValidator implements ValueValidator { > + String[] singleOptions = null; > + String[] comboOptions = null; make them final. They may be set in constructor only. > + > + public MultipleStringValueValidator(String[] singleOptions, String[] comboOptions) { > + this.singleOptions = singleOptions; > + this.comboOptions = comboOptions; > + } > + > + @Override > + public void validate(Object value) throws IllegalArgumentException { > + Object possibleValue = value; > + if (!(possibleValue instanceof String)) { > + throw new IllegalArgumentException("Must be a string"); > + } > + > + String stringVal = (String) possibleValue; > + boolean found = false; > + for (String knownVal : singleOptions) { > + if (knownVal.equals(stringVal)) { > + found = true; > + break; > + } > + } > + > + if (!found) { > + String[] possibleCombo = stringVal.split(","); separate this split in into static method in this class. and move the "," to constant. See the reasons for this later in code > + for (String val : possibleCombo) { > + if (comboOptionsContains(val)) { > + found = true; > + } else { > + throw new IllegalArgumentException(); > + } > + } > + } > + > + if (!found) { > + throw new IllegalArgumentException(); > + } > + } > + > + private boolean comboOptionsContains(String possibleVal) { > + for (String value : comboOptions) { > + if (value.equals(possibleVal)) { > + return true; > + } > + } > + return false; > + } > + > + @Override > + public String getPossibleValues() { > + String message = "(Values that can be used alone only): " + Arrays.toString(singleOptions) + > + " (Values that can be used in combination): " + Arrays.toString(comboOptions); Mention in second one that the constant of above is an delimiter. and no space expected Also it can behave nicer if one of the arrays is null or empty... > + return message; > + } Except this one, use also ManifestAttributeCheckValidator extends MultipleStringValueValidator public ManifestAttributeCheckValidator(){ super(youKNowTheValues1,youKNowTheValues2) Check the behaviour with http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2015-March/031043.html } > + > + } > + > + /** > * Checks that the value is a URL > */ > private static class UrlValidator implements ValueValidator { > @@ -262,6 +325,18 @@ > } > > /** > + * Returns a {@link ValueValidator} that checks if an object is a string from > + * one of the provided single option Strings or a combination from > + * the provided combination Strings. > + * @param singleValues an array of Strings which are considered valid only by themselves > + * @param comboValues an array of Strings which are considered valid in any combination > + * with themselves > + */ > + public static ValueValidator getMultipleStringValidator(String[] singleValues, String[] comboValues) { > + return new MultipleStringValueValidator(singleValues, comboValues); > + } add getter also for the ManifestAttributeCheckValidator > + > + /** > * @return a {@link ValueValidator} that checks if an object represents a > * valid url > */ > 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 > @@ -43,6 +43,8 @@ > import net.sourceforge.jnlp.ShortcutDesc; > import static net.sourceforge.jnlp.config.PathsAndFiles.*; > import net.sourceforge.jnlp.runtime.JNLPProxySelector; > +import net.sourceforge.jnlp.runtime.ManifestAttributesChecker; > + > import static net.sourceforge.jnlp.runtime.Translator.R; > > /** > @@ -409,8 +411,16 @@ > //enable manifest-attributes checks > { > DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, > - BasicValueValidators.getBooleanValidator(), > - String.valueOf(true) > + BasicValueValidators.getMultipleStringValidator(new String[] { > + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALL.toString(), > + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.NONE.toString() > + }, new String[] { > + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.PERMISSIONS.toString(), > + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString(), > + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.TRUSTED.toString(), > + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALAC.toString() USe the ManifestAttributeCheckValidator > + }), > + String.valueOf("ALL") > } > }; > > diff --git a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > --- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > +++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > @@ -37,7 +37,9 @@ > package net.sourceforge.jnlp.runtime; > > import java.net.URL; > +import java.util.Arrays; > import java.util.HashSet; > +import java.util.List; > import java.util.Set; > > import net.sourceforge.jnlp.ExtensionDesc; > @@ -75,21 +77,45 @@ > this.securityDelegate = securityDelegate; > } > > + public enum MANIFEST_ATTRIBUTES_CHECK { > + ALL, > + NONE, > + PERMISSIONS, > + CODEBASE, > + TRUSTED, > + ALAC Please add also ENTRYPOINT (or I will forget it in next patch) > + } > + > void checkAll() throws LaunchException { > - if (isCheckEnabled()) { > - checkPermissionsAttribute(); > + List attributesCheck = getAttributesCheck(); > + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALL.toString())) { > checkTrustedOnlyAttribute(); > checkCodebaseAttribute(); > checkPermissionsAttribute(); > checkApplicationLibraryAllowableCodebaseAttribute(); > } else { > - OutputController.getLogger().log(OutputController.Level.WARNING_ALL, MANIFEST_CHECK_DISABLED_MESSAGE); > + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.TRUSTED.toString())) { > + checkTrustedOnlyAttribute(); > + } > + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString())) { > + checkCodebaseAttribute(); > + } > + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.PERMISSIONS.toString())) { > + checkPermissionsAttribute(); > + } > + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALAC.toString())) { > + checkApplicationLibraryAllowableCodebaseAttribute(); > + } > + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.NONE.toString())) { > + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, MANIFEST_CHECK_DISABLED_MESSAGE); > + } I would rewrite this hunk a bit: List attributesCheck = getAttributesCheck(); if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALL.toString())) { checkTrustedOnlyAttribute(); checkCodebaseAttribute(); checkPermissionsAttribute(); checkApplicationLibraryAllowableCodebaseAttribute(); } else { if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.TRUSTED.toString())) { checkTrustedOnlyAttribute(); } if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString())) { checkCodebaseAttribute(); } if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.PERMISSIONS.toString())) { checkPermissionsAttribute(); } if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALAC.toString())) { checkApplicationLibraryAllowableCodebaseAttribute(); } if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.NONE.toString())) { OutputController.getLogger().log(OutputController.Level.WARNING_ALL, MANIFEST_CHECK_DISABLED_MESSAGE); } } => List attributesCheck = getAttributesCheck(); *maybe this can be done on enum level rather then on Sting level? if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.TRUSTED) OR attributesCheck.haveOnlyAll) { checkTrustedOnlyAttribute(); } else { OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "check on Trusted-Only skipped because properrty of enable.manifest... have value(s) of: reprint that); if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString())) { checkCodebaseAttribute(); } ... same for rest. What do you think? } > } > } > > - public static boolean isCheckEnabled() { > + public static List getAttributesCheck() { > final String deploymentProperty = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); > - return Boolean.parseBoolean(deploymentProperty); > + String[] attributesCheck = deploymentProperty.split(","); > + return Arrays.asList(attributesCheck); Well, map back to ENUM rather. > } > > /** > diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java > +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java > @@ -65,7 +65,7 @@ > @BeforeClass > public static void setPermissions() { > level = AppletStartupSecuritySettings.getInstance().getSecurityLevel(); > - attCheckValue = ManifestAttributesChecker.isCheckEnabled(); > + attCheckValue = ManifestAttributesChecker.getAttributesCheck(); > JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_LEVEL, AppletSecurityLevel.ALLOW_UNSIGNED.toChars()); > JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, String.valueOf(true)); Are you sure that this is the only change needed here? JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, String.valueOf(attCheckValue)); sounds more fragile... > } Please add one or two simple unittests for new (two!) validators > diff --git a/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java b/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java > --- a/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java > +++ b/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java > @@ -36,6 +36,10 @@ > */ > > import static org.junit.Assert.assertTrue; > + > +import java.io.File; > +import java.io.IOException; > + > import net.sourceforge.jnlp.ProcessResult; > import net.sourceforge.jnlp.annotations.Bug; > import net.sourceforge.jnlp.annotations.NeedsDisplay; > @@ -44,6 +48,9 @@ > import net.sourceforge.jnlp.browsertesting.Browsers; > import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; > > +import net.sourceforge.jnlp.util.FileUtils; > +import org.junit.AfterClass; > +import org.junit.BeforeClass; > import org.junit.Test; > > public class PartiallySignedAppletManifestSpecifiesSandboxTests extends BrowserTest { > @@ -56,6 +63,67 @@ > private static final String STACKTRACE_NOT_GRANT_PERMISSIONS_TYPE = "Cannot grant permissions to unsigned jars"; > private static final String USER_HOME = System.getProperty("user.home"); > > + private static File deployFile; > + private static String attributesCheck; > + private static String securityLevel; > + private static boolean foundAttributesCheck = false; > + private static boolean foundSecurityLevel = false; > + > + @BeforeClass > + public static void setupDeploymentProperties() throws IOException { > + String location = System.getProperty("user.home") + "/.config/icedtea-web/deployment.properties"; NO! use PathsAndFiles!!! > + deployFile = new File(location); > + String properties = FileUtils.loadFileAsString(deployFile); > + String deployProperties = ""; > + Please simplify this: > + for (String line : properties.split("\n")) { > + if (line.contains("deployment.manifest.attributes.check")) { > + attributesCheck = line; > + deployProperties += "deployment.manifest.attributes.check=PERMISSIONS\n"; > + foundAttributesCheck = true; not needed, or not? You can use attributesCheck and null/not null > + } else if (line.contains("deployment.security.level")) { > + securityLevel = line; > + deployProperties += "deployment.security.level=ALLOW_UNSIGNED\n"; > + foundSecurityLevel = true; same here, or not? > + } else { > + deployProperties += line + "\n"; > + } > + } > + > + if (!foundAttributesCheck) { > + deployProperties += "deployment.manifest.attributes.check=PERMISSIONS\n"; > + } > + if (!foundSecurityLevel) { > + deployProperties += "deployment.security.level=ALLOW_UNSIGNED\n"; > + } > + > + FileUtils.saveFile(deployProperties, deployFile); > + } > + > + @AfterClass > + public static void setbackDeploymentProperties() throws IOException { > + String location = System.getProperty("user.home") + "/.config/icedtea-web/deployment.properties"; NO! use PathsAndFiles!!! > + deployFile = new File(location); > + String properties = FileUtils.loadFileAsString(deployFile); > + String deployProperties = ""; > + > + for (String line : properties.split("\n")) { > + if (line.contains("deployment.manifest.attributes.check")) { > + if (foundAttributesCheck) { > + deployProperties += attributesCheck + "\n"; > + } > + } else if (line.contains("deployment.security.level")) { > + if (foundSecurityLevel) { > + deployProperties += securityLevel + "\n"; > + } > + } else { > + deployProperties += line + "\n"; > + } > + } > + > + FileUtils.saveFile(deployProperties, deployFile); > + } > + > @Test > @NeedsDisplay > @TestInBrowsers(testIn={Browsers.one}) > diff --git a/tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java b/tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > --- a/tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > +++ b/tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > @@ -36,6 +36,10 @@ > */ > > import static org.junit.Assert.assertTrue; > + > +import java.io.File; > +import java.io.IOException; > + > import net.sourceforge.jnlp.ProcessResult; > import net.sourceforge.jnlp.annotations.Bug; > import net.sourceforge.jnlp.annotations.NeedsDisplay; > @@ -44,6 +48,9 @@ > import net.sourceforge.jnlp.browsertesting.Browsers; > import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; > > +import net.sourceforge.jnlp.util.FileUtils; > +import org.junit.AfterClass; > +import org.junit.BeforeClass; > import org.junit.Test; > > public class SignedAppletManifestSpecifiesSandboxTests extends BrowserTest { > @@ -56,6 +63,54 @@ > private static final String JNLP_EXPECTED_STDOUT = "Initialization Error"; > private static final String JNLP_EXPECTED_STDERR = "net.sourceforge.jnlp.LaunchException"; > > + private static File deployFile; > + private static String attributesCheck; > + private static boolean foundAttributesCheck = false; > + > + @BeforeClass > + public static void setupDeploymentProperties() throws IOException { > + String location = System.getProperty("user.home") + "/.config/icedtea-web/deployment.properties"; > + deployFile = new File(location); > + String properties = FileUtils.loadFileAsString(deployFile); > + String deployProperties = ""; > + > + for (String line : properties.split("\n")) { > + if (line.contains("deployment.manifest.attributes.check")) { > + attributesCheck = line; > + deployProperties += "deployment.manifest.attributes.check=PERMISSIONS\n"; > + foundAttributesCheck = true; > + } else { > + deployProperties += line + "\n"; > + } > + } > + > + if (!foundAttributesCheck) { > + deployProperties += "deployment.manifest.attributes.check=PERMISSIONS\n"; > + } > + > + FileUtils.saveFile(deployProperties, deployFile); > + } > + > + @AfterClass > + public static void setbackDeploymentProperties() throws IOException { > + String location = System.getProperty("user.home") + "/.config/icedtea-web/deployment.properties"; > + deployFile = new File(location); > + String properties = FileUtils.loadFileAsString(deployFile); > + String deployProperties = ""; > + > + for (String line : properties.split("\n")) { > + if (line.contains("deployment.manifest.attributes.check")) { > + if (foundAttributesCheck) { > + deployProperties += attributesCheck + "\n"; > + } > + } else { > + deployProperties += line + "\n"; > + } > + } > + > + FileUtils.saveFile(deployProperties, deployFile); > + } > + > @Test > @NeedsDisplay > @TestInBrowsers(testIn={Browsers.one}) > Great work! J. From jkang at redhat.com Wed Mar 11 18:07:45 2015 From: jkang at redhat.com (Jie Kang) Date: Wed, 11 Mar 2015 14:07:45 -0400 (EDT) Subject: [rfc][icedtea-web] minor tweeks to gifar reproducer In-Reply-To: <55004BF1.50709@redhat.com> References: <55004BF1.50709@redhat.com> Message-ID: <1411892436.20019514.1426097265477.JavaMail.zimbra@redhat.com> ----- Original Message ----- > hi! > > I was trying to fix gifar falures (there are two, which shows, that > compromised jar cans til be used in classpath) > > And aI failed. It seems that the change is in jdk itself. That it needs > better jar then compromised by gif and better suffix then .gif. Currently > I'm giving up this one, as it means no threat, and will crawl to another > failing reprodcuer. > > Currently those > GifarViaJnlp_applet_ignoreHeaders for 84 > GifarViaJnlp_application_ignoreHeaders for 84 > > are candidates to known to fail, but I would really like to know why. > > As I'm curious what happened, I will return to it. Just minor fixation in > patch. Hello, Tweaks seem fine to me. Regards, > > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From ldracz at redhat.com Wed Mar 11 19:19:51 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Wed, 11 Mar 2015 15:19:51 -0400 (EDT) Subject: [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings In-Reply-To: <1582274885.20062940.1426101125841.JavaMail.zimbra@redhat.com> Message-ID: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> Hello, This patch fixes the issue where the itweb-settings Set would not allow the key and value to be the same value. Such as set blah blah. This was due to the isKey() method using .indexOf() which would always return the index of the first "blah" registering two keys with no values. The fix is to just alternate between the two parts of the if statement. It does this by using null for key and checking when it is null, to assign a key. When a value is assigned and written then the key is assigned back to null. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: FixSetCommandToAllowDuplicates.patch Type: text/x-patch Size: 1218 bytes Desc: not available URL: From jvanek at redhat.com Wed Mar 11 19:39:15 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 11 Mar 2015 20:39:15 +0100 Subject: [rfc][icedtea-web] fixing xdg reprodcuers Message-ID: <550099E3.60100@redhat.com> hey were failing because of three issues - first was affection by [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings - second was missing skip attributes check in faked deployment.properties - third were jars directories in .config/icedtea-web about which transfer from legacy to xdg wa not aware. All fixed on level of tests. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixXDGreproducers.patch Type: text/x-patch Size: 24514 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 11 21:22:45 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 11 Mar 2015 21:22:45 +0000 Subject: [Bug 2099] Thermostat 2.0 code clean-up tracker bug In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2099 Bug 2099 depends on bug 2084, which changed state. Bug 2084 Summary: InputStream resource leak from Storage.saveFile() API http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2084 What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Thu Mar 12 08:41:57 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 12 Mar 2015 08:41:57 +0000 Subject: /hg/gfx-test: 9 new tests added into BitBltUsingBgColor. Message-ID: changeset 3328f34b26b1 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=3328f34b26b1 author: Pavel Tisnovsky date: Thu Mar 12 09:44:00 2015 +0100 9 new tests added into BitBltUsingBgColor. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 153 +++++++++++++++++++++ 2 files changed, 158 insertions(+), 0 deletions(-) diffs (175 lines): diff -r bf1d1b9e2eed -r 3328f34b26b1 ChangeLog --- a/ChangeLog Wed Mar 11 09:26:41 2015 +0100 +++ b/ChangeLog Thu Mar 12 09:44:00 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-12 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + 9 new tests added into BitBltUsingBgColor. + 2015-03-11 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r bf1d1b9e2eed -r 3328f34b26b1 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Wed Mar 11 09:26:41 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Mar 12 09:44:00 2015 +0100 @@ -5590,6 +5590,159 @@ } /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 10:13:16 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 10:13:16 +0000 Subject: [Bug 1894] JRE running Tomcat crashes with SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1894 --- Comment #6 from Christian Schr?der --- We have updated the JRE from the distribution to version 1.7.0_55: java version "1.7.0_55" OpenJDK Runtime Environment (IcedTea 2.4.8) (suse-24.17.1-x86_64) OpenJDK 64-Bit Server VM (build 24.55-b03, mixed mode) Unfortunately, the problem is still present. Our customers are losing confidence in our Java based solution, so it is more than disappointing that this bug is still unresolved. If we can do anything to help you finding the cause of this bug, please tell me. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 11:16:44 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 11:16:44 +0000 Subject: [Bug 1894] JRE running Tomcat crashes with SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1894 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com --- Comment #7 from Andrew Haley --- (In reply to Christian Schr?der from comment #6) > If we can do anything to help you finding the cause of this bug, please tell > me. It's your job to generate a reproducer for the bug. Once you've done that it can be fixed. It looks like memory corruption in he heap, but we won't know where that memory corruption occurred unless we can reproduce the problem. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 12:24:41 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 12:24:41 +0000 Subject: [Bug 1894] JRE running Tomcat crashes with SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1894 --- Comment #8 from Christian Schr?der --- Thanks for your response. Unfortunately, we are unable to reproduce the bug. As I have written in my original posting, the bug occurs about once per day, but we see no direct cause (e.g. some action in a web application). I know that it is quite difficult to fix a bug that cannot be reproduced. My hope was that the stack traces I attached would tell you anything important. We will try to further track down the issue. We plan to deploy the different web applications to separate tomcat instances to see which one might be the culprit. However, I still don't think that we will be able to track this down to the real cause. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 13:30:52 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 13:30:52 +0000 Subject: [Bug 1894] JRE running Tomcat crashes with SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1894 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xerxes at zafena.se --- Comment #9 from Xerxes R?nby --- I have read through your old crash logs using 2.4.4, It appears there is still some issue with the do the crash log look the same now using 2.4.8? Reading the 2.4.4 crash log make the issue you experience look similar to: JVM crash with oopDesc* PSPromotionManager::copy_to_survivor_space https://bugs.openjdk.java.net/browse/JDK-8059010 Also this bug have not been worked on because there is no good reproducer: Having a Short, Self Contained, Correct Example (SSCCE) would be desired that allow the icedtea and openjdk community to reproduce the same bug you experience. Please read http://sscce.org/ how to generate one. 2.4.4 and 2.4.8 are no longer supported by the icedtea project. The lowest supported version of IcedTea 2 is currently 2.5.4 http://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea If you require a longer support window then you need to discuss long term support options with your linux distribution. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Thu Mar 12 13:55:42 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 12 Mar 2015 09:55:42 -0400 (EDT) Subject: [rfc][icedtea-web] include possibleOptions in docs In-Reply-To: <55004F8E.8050001@redhat.com> References: <55004F8E.8050001@redhat.com> Message-ID: <603589310.20496454.1426168542137.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hi! > > Lukas' patch reminded to me that possibleValues slipped from original docs. > > This small patch adds them. Hello, Patch looks good. One nit: + if ( v != null && v.getPossibleValues()!= null && !v.getPossibleValues().trim().isEmpty() ){ + value = value + " ("+Translator.R("IWSpossible")+" "+v.getPossibleValues()+")"; Please fix the spacing in these two lines. Everything else is fine. Regards, > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From jkang at redhat.com Thu Mar 12 14:22:38 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 12 Mar 2015 10:22:38 -0400 (EDT) Subject: [rfc][icedtea-web] fixing xdg reprodcuers In-Reply-To: <550099E3.60100@redhat.com> References: <550099E3.60100@redhat.com> Message-ID: <1152193729.20531333.1426170157995.JavaMail.zimbra@redhat.com> ----- Original Message ----- > hey were failing because of three issues > - first was affection by [rfc][icedtea-web] fix itweb-settings set command > to allow duplicate strings > - second was missing skip attributes check in faked deployment.properties > - third were jars directories in .config/icedtea-web about which transfer > from legacy to xdg wa not aware. > > All fixed on level of tests. Hello, Nice! A few nits below: //intentionaly not using constants from itw to check itw private static final File oldRoot = new File(System.getProperty("user.home"), ".icedtea"); - private static final File realCache; - private static final File realConfig; - private static final File homeCache = new File(System.getProperty("user.home") + File.separator + ".cache" + File.separator + "icedtea-web"); - private static final File homeConfig = new File(System.getProperty("user.home") + File.separator + ".config" + File.separator + "icedtea-web"); + private static final File realCache = new File(PathsAndFiles.USER_CACHE_HOME); + private static final File realConfig = new File (PathsAndFiles.USER_CONFIG_HOME); + private static final File homeCache = new File(realCache, PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); + private static final File homeConfig = new File(realConfig, PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); Are these changes necessary? The comment says it is intentional to not use ITW constants which is sensible to me. + //we need fake security and manifests + File ff = new File(PathsAndFiles.USER_CONFIG_HOME); + try{ Please fix the spacing and indentation here. + fakeExtendedSecurity(ff); ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, removeXdgVAlues()); ProcessResult pr = pw.execute(); Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr.stdout)); Assert.assertTrue(notMoving.toPassingString(), notMoving.evaluate(pr.stdout)); assertMainFilesInHome(true, false, false); assertOldNotMainFilesInHome(true, true, true); + }finally{ Spacing here as well + try { assertNotMainFilesInHome(true, true, true); Please fix the indentation here. - "set", "blah", "blah" + //one impl of new parser was unable to handle duplicates + "set", "blah", "differentBlah" Lukasz has a patch for this I think. I feel like you don't need these changes if the patch goes through. Regards, > > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Thu Mar 12 14:34:53 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Mar 2015 15:34:53 +0100 Subject: [rfc][icedtea-web] fixing xdg reprodcuers In-Reply-To: <1152193729.20531333.1426170157995.JavaMail.zimbra@redhat.com> References: <550099E3.60100@redhat.com> <1152193729.20531333.1426170157995.JavaMail.zimbra@redhat.com> Message-ID: <5501A40D.8000206@redhat.com> On 03/12/2015 03:22 PM, Jie Kang wrote: > > > ----- Original Message ----- >> hey were failing because of three issues >> - first was affection by [rfc][icedtea-web] fix itweb-settings set command >> to allow duplicate strings >> - second was missing skip attributes check in faked deployment.properties >> - third were jars directories in .config/icedtea-web about which transfer >> from legacy to xdg wa not aware. >> >> All fixed on level of tests. > > Hello, > > Nice! > > A few nits below: > > //intentionaly not using constants from itw to check itw > private static final File oldRoot = new File(System.getProperty("user.home"), ".icedtea"); > - private static final File realCache; > - private static final File realConfig; > - private static final File homeCache = new File(System.getProperty("user.home") + File.separator + ".cache" + File.separator + "icedtea-web"); > - private static final File homeConfig = new File(System.getProperty("user.home") + File.separator + ".config" + File.separator + "icedtea-web"); > + private static final File realCache = new File(PathsAndFiles.USER_CACHE_HOME); > + private static final File realConfig = new File (PathsAndFiles.USER_CONFIG_HOME); > + private static final File homeCache = new File(realCache, PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); > + private static final File homeConfig = new File(realConfig, PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); > > Are these changes necessary? The comment says it is intentional to not use ITW constants which is sensible to me. hmm.... Ok. I wil revert. > > + //we need fake security and manifests > + File ff = new File(PathsAndFiles.USER_CONFIG_HOME); > + try{ > > Please fix the spacing and indentation here. > > + fakeExtendedSecurity(ff); > ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, removeXdgVAlues()); > ProcessResult pr = pw.execute(); > Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr.stdout)); > Assert.assertTrue(notMoving.toPassingString(), notMoving.evaluate(pr.stdout)); > assertMainFilesInHome(true, false, false); > assertOldNotMainFilesInHome(true, true, true); > + }finally{ > > Spacing here as well > > + try { > assertNotMainFilesInHome(true, true, true); > > Please fix the indentation here. > > - "set", "blah", "blah" > + //one impl of new parser was unable to handle duplicates > + "set", "blah", "differentBlah" Sure I will fix it. > > Lukasz has a patch for this I think. I feel like you don't need these changes if the patch goes through. hmhm. What seems to be better ? To test this weeknes, or prevent being affected by this weeknes? > > > Regards, > >> Thanx! J. From jkang at redhat.com Thu Mar 12 14:44:39 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 12 Mar 2015 10:44:39 -0400 (EDT) Subject: [rfc][icedtea-web] fixing xdg reprodcuers In-Reply-To: <5501A40D.8000206@redhat.com> References: <550099E3.60100@redhat.com> <1152193729.20531333.1426170157995.JavaMail.zimbra@redhat.com> <5501A40D.8000206@redhat.com> Message-ID: <375625576.20548531.1426171479532.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/12/2015 03:22 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> hey were failing because of three issues > >> - first was affection by [rfc][icedtea-web] fix itweb-settings set > >> command > >> to allow duplicate strings > >> - second was missing skip attributes check in faked > >> deployment.properties > >> - third were jars directories in .config/icedtea-web about which > >> transfer > >> from legacy to xdg wa not aware. > >> > >> All fixed on level of tests. > > > > Hello, > > > > Nice! > > > > A few nits below: > > > > //intentionaly not using constants from itw to check itw > > private static final File oldRoot = new > > File(System.getProperty("user.home"), ".icedtea"); > > - private static final File realCache; > > - private static final File realConfig; > > - private static final File homeCache = new > > File(System.getProperty("user.home") + File.separator + ".cache" + > > File.separator + "icedtea-web"); > > - private static final File homeConfig = new > > File(System.getProperty("user.home") + File.separator + ".config" + > > File.separator + "icedtea-web"); > > + private static final File realCache = new > > File(PathsAndFiles.USER_CACHE_HOME); > > + private static final File realConfig = new File > > (PathsAndFiles.USER_CONFIG_HOME); > > + private static final File homeCache = new File(realCache, > > PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); > > + private static final File homeConfig = new File(realConfig, > > PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); > > > > Are these changes necessary? The comment says it is intentional to not use > > ITW constants which is sensible to me. > > hmm.... Ok. I wil revert. > > > > > + //we need fake security and manifests > > + File ff = new File(PathsAndFiles.USER_CONFIG_HOME); > > + try{ > > > > Please fix the spacing and indentation here. > > > > + fakeExtendedSecurity(ff); > > ProcessWrapper pw = new > > ProcessWrapper(server.getJavawsLocation(), null, > > server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, > > null, removeXdgVAlues()); > > ProcessResult pr = pw.execute(); > > Assert.assertTrue(simpletests1Run.toPassingString(), > > simpletests1Run.evaluate(pr.stdout)); > > Assert.assertTrue(notMoving.toPassingString(), > > notMoving.evaluate(pr.stdout)); > > assertMainFilesInHome(true, false, false); > > assertOldNotMainFilesInHome(true, true, true); > > + }finally{ > > > > Spacing here as well > > > > + try { > > assertNotMainFilesInHome(true, true, true); > > > > Please fix the indentation here. > > > > - "set", "blah", "blah" > > + //one impl of new parser was unable to handle > > duplicates > > + "set", "blah", "differentBlah" > > Sure I will fix it. > > > > Lukasz has a patch for this I think. I feel like you don't need these > > changes if the patch goes through. > > hmhm. What seems to be better ? To test this weeknes, or prevent being > affected by this weeknes? I'd prefer keeping it the same just because the impl should be able to handle duplicates and it'd reduce the changes in the patch. But it's not a big deal so I leave it up to you. Regards, > > > > > > Regards, > > > >> > Thanx! > J. > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jkang at redhat.com Thu Mar 12 15:14:42 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 12 Mar 2015 11:14:42 -0400 (EDT) Subject: [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings In-Reply-To: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> References: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> Message-ID: <10095707.20567478.1426173282342.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hello, > > This patch fixes the issue where the itweb-settings Set would not allow the > key and value to be the same value. > Such as set blah blah. This was due to the isKey() method using .indexOf() > which would always return the index of the first "blah" registering two keys > with no values. The fix is to just alternate between the two parts of the if > statement. It does this by using null for key and checking when it is null, > to assign a key. When a value is assigned and written then the key is > assigned back to null. Hello, Thanks for the fix :) Nits below: - if (isKey(arg)) { + if (key == null) { I think you should still make sure that the argument is actually a key before assigning it. So something like: if (key == null && isKey(arg)) { [...] } Also unit tests for this stuff would be great :D Regards, > > Thank you, > Lukasz Dracz -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Thu Mar 12 15:39:03 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 12 Mar 2015 16:39:03 +0100 Subject: icedteaweb failing to load resource files In-Reply-To: <1507199381.295299.1421278401458.JavaMail.yahoo@jws10795.mail.gq1.yahoo.com> References: <1507199381.295299.1421278401458.JavaMail.yahoo@jws10795.mail.gq1.yahoo.com> Message-ID: <5501B317.3040602@redhat.com> On 01/15/2015 12:33 AM, T J wrote: > In running a javaws application with icedteaweb and openjfx/openjdk, the .css stylesheets in > jfxrt.jar are not loading, causing the windows to be displayed incorrectly. I tracked down the > problem to JNLPClassLoader being created without a parent, causing only the resource files in the > .jnlp file to be found and not those in jre/lib/ext/*.jar. This is due in turn to the > JNLPClassLoader's constructor, which calls super(new URL[], > JNLPClassLoader.class.getClassLoader()). But JNLPClassLoader.class.getClassLoader is ALWAYS > returning null, causing JNLPClassloader to be created with null parent, as per above. > > In the document for Class, it appears that in some implementations if the loader for a class is the > bootloader, getClassLoader will return null; I assume this may be the problem here. I don't see > how this problem has not been noticed before but I can't find anything online about it. > > I would like to know if this has been seen elsewhere and if it is being addressed. > > > Thank you, > > HellO! this had slipped form my radar. Do you have reproducer of this issue which you may share so I can debug? J. From ldracz at redhat.com Thu Mar 12 16:01:15 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Thu, 12 Mar 2015 12:01:15 -0400 (EDT) Subject: [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings In-Reply-To: <10095707.20567478.1426173282342.JavaMail.zimbra@redhat.com> References: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> <10095707.20567478.1426173282342.JavaMail.zimbra@redhat.com> Message-ID: <1790807047.20612845.1426176075661.JavaMail.zimbra@redhat.com> Hello, > > Hello, > > > > This patch fixes the issue where the itweb-settings Set would not allow the > > key and value to be the same value. > > Such as set blah blah. This was due to the isKey() method using .indexOf() > > which would always return the index of the first "blah" registering two > > keys > > with no values. The fix is to just alternate between the two parts of the > > if > > statement. It does this by using null for key and checking when it is null, > > to assign a key. When a value is assigned and written then the key is > > assigned back to null. > > Hello, > > Thanks for the fix :) > > Nits below: > > - if (isKey(arg)) { > + if (key == null) { > > I think you should still make sure that the argument is actually a key before > assigning it. So something like: > > if (key == null && isKey(arg)) { [...] } Hmm, I don't agree with this. Seems redundant to me and I think it would introduce a new bug at least using the current isKey() implementation. The current isKey would look at the args index in order to find out whether it was even or odd in the order to help decide whether it was a key or value. The current for loop has this order from args and so when it runs all we need to do is alternate the first part of the if and the else part which the current patch I sent does with the null. The bug that I believe would result in the case for example: set blah blue blue red 1. blah: key is null and index is 0 so enters Key Assigning Part 2. blue: key is blah and index is 1 of blue so enters Value Assigning Part 3. blue: key is null and index found is 1 of blue so enters Value Assigning Part with key null and value blue Now I suppose I can rewrite isKey to keep track of the last index which I considered in the first place, but since the for loop goes over the terms in the order we want (as isKey and args get the params in the same way) All that is needed is to alternate between the first if and the else part. For me it seems redundant, but perhaps I am looking at this wrong. > > Also unit tests for this stuff would be great :D Yeah unit tests are a good idea and I'm working on it. Thank you, Lukasz Dracz > Regards, > > > > > Thank you, > > Lukasz Dracz > > -- > > Jie Kang > > OpenJDK Team - Software Engineering Intern > From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 16:41:15 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 16:41:15 +0000 Subject: [Bug 1894] JRE running Tomcat crashes with SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1894 --- Comment #10 from Christian Schr?der --- Created attachment 1276 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1276&action=edit Example stack trace on JRE 1.7.0_55 (IcedTea 2.4.8) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 16:45:42 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 16:45:42 +0000 Subject: [Bug 1894] JRE running Tomcat crashes with SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1894 --- Comment #11 from Christian Schr?der --- I have attached a stack trace from one of the recent crashes (using JRE 1.7.0_55 / IcedTea 2.4.8). I will check if we can update to a recent JRE which corresponds to a supported version of IcedTea. Normally, we prefer to stay with the packages available from the distribution, but OpenSUSE seems to lag several versions behind. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 17:02:21 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 17:02:21 +0000 Subject: [Bug 2089] Thermostat 2.0: Throw NoSuchElementException on Cursor.next() and no next elements are available In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2089 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/thermostat?cmd=changeset;node=3011b9be7abf author: Antonio Cesarano date: Thu Mar 12 17:07:19 2015 +0100 PR2089: Throw NoSuchElementException on Cursor.next() and no next elements are available Reviewed-by: jerboaa, neugens Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2015-March/013116.html -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 17:22:13 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 17:22:13 +0000 Subject: [Bug 2089] Thermostat 2.0: Throw NoSuchElementException on Cursor.next() and no next elements are available In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2089 Antonio changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 12 17:22:14 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Mar 2015 17:22:14 +0000 Subject: [Bug 2099] Thermostat 2.0 code clean-up tracker bug In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2099 Bug 2099 depends on bug 2089, which changed state. Bug 2089 Summary: Thermostat 2.0: Throw NoSuchElementException on Cursor.next() and no next elements are available http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2089 What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Thu Mar 12 17:47:38 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 12 Mar 2015 13:47:38 -0400 (EDT) Subject: [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings In-Reply-To: <1790807047.20612845.1426176075661.JavaMail.zimbra@redhat.com> References: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> <10095707.20567478.1426173282342.JavaMail.zimbra@redhat.com> <1790807047.20612845.1426176075661.JavaMail.zimbra@redhat.com> Message-ID: <143454427.20668925.1426182458902.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hello, > > > > Hello, > > > > > > This patch fixes the issue where the itweb-settings Set would not allow > > > the > > > key and value to be the same value. > > > Such as set blah blah. This was due to the isKey() method using > > > .indexOf() > > > which would always return the index of the first "blah" registering two > > > keys > > > with no values. The fix is to just alternate between the two parts of the > > > if > > > statement. It does this by using null for key and checking when it is > > > null, > > > to assign a key. When a value is assigned and written then the key is > > > assigned back to null. > > > > Hello, > > > > Thanks for the fix :) > > > > Nits below: > > > > - if (isKey(arg)) { > > + if (key == null) { > > > > I think you should still make sure that the argument is actually a key > > before > > assigning it. So something like: > > > > if (key == null && isKey(arg)) { [...] } > > Hmm, I don't agree with this. > > Seems redundant to me and I think it would introduce a new bug at least using > the current isKey() implementation. > > The current isKey would look at the args index in order to find out whether > it was even or odd in the order to help > decide whether it was a key or value. The current for loop has this order > from args and so when it runs all we need to do > is alternate the first part of the if and the else part which the current > patch I sent does with the null. > > The bug that I believe would result in the case for example: > > set blah blue blue red > > 1. blah: key is null and index is 0 so enters Key Assigning Part > 2. blue: key is blah and index is 1 of blue so enters Value Assigning Part > 3. blue: key is null and index found is 1 of blue so enters Value Assigning > Part with key null and value blue > > Now I suppose I can rewrite isKey to keep track of the last index which I > considered in the first place, > but since the for loop goes over the terms in the order we want (as isKey and > args get the params in the same way) > All that is needed is to alternate between the first if and the else part. > For me it seems redundant, > but perhaps I am looking at this wrong. Okay. I didn't really look at what isKey() does. I just assumed that only certain inputs were accepted as 'keys' and isKey() would check that. But it looks like you can put anything as a key so that suggestion doesn't make sense. Patch looks fine to me. My one concern that you can optionally address is: It's not very obvious the way it's coded now that you're iterating over the args in key value pairs. Can you maybe restructure it or add comments to make it more clear? Also, what happens on input like: 'set a b c' Does 'c' get ignored? How about 'set a b\ c'? Ie. can users add spaces to their key/value? I think these would be some good test cases. Regards, > > > > > > Also unit tests for this stuff would be great :D > > Yeah unit tests are a good idea and I'm working on it. > > Thank you, > Lukasz Dracz > > > Regards, > > > > > > > > Thank you, > > > Lukasz Dracz > > > > -- > > > > Jie Kang > > > > OpenJDK Team - Software Engineering Intern > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From bugzilla-daemon at icedtea.classpath.org Fri Mar 13 00:36:09 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Mar 2015 00:36:09 +0000 Subject: [Bug 2276] memory mapping application closes In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2276 KUBOTA Yuji changed: What |Removed |Added ---------------------------------------------------------------------------- CC|heapstats at icedtea.classpath |unassigned at icedtea.classpat |.org |h.org Component|Both |IcedTea Version|unspecified |6-1.13.5 Assignee|heapstats at icedtea.classpath |gnu.andrew at redhat.com |.org | Product|HeapStats |IcedTea --- Comment #1 from KUBOTA Yuji --- Hi Bruno, Thanks your report, but your attached hs_err.log shows that your JVM (IcedTea6 1.13.5) *WITHOUT* HeapStats has got SIGSEGV. So I change the information of "Product" to IcedTea. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Fri Mar 13 08:57:22 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 13 Mar 2015 08:57:22 +0000 Subject: /hg/gfx-test: 10 new tests added into BitBltUsingBgColor. Message-ID: changeset a7560fcbbcbc in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a7560fcbbcbc author: Pavel Tisnovsky date: Fri Mar 13 09:59:28 2015 +0100 10 new tests added into BitBltUsingBgColor. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 170 +++++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r 3328f34b26b1 -r a7560fcbbcbc ChangeLog --- a/ChangeLog Thu Mar 12 09:44:00 2015 +0100 +++ b/ChangeLog Fri Mar 13 09:59:28 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-13 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + 10 new tests added into BitBltUsingBgColor. + 2015-03-12 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 3328f34b26b1 -r a7560fcbbcbc src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Mar 12 09:44:00 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Fri Mar 13 09:59:28 2015 +0100 @@ -5743,6 +5743,176 @@ } /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalMagenta gradient buffered image with type {@link BufferedImage#TYPE_CUSTOM}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalMagentaGradientBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From jvanek at icedtea.classpath.org Fri Mar 13 15:22:17 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 13 Mar 2015 15:22:17 +0000 Subject: /hg/icedtea-web: 3 new changesets Message-ID: changeset ef028348584e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=ef028348584e author: Jiri Vanek date: Fri Mar 13 15:58:04 2015 +0100 Minor tweeks to gifar reproducers changeset ca12027fa85b in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=ca12027fa85b author: Jiri Vanek date: Fri Mar 13 16:01:56 2015 +0100 Docs now include possible options for each property * netx/net/sourceforge/jnlp/resources/Messages.properties: added key of IWSpossible * netx/net/sourceforge/jnlp/util/docprovider/ItwebSettingsTextsProvider.java: added hunk adding posibilites behainf each propert changeset b395e5d3050b in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b395e5d3050b author: Jiri Vanek date: Fri Mar 13 16:21:54 2015 +0100 Fixing xdg tests * netx/net/sourceforge/jnlp/config/PathsAndFiles.java: some elements made public - DEPLOYMENT_SUBDIR_DIR and XDG*VAR * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java: fixed issues with permissions attribute dialogue (faked deployment.properties everywhere), fixed issues with same key in set copmmand everywhere, added test for duplicated key in set, fixed issue with remianing icons and generated jnlps diffstat: ChangeLog | 28 + netx/net/sourceforge/jnlp/config/PathsAndFiles.java | 8 +- netx/net/sourceforge/jnlp/resources/Messages.properties | 1 + netx/net/sourceforge/jnlp/util/docprovider/ItwebSettingsTextsProvider.java | 5 + tests/reproducers/signed/GifarBase/resources/gifar_application.jnlp | 3 - tests/reproducers/signed/GifarBase/srcs/GifarMain.java | 2 +- tests/reproducers/signed/GifarBase/testcases/GifarTestcases.java | 5 +- tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java | 246 ++++++--- tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java | 4 +- 9 files changed, 206 insertions(+), 96 deletions(-) diffs (truncated from 676 to 500 lines): diff -r 9caff6cc3aaa -r b395e5d3050b ChangeLog --- a/ChangeLog Tue Mar 10 15:01:29 2015 +0100 +++ b/ChangeLog Fri Mar 13 16:21:54 2015 +0100 @@ -1,3 +1,31 @@ +2015-03-13 Jiri Vanek + + Fixing xdg tests + * netx/net/sourceforge/jnlp/config/PathsAndFiles.java: some elements made + public - DEPLOYMENT_SUBDIR_DIR and XDG*VAR + * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java: + fixed issues with permissions attribute dialogue (faked deployment.properties + everywhere), fixed issues with same key in set copmmand everywhere, added + test for duplicated key in set, fixed issue with remianing icons and generated + jnlps + +2015-03-13 Jiri Vanek + + Docs now include possible options for each property + * netx/net/sourceforge/jnlp/resources/Messages.properties: added key of IWSpossible + * netx/net/sourceforge/jnlp/util/docprovider/ItwebSettingsTextsProvider.java: + added hunk adding posibilites behainf each property + +2015-03-13 Jiri Vanek + + * tests/reproducers/signed/GifarBase/resources/gifar_application.jnlp: removed + dangling element + * tests/reproducers/signed/GifarBase/srcs/GifarMain.java: formating + * tests/reproducers/signed/GifarBase/testcases/GifarTestcases.java: used + constants instead of hardcoded values + * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: same + + 2015-03-10 Jiri Vanek Fixed locale tests diff -r 9caff6cc3aaa -r b395e5d3050b netx/net/sourceforge/jnlp/config/PathsAndFiles.java --- a/netx/net/sourceforge/jnlp/config/PathsAndFiles.java Tue Mar 10 15:01:29 2015 +0100 +++ b/netx/net/sourceforge/jnlp/config/PathsAndFiles.java Fri Mar 13 16:21:54 2015 +0100 @@ -49,7 +49,7 @@ public class PathsAndFiles { - private static final String DEPLOYMENT_SUBDIR_DIR = "icedtea-web"; + public static final String DEPLOYMENT_SUBDIR_DIR = "icedtea-web"; private static final String CONFIG_HOME; private static final String CACHE_HOME; @@ -58,9 +58,9 @@ public static final String USER_CONFIG_HOME; public static final String USER_CACHE_HOME; public static final String USER_SECURITY; - private static final String XDG_CONFIG_HOME_VAR = "XDG_CONFIG_HOME"; - private static final String XDG_CACHE_HOME_VAR = "XDG_CACHE_HOME"; - private static final String XDG_RUNTIME_DIR_VAR = "XDG_RUNTIME_DIR"; + public static final String XDG_CONFIG_HOME_VAR = "XDG_CONFIG_HOME"; + public static final String XDG_CACHE_HOME_VAR = "XDG_CACHE_HOME"; + public static final String XDG_RUNTIME_DIR_VAR = "XDG_RUNTIME_DIR"; private static final String XDG_DATA_HOME = "XDG_DATA_HOME"; private static final String TMP_PROP = "java.io.tmpdir"; private static final String HOME_PROP = "user.home"; diff -r 9caff6cc3aaa -r b395e5d3050b netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 10 15:01:29 2015 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Mar 13 16:21:54 2015 +0100 @@ -1016,6 +1016,7 @@ IWSexampleL3=Known properties IWSexampleL31=(key, value and default value (if different)): IWSexampleL32=(key and default value): +IWSpossible=Possible: # itweb-plugin man (note, spaces (especially the one around markup) are important due to man pages markup). Only bold tag is now recognized by ReplacingTextFormatter. ITWPintro= - allow to run java applets in your favorite browser diff -r 9caff6cc3aaa -r b395e5d3050b netx/net/sourceforge/jnlp/util/docprovider/ItwebSettingsTextsProvider.java --- a/netx/net/sourceforge/jnlp/util/docprovider/ItwebSettingsTextsProvider.java Tue Mar 10 15:01:29 2015 +0100 +++ b/netx/net/sourceforge/jnlp/util/docprovider/ItwebSettingsTextsProvider.java Fri Mar 13 16:21:54 2015 +0100 @@ -48,6 +48,7 @@ import net.sourceforge.jnlp.config.DeploymentConfiguration; import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.config.Setting; +import net.sourceforge.jnlp.config.ValueValidator; import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.docprovider.formatters.formatters.Formatter; @@ -165,6 +166,10 @@ value = fileAcronom; } } + ValueValidator v = entry.getValue().getValidator(); + if (v != null && v.getPossibleValues() != null && !v.getPossibleValues().trim().isEmpty()) { + value = value + " (" + Translator.R("IWSpossible") + " " + v.getPossibleValues() + ")"; + } sb.append(getFormatter().getOption(entry.getKey(), value)); } return sb.toString(); diff -r 9caff6cc3aaa -r b395e5d3050b tests/reproducers/signed/GifarBase/resources/gifar_application.jnlp --- a/tests/reproducers/signed/GifarBase/resources/gifar_application.jnlp Tue Mar 10 15:01:29 2015 +0100 +++ b/tests/reproducers/signed/GifarBase/resources/gifar_application.jnlp Fri Mar 13 16:21:54 2015 +0100 @@ -55,6 +55,3 @@ Gifar.jar - - - diff -r 9caff6cc3aaa -r b395e5d3050b tests/reproducers/signed/GifarBase/srcs/GifarMain.java --- a/tests/reproducers/signed/GifarBase/srcs/GifarMain.java Tue Mar 10 15:01:29 2015 +0100 +++ b/tests/reproducers/signed/GifarBase/srcs/GifarMain.java Fri Mar 13 16:21:54 2015 +0100 @@ -186,7 +186,7 @@ System.out.println("gifar will be destroyed"); } - public static void main(String args[]) { + public static void main(String[] args){ final JFrame f = new JFrame(); f.setLayout(new BorderLayout()); f.setSize(250, 200); diff -r 9caff6cc3aaa -r b395e5d3050b tests/reproducers/signed/GifarBase/testcases/GifarTestcases.java --- a/tests/reproducers/signed/GifarBase/testcases/GifarTestcases.java Tue Mar 10 15:01:29 2015 +0100 +++ b/tests/reproducers/signed/GifarBase/testcases/GifarTestcases.java Fri Mar 13 16:21:54 2015 +0100 @@ -42,6 +42,7 @@ import java.util.List; import javax.imageio.ImageIO; import net.sourceforge.jnlp.ClosingListener; +import net.sourceforge.jnlp.OptionsDefinitions; import net.sourceforge.jnlp.ProcessResult; import net.sourceforge.jnlp.ServerAccess; import net.sourceforge.jnlp.annotations.NeedsDisplay; @@ -57,8 +58,8 @@ public class GifarTestcases extends BrowserTest { - List trustIgnore = Arrays.asList(new String[]{ServerAccess.HEADLES_OPTION, "-Xtrustall", "-Xignoreheaders"}); - List trust = Arrays.asList(new String[]{ServerAccess.HEADLES_OPTION, "-Xtrustall"}); + List trustIgnore = Arrays.asList(new String[]{ServerAccess.HEADLES_OPTION, OptionsDefinitions.OPTIONS.TRUSTALL.option, OptionsDefinitions.OPTIONS.NOHEADERS.option}); + List trust = Arrays.asList(new String[]{ServerAccess.HEADLES_OPTION, OptionsDefinitions.OPTIONS.TRUSTALL.option}); RulesFolowingClosingListener.ContainsRule exceptionRule = new RulesFolowingClosingListener.ContainsRule(InvalidJarHeaderException.class.getName()); RulesFolowingClosingListener.ContainsRule okRule = new RulesFolowingClosingListener.ContainsRule("Image loaded"); RulesFolowingClosingListener.ContainsRule sucideRule = new RulesFolowingClosingListener.ContainsRule("gifar killing himself"); diff -r 9caff6cc3aaa -r b395e5d3050b tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java --- a/tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java Tue Mar 10 15:01:29 2015 +0100 +++ b/tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java Fri Mar 13 16:21:54 2015 +0100 @@ -1,38 +1,38 @@ /* -Copyright (C) 2011 Red Hat, Inc. + Copyright (C) 2011 Red Hat, Inc. -This file is part of IcedTea. + 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 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. + 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. + 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. + 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. + 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; @@ -56,6 +56,7 @@ import net.sourceforge.jnlp.browsertesting.Browsers; import net.sourceforge.jnlp.browsertesting.browsers.firefox.FirefoxProfilesOperator; import net.sourceforge.jnlp.closinglisteners.RulesFolowingClosingListener; +import net.sourceforge.jnlp.config.PathsAndFiles; import org.junit.Assert; import org.junit.After; import org.junit.AfterClass; @@ -66,8 +67,6 @@ @Bug(id = "RH947647") public class XDGspecificationTests extends BrowserTest { - public static final String XDG_CONFIG_HOME = "XDG_CONFIG_HOME"; - public static final String XDG_CACHE_HOME = "XDG_CACHE_HOME"; private static File backupMainDir; private static class Backup { @@ -92,8 +91,8 @@ String configHome = System.getProperty("user.home") + File.separator + ".config"; String cacheHome = System.getProperty("user.home") + File.separator + ".cache"; ; - String XDG_CONFIG_HOME_value = System.getenv(XDG_CONFIG_HOME); - String XDG_CACHE_HOME_value = System.getenv(XDG_CACHE_HOME); + String XDG_CONFIG_HOME_value = System.getenv(PathsAndFiles.XDG_CONFIG_HOME_VAR); + String XDG_CACHE_HOME_value = System.getenv(PathsAndFiles.XDG_CACHE_HOME_VAR); if (XDG_CONFIG_HOME_value != null) { configHome = XDG_CONFIG_HOME_value; } @@ -104,6 +103,23 @@ realCache = new File(cacheHome + File.separator + "icedtea-web"); } + // When current root is backuped, + // also new files, which legacy impl is not aware about + // cold be copied. Remove them in fake root + // if they are not, then firstrun cleanup fails, and so second prints unexpected warnings + public static void removeUnsupportedLegacyFiles() { + File gjp = new File(oldRoot, "generated_jnlps"); + File icons = new File(oldRoot, "icons"); + if (gjp.exists()) { + deleteRecursively(gjp); + } + if (icons.exists()) { + deleteRecursively(icons); + } + Assert.assertFalse(gjp.exists()); + Assert.assertFalse(icons.exists()); + } + @BeforeClass public static void backup() throws IOException { File base = tmpDir(); @@ -151,8 +167,8 @@ cache.mkdirs(); List l = new ArrayList(); mv(oldRoot, base, l); - mv(realCache, config, l); - mv(realConfig, cache, l); + mv(realCache, cache, l); + mv(realConfig, config, l); return l; } @@ -205,7 +221,7 @@ Entry entry = it.next(); String v = entry.getValue(); String s = entry.getKey() + "=" + v; - if (entry.getKey().equals(XDG_CACHE_HOME) || entry.getKey().equals(XDG_CONFIG_HOME)) { + if (entry.getKey().equals(PathsAndFiles.XDG_CACHE_HOME_VAR) || entry.getKey().equals(PathsAndFiles.XDG_CONFIG_HOME_VAR)) { ServerAccess.logOutputReprint("ignoring " + s); c++; } else { @@ -242,12 +258,12 @@ Entry entry = it.next(); String v = entry.getValue(); String s = entry.getKey() + "=" + v; - if (entry.getKey().equals(XDG_CACHE_HOME)) { + if (entry.getKey().equals(PathsAndFiles.XDG_CACHE_HOME_VAR)) { ServerAccess.logOutputReprint(entry.getKey() + " was " + v); v = cacheF.getAbsolutePath(); ServerAccess.logOutputReprint("set " + v); cache = true; - } else if (entry.getKey().equals(XDG_CONFIG_HOME)) { + } else if (entry.getKey().equals(PathsAndFiles.XDG_CONFIG_HOME_VAR)) { ServerAccess.logOutputReprint(entry.getKey() + " was " + v); v = configF.getAbsolutePath(); ServerAccess.logOutputReprint("set " + v); @@ -260,23 +276,23 @@ ServerAccess.logOutputReprint("was no cache"); String v = cacheF.getAbsolutePath(); ServerAccess.logOutputReprint("set " + v); - String s = XDG_CACHE_HOME + "=" + v; + String s = PathsAndFiles.XDG_CACHE_HOME_VAR + "=" + v; l.add(s); } if (!config) { ServerAccess.logOutputReprint("was no config"); String v = configF.getAbsolutePath(); ServerAccess.logOutputReprint("set " + v); - String s = XDG_CONFIG_HOME + "=" + v; + String s = PathsAndFiles.XDG_CONFIG_HOME_VAR + "=" + v; l.add(s); } - return l.toArray(new String[l.size()]); } private static void createFakeOldHomeCache() throws Exception { File tmp = tmpDir(); + fakeExtendedSecurity(new File(tmp, PathsAndFiles.DEPLOYMENT_SUBDIR_DIR)); try { ProcessWrapper pw = new ProcessWrapper( server.getJavawsLocation(), @@ -287,7 +303,7 @@ setXdgVAlues(tmp, tmp)); ProcessResult pr = pw.execute(); Assert.assertTrue(simpletests2Run.toPassingString(), simpletests2Run.evaluate(pr.stderr)); - File currentConfigCache = new File(tmp, "icedtea-web"); + File currentConfigCache = new File(tmp, PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); File oldIcedTea = new File(new File(System.getProperty("user.home")) + File.separator + ".icedtea"); boolean a = currentConfigCache.renameTo(oldIcedTea); Assert.assertTrue("creation of old cache by renaming " + currentConfigCache + " to " + oldIcedTea + " failed", a); @@ -312,19 +328,19 @@ pw1.setVars(setXdgVAlues(tmp, tmp)); ProcessResult pr1 = pw1.execute(); - ProcessWrapper pw2 = new ProcessWrapper(); pw2.setArgs(Arrays.asList( new String[]{ new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), - "set", "oldBaf", "oldBaf" + //one impl of new parser was unable to handle duplicates + "set", "oldBaf", "differentOldBaf" })); pw2.setVars(setXdgVAlues(tmp, tmp)); ProcessResult pr2 = pw2.execute(); Assert.assertTrue(notMoving.toPassingString(), notMoving.evaluate(pr1.stdout)); Assert.assertTrue(notMoving.toPassingString(), notMoving.evaluate(pr2.stdout)); Assert.assertTrue(unknownProperty.toPassingString(), unknownProperty.evaluate(pr2.stdout)); - File currentConfigCache = new File(tmp, "icedtea-web"); + File currentConfigCache = new File(tmp, PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); File oldIcedTea = new File(new File(System.getProperty("user.home")) + File.separator + ".icedtea"); boolean a = currentConfigCache.renameTo(oldIcedTea); Assert.assertTrue("creation of old config by renaming " + currentConfigCache + " to " + oldIcedTea + " failed", a); @@ -445,32 +461,32 @@ } private static void assertMainFilesInHome(boolean s1, boolean s2, boolean a1) { - String configHome = System.getProperty("user.home") + File.separator + ".config" + File.separator + "icedtea-web"; - String cacheHome = System.getProperty("user.home") + File.separator + ".cache" + File.separator + "icedtea-web"; + String configHome = System.getProperty("user.home") + File.separator + ".config" + File.separator + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR; + String cacheHome = System.getProperty("user.home") + File.separator + ".cache" + File.separator + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR; assertMainFiles( listToString(getContentOfDirectory(new File(configHome))) + "\n" + listToString(getContentOfDirectory(new File(cacheHome))), s1, s2, a1); } private static void assertConfigFilesInHome(boolean certs, boolean trust, boolean props) { - String configHome = System.getProperty("user.home") + File.separator + ".config" + File.separator + "icedtea-web"; - String cacheHome = System.getProperty("user.home") + File.separator + ".cache" + File.separator + "icedtea-web"; + String configHome = System.getProperty("user.home") + File.separator + ".config" + File.separator + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR; + String cacheHome = System.getProperty("user.home") + File.separator + ".cache" + File.separator + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR; assertConfigFiles( listToString(getContentOfDirectory(new File(configHome))) + "\n" + listToString(getContentOfDirectory(new File(cacheHome))), certs, trust, props); } private static void assertNotMainFilesInHome(boolean s1, boolean s2, boolean a1) { - String configHome = System.getProperty("user.home") + File.separator + ".config" + File.separator + "icedtea-web"; - String cacheHome = System.getProperty("user.home") + File.separator + ".cache" + File.separator + "icedtea-web"; + String configHome = System.getProperty("user.home") + File.separator + ".config" + File.separator + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR; + String cacheHome = System.getProperty("user.home") + File.separator + ".cache" + File.separator + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR; assertNotMainFiles( listToString(getContentOfDirectory(new File(configHome))) + "\n" + listToString(getContentOfDirectory(new File(cacheHome))), s1, s2, a1); } private static void assertNotConfigFilesInHome(boolean certs, boolean trust, boolean props) { - String configHome = System.getProperty("user.home") + File.separator + ".config" + File.separator + "icedtea-web"; - String cacheHome = System.getProperty("user.home") + File.separator + ".cache" + File.separator + "icedtea-web"; + String configHome = System.getProperty("user.home") + File.separator + ".config" + File.separator + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR; + String cacheHome = System.getProperty("user.home") + File.separator + ".cache" + File.separator + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR; assertNotConfigFiles( listToString(getContentOfDirectory(new File(configHome))) + "\n" + listToString(getContentOfDirectory(new File(cacheHome))), certs, trust, props); @@ -508,12 +524,19 @@ public void runJavawsInCleanSystemWithNoXdg() throws Exception { assertNotMainFilesInHome(true, true, true); assertOldNotMainFilesInHome(true, true, true); - ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, removeXdgVAlues()); - ProcessResult pr = pw.execute(); - Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr.stdout)); - Assert.assertTrue(notMoving.toPassingString(), notMoving.evaluate(pr.stdout)); - assertMainFilesInHome(true, false, false); - assertOldNotMainFilesInHome(true, true, true); + //we need fake security and manifests + File ff = new File(PathsAndFiles.USER_CONFIG_HOME); + try { + fakeExtendedSecurity(ff); + ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, removeXdgVAlues()); + ProcessResult pr = pw.execute(); + Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr.stdout)); + Assert.assertTrue(notMoving.toPassingString(), notMoving.evaluate(pr.stdout)); + assertMainFilesInHome(true, false, false); + assertOldNotMainFilesInHome(true, true, true); + } finally { + deleteRecursively(ff); + } } @Test @@ -522,6 +545,9 @@ try { assertNotMainFiles(listToString(getContentOfDirectory(f)), true, true, true); assertOldNotMainFilesInHome(true, true, true); + //we need fake security and manifests + File ff = new File(f, "customConfig/" + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); + fakeExtendedSecurity(ff); ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, setXdgVAlues(f)); ProcessResult pr = pw.execute(); Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr.stdout)); @@ -540,6 +566,9 @@ assertNotMainFiles(listToString(getContentOfDirectory(f)), true, true, true); assertOldNotMainFilesInHome(true, true, true); f.delete(); + //we need fake security and manifests + File ff = new File(f, "customConfig/" + PathsAndFiles.DEPLOYMENT_SUBDIR_DIR); + fakeExtendedSecurity(ff); ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, setXdgVAlues(f)); ProcessResult pr = pw.execute(); Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr.stdout)); @@ -640,38 +669,46 @@ */ @Test public void runJavawsWithNoXdg_oldIcedTeaConfigExisted() throws Exception { - assertNotMainFilesInHome(true, true, true); - assertOldNotMainFilesInHome(true, true, true); - createFakeOldHomeCache(); - ProcessWrapper pw1 = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, removeXdgVAlues()); - ProcessResult pr1 = pw1.execute(); - Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr1.stdout)); - Assert.assertTrue(moving.toPassingString(), moving.evaluate(pr1.stdout)); - assertMainFilesInHome(true, true, false); - assertOldNotMainFilesInHome(true, true, true); - - ProcessWrapper pw2 = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, removeXdgVAlues()); - ProcessResult pr2 = pw2.execute(); - Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr2.stdout)); - Assert.assertTrue(notMoving.toPassingString(), notMoving.evaluate(pr2.stdout)); - assertMainFilesInHome(true, true, false); - assertOldNotMainFilesInHome(true, true, true); - + File ff = new File(PathsAndFiles.USER_CONFIG_HOME); + try { + assertNotMainFilesInHome(true, true, true); + assertOldNotMainFilesInHome(true, true, true); + createFakeOldHomeCache(); + removeUnsupportedLegacyFiles(); + ProcessWrapper pw1 = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, removeXdgVAlues()); + ProcessResult pr1 = pw1.execute(); + Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr1.stdout)); + Assert.assertTrue(moving.toPassingString(), moving.evaluate(pr1.stdout)); + assertMainFilesInHome(true, true, false); + assertOldNotMainFilesInHome(true, true, true); + fakeExtendedSecurity(ff); + ProcessWrapper pw2 = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, removeXdgVAlues()); + ProcessResult pr2 = pw2.execute(); + Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr2.stdout)); + Assert.assertTrue(notMoving.toPassingString(), notMoving.evaluate(pr2.stdout)); + assertMainFilesInHome(true, true, false); + assertOldNotMainFilesInHome(true, true, true); + } finally { + deleteRecursively(ff); + } } @Test public void runJavawsWithXdg_oldIcedTeaConfigExisted() throws Exception { File f = tmpDir(); + File ff = new File(PathsAndFiles.USER_CONFIG_HOME); try { assertNotMainFiles(listToString(getContentOfDirectory(f)), true, true, true); assertOldNotMainFilesInHome(true, true, true); createFakeOldHomeCache(); + removeUnsupportedLegacyFiles(); ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), null, server.getUrl("simpletest1.jnlp"), (ContentReaderListener) null, null, setXdgVAlues(f)); ProcessResult pr = pw.execute(); Assert.assertTrue(simpletests1Run.toPassingString(), simpletests1Run.evaluate(pr.stdout)); Assert.assertTrue(moving.toPassingString(), moving.evaluate(pr.stdout)); assertMainFiles(listToString(getContentOfDirectory(f)), true, true, false); assertOldNotMainFilesInHome(true, true, true); From ldracz at redhat.com Fri Mar 13 15:52:18 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Fri, 13 Mar 2015 11:52:18 -0400 (EDT) Subject: [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings In-Reply-To: <143454427.20668925.1426182458902.JavaMail.zimbra@redhat.com> References: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> <10095707.20567478.1426173282342.JavaMail.zimbra@redhat.com> <1790807047.20612845.1426176075661.JavaMail.zimbra@redhat.com> <143454427.20668925.1426182458902.JavaMail.zimbra@redhat.com> Message-ID: <1648924221.21162013.1426261938670.JavaMail.zimbra@redhat.com> Hello, > > Hello, > > > > > > Hello, > > > > > > > > This patch fixes the issue where the itweb-settings Set would not allow > > > > the > > > > key and value to be the same value. > > > > Such as set blah blah. This was due to the isKey() method using > > > > .indexOf() > > > > which would always return the index of the first "blah" registering two > > > > keys > > > > with no values. The fix is to just alternate between the two parts of > > > > the > > > > if > > > > statement. It does this by using null for key and checking when it is > > > > null, > > > > to assign a key. When a value is assigned and written then the key is > > > > assigned back to null. > > > > > > Hello, > > > > > > Thanks for the fix :) > > > > > > Nits below: > > > > > > - if (isKey(arg)) { > > > + if (key == null) { > > > > > > I think you should still make sure that the argument is actually a key > > > before > > > assigning it. So something like: > > > > > > if (key == null && isKey(arg)) { [...] } > > > > Hmm, I don't agree with this. > > > > Seems redundant to me and I think it would introduce a new bug at least > > using > > the current isKey() implementation. > > > > The current isKey would look at the args index in order to find out whether > > it was even or odd in the order to help > > decide whether it was a key or value. The current for loop has this order > > from args and so when it runs all we need to do > > is alternate the first part of the if and the else part which the current > > patch I sent does with the null. > > > > The bug that I believe would result in the case for example: > > > > set blah blue blue red > > > > 1. blah: key is null and index is 0 so enters Key Assigning Part > > 2. blue: key is blah and index is 1 of blue so enters Value Assigning Part > > 3. blue: key is null and index found is 1 of blue so enters Value Assigning > > Part with key null and value blue > > > > Now I suppose I can rewrite isKey to keep track of the last index which I > > considered in the first place, > > but since the for loop goes over the terms in the order we want (as isKey > > and > > args get the params in the same way) > > All that is needed is to alternate between the first if and the else part. > > For me it seems redundant, > > but perhaps I am looking at this wrong. > > > Okay. I didn't really look at what isKey() does. I just assumed that only > certain inputs were accepted as 'keys' and isKey() would check that. But it > looks like you can put anything as a key so that suggestion doesn't make > sense. > > > > Patch looks fine to me. My one concern that you can optionally address is: > It's not very obvious the way it's coded now that you're iterating over the > args in key value pairs. Can you maybe restructure it or add comments to > make it more clear? Yeah, I have rewritten it with a boolean, hopefully this is much clearer. > Also, what happens on input like: > > 'set a b c' > > Does 'c' get ignored? The OptionParser throws an UnevenParameterException (Added test) > How about 'set a b\ c'? Ie. can users add spaces to their key/value? I think > these would be some good test cases. Hmm, I am having issues writing a test in this case, since adding "\ " is an illegal escape character in java it seems, and adding a space in the String[] of args, I can't seem to simulate it "a", "b ", "c" throws UnevenParameterException and "a", "b", " c", "d" results in "a=b" and " c=d" in the deployment properties files. >From testing of itweb-settings it becomes 'a=b c'. I have attached a patch that adds unit tests for the set command in CommandLine. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: fixSetCommandDuplicateTests.patch Type: text/x-patch Size: 8976 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Fri Mar 13 15:55:10 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Mar 2015 15:55:10 +0000 Subject: [Bug 2276] memory mapping application closes In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2276 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal --- Comment #2 from Andrew John Hughes --- Bruno, We need to know how to reproduce this crash to take things further. Thanks. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Fri Mar 13 17:48:42 2015 From: jkang at redhat.com (Jie Kang) Date: Fri, 13 Mar 2015 13:48:42 -0400 (EDT) Subject: [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings In-Reply-To: <1648924221.21162013.1426261938670.JavaMail.zimbra@redhat.com> References: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> <10095707.20567478.1426173282342.JavaMail.zimbra@redhat.com> <1790807047.20612845.1426176075661.JavaMail.zimbra@redhat.com> <143454427.20668925.1426182458902.JavaMail.zimbra@redhat.com> <1648924221.21162013.1426261938670.JavaMail.zimbra@redhat.com> Message-ID: <1037959255.21226902.1426268922224.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hello, > > > > > Hello, > > > > > > > > Hello, > > > > > > > > > > This patch fixes the issue where the itweb-settings Set would not > > > > > allow > > > > > the > > > > > key and value to be the same value. > > > > > Such as set blah blah. This was due to the isKey() method using > > > > > .indexOf() > > > > > which would always return the index of the first "blah" registering > > > > > two > > > > > keys > > > > > with no values. The fix is to just alternate between the two parts of > > > > > the > > > > > if > > > > > statement. It does this by using null for key and checking when it is > > > > > null, > > > > > to assign a key. When a value is assigned and written then the key is > > > > > assigned back to null. > > > > > > > > Hello, > > > > > > > > Thanks for the fix :) > > > > > > > > Nits below: > > > > > > > > - if (isKey(arg)) { > > > > + if (key == null) { > > > > > > > > I think you should still make sure that the argument is actually a key > > > > before > > > > assigning it. So something like: > > > > > > > > if (key == null && isKey(arg)) { [...] } > > > > > > Hmm, I don't agree with this. > > > > > > Seems redundant to me and I think it would introduce a new bug at least > > > using > > > the current isKey() implementation. > > > > > > The current isKey would look at the args index in order to find out > > > whether > > > it was even or odd in the order to help > > > decide whether it was a key or value. The current for loop has this order > > > from args and so when it runs all we need to do > > > is alternate the first part of the if and the else part which the current > > > patch I sent does with the null. > > > > > > The bug that I believe would result in the case for example: > > > > > > set blah blue blue red > > > > > > 1. blah: key is null and index is 0 so enters Key Assigning Part > > > 2. blue: key is blah and index is 1 of blue so enters Value Assigning > > > Part > > > 3. blue: key is null and index found is 1 of blue so enters Value > > > Assigning > > > Part with key null and value blue > > > > > > Now I suppose I can rewrite isKey to keep track of the last index which I > > > considered in the first place, > > > but since the for loop goes over the terms in the order we want (as isKey > > > and > > > args get the params in the same way) > > > All that is needed is to alternate between the first if and the else > > > part. > > > For me it seems redundant, > > > but perhaps I am looking at this wrong. > > > > > > Okay. I didn't really look at what isKey() does. I just assumed that only > > certain inputs were accepted as 'keys' and isKey() would check that. But it > > looks like you can put anything as a key so that suggestion doesn't make > > sense. > > > > > > > > Patch looks fine to me. My one concern that you can optionally address is: > > It's not very obvious the way it's coded now that you're iterating over the > > args in key value pairs. Can you maybe restructure it or add comments to > > make it more clear? > > Yeah, I have rewritten it with a boolean, hopefully this is much clearer. > > > Also, what happens on input like: > > > > 'set a b c' > > > > Does 'c' get ignored? > > The OptionParser throws an UnevenParameterException (Added test) > > > How about 'set a b\ c'? Ie. can users add spaces to their key/value? I > > think > > these would be some good test cases. > > Hmm, I am having issues writing a test in this case, since adding "\ " is an > illegal escape > character in java it seems, and adding a space in the String[] of args, I > can't seem to simulate it I think you can do a test with: + String[] args = { + "set", "key", "value1 value2" to simulate. Rest of the patch seems good to me :) Regards, > "a", "b ", "c" throws UnevenParameterException and "a", "b", " c", "d" > results in "a=b" and " c=d" in > the deployment properties files. > > From testing of itweb-settings it becomes 'a=b c'. > > I have attached a patch that adds unit tests for the set command in > CommandLine. > > Thank you, > Lukasz Dracz > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From ldracz at redhat.com Fri Mar 13 18:55:45 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Fri, 13 Mar 2015 14:55:45 -0400 (EDT) Subject: [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings In-Reply-To: <1037959255.21226902.1426268922224.JavaMail.zimbra@redhat.com> References: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> <10095707.20567478.1426173282342.JavaMail.zimbra@redhat.com> <1790807047.20612845.1426176075661.JavaMail.zimbra@redhat.com> <143454427.20668925.1426182458902.JavaMail.zimbra@redhat.com> <1648924221.21162013.1426261938670.JavaMail.zimbra@redhat.com> <1037959255.21226902.1426268922224.JavaMail.zimbra@redhat.com> Message-ID: <895853664.21268751.1426272945258.JavaMail.zimbra@redhat.com> Hello, > > Hello, > > > > > > > > Hello, > > > > > > > > > > Hello, > > > > > > > > > > > > This patch fixes the issue where the itweb-settings Set would not > > > > > > allow > > > > > > the > > > > > > key and value to be the same value. > > > > > > Such as set blah blah. This was due to the isKey() method using > > > > > > .indexOf() > > > > > > which would always return the index of the first "blah" registering > > > > > > two > > > > > > keys > > > > > > with no values. The fix is to just alternate between the two parts > > > > > > of > > > > > > the > > > > > > if > > > > > > statement. It does this by using null for key and checking when it > > > > > > is > > > > > > null, > > > > > > to assign a key. When a value is assigned and written then the key > > > > > > is > > > > > > assigned back to null. > > > > > > > > > > Hello, > > > > > > > > > > Thanks for the fix :) > > > > > > > > > > Nits below: > > > > > > > > > > - if (isKey(arg)) { > > > > > + if (key == null) { > > > > > > > > > > I think you should still make sure that the argument is actually a > > > > > key > > > > > before > > > > > assigning it. So something like: > > > > > > > > > > if (key == null && isKey(arg)) { [...] } > > > > > > > > Hmm, I don't agree with this. > > > > > > > > Seems redundant to me and I think it would introduce a new bug at least > > > > using > > > > the current isKey() implementation. > > > > > > > > The current isKey would look at the args index in order to find out > > > > whether > > > > it was even or odd in the order to help > > > > decide whether it was a key or value. The current for loop has this > > > > order > > > > from args and so when it runs all we need to do > > > > is alternate the first part of the if and the else part which the > > > > current > > > > patch I sent does with the null. > > > > > > > > The bug that I believe would result in the case for example: > > > > > > > > set blah blue blue red > > > > > > > > 1. blah: key is null and index is 0 so enters Key Assigning Part > > > > 2. blue: key is blah and index is 1 of blue so enters Value Assigning > > > > Part > > > > 3. blue: key is null and index found is 1 of blue so enters Value > > > > Assigning > > > > Part with key null and value blue > > > > > > > > Now I suppose I can rewrite isKey to keep track of the last index which > > > > I > > > > considered in the first place, > > > > but since the for loop goes over the terms in the order we want (as > > > > isKey > > > > and > > > > args get the params in the same way) > > > > All that is needed is to alternate between the first if and the else > > > > part. > > > > For me it seems redundant, > > > > but perhaps I am looking at this wrong. > > > > > > > > > Okay. I didn't really look at what isKey() does. I just assumed that only > > > certain inputs were accepted as 'keys' and isKey() would check that. But > > > it > > > looks like you can put anything as a key so that suggestion doesn't make > > > sense. > > > > > > > > > > > > Patch looks fine to me. My one concern that you can optionally address > > > is: > > > It's not very obvious the way it's coded now that you're iterating over > > > the > > > args in key value pairs. Can you maybe restructure it or add comments to > > > make it more clear? > > > > Yeah, I have rewritten it with a boolean, hopefully this is much clearer. > > > > > Also, what happens on input like: > > > > > > 'set a b c' > > > > > > Does 'c' get ignored? > > > > The OptionParser throws an UnevenParameterException (Added test) > > > > > How about 'set a b\ c'? Ie. can users add spaces to their key/value? I > > > think > > > these would be some good test cases. > > > > Hmm, I am having issues writing a test in this case, since adding "\ " is > > an > > illegal escape > > character in java it seems, and adding a space in the String[] of args, I > > can't seem to simulate it > > I think you can do a test with: > > + String[] args = { > + "set", "key", "value1 value2" > > to simulate. Ah okay, thanks ! Added two tests one with space between values and one with space between keys. Patch is attached. > > Rest of the patch seems good to me :) > Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: fixSetCommandDuplicateTests-2.patch Type: text/x-patch Size: 10616 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Sat Mar 14 05:25:18 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Mar 2015 05:25:18 +0000 Subject: [Bug 2278] New: could not initialize applet sandbox Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2278 Bug ID: 2278 Summary: could not initialize applet sandbox Product: IcedTea-Web Version: 1.5 Hardware: 64-bit OS: Linux Status: NEW Severity: major Priority: P5 Component: Plugin Assignee: jvanek at redhat.com Reporter: tim.esterman at gmail.com CC: unassigned at icedtea.classpath.org IcedTea-Web Plugin version: 1.5.2 (1.5.2-1ubuntu2~14.10) Sat Mar 14 18:09:38 NZDT 2015 net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click "more information button". at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:739) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:668) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:901) Caused by: net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option. at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:216) at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:81) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:288) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:704) ... 2 more Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized. at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2385) at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:213) ... 8 more Chain: 1) at Sat Mar 14 18:09:33 NZDT 2015 net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized. at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2385) at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:213) at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:81) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:288) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:704) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:668) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:901) 2) at Sat Mar 14 18:09:33 NZDT 2015 net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option. at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:216) at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:81) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:288) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:704) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:668) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:901) Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized. at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2385) at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:213) ... 8 more 3) at Sat Mar 14 18:09:33 NZDT 2015 net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click "more information button". at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:739) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:668) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:901) Caused by: net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option. at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:216) at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:81) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:288) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:704) ... 2 more Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized. at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2385) at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:213) ... 8 more -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Mar 14 06:46:57 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Mar 2015 06:46:57 +0000 Subject: [Bug 2278] could not initialize applet sandbox In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2278 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 |P3 Status|NEW |ASSIGNED Severity|major |normal --- Comment #1 from JiriVanek --- hello. this i? known issue. should be fixed in head(1.6pre). if you may verify it on your case, it would be appritiated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Sat Mar 14 18:34:08 2015 From: aazores at redhat.com (Andrew Azores) Date: Sat, 14 Mar 2015 14:34:08 -0400 (EDT) Subject: [rfc][icedtea-web] String comparison bug in PolicyEditor In-Reply-To: <2060507211.29979541.1426357847614.JavaMail.zimbra@redhat.com> Message-ID: <188670411.29979591.1426358048846.JavaMail.zimbra@redhat.com> Hi, I'm finally returning to working on the parser patch for PolicyEditor and I just spotted this little bug. Not much to say about it :) Thanks, Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: string-comparison.patch Type: text/x-patch Size: 767 bytes Desc: not available URL: From aazores at redhat.com Sat Mar 14 20:19:59 2015 From: aazores at redhat.com (Andrew Azores) Date: Sat, 14 Mar 2015 16:19:59 -0400 (EDT) Subject: [rfc][icedtea-web] PolicyEditor gains a real parser In-Reply-To: <54D4B0A9.8060201@redhat.com> References: <549DB266.8050304@redhat.com> <634432449.2830218.1420493276156.JavaMail.zimbra@redhat.com> <54B808F3.4080500@redhat.com> <54CA182A.4030408@redhat.com> <54CAF9C8.7000001@redhat.com> <54D4B0A9.8060201@redhat.com> Message-ID: <1712719406.29985249.1426364399798.JavaMail.zimbra@redhat.com> Hi, Attached is an updated version of this patch, which makes the editor GUI display the actual PolicyIdentifiers, rather than just codebases. Nothing else has changed since the previous version (other than also updating the patch to apply cleanly on current HEAD), but I think that this patch is in a pretty good state right now, and I'd like to push it and continue working on it in further, smaller changesets. My next goals are to adapt the UI to allow modification of the signedBy and principals for each identifier, and then to introduce an "Advanced View" toggle of some sort which will toggle between the existing codebase-oriented simplified UI, and the full UI which I just outlined. After that, I will look at refactoring it all to use a single class as the point of contact with the sun classes, as I've already discovered earlier today that this changeset no longer builds with the latest JDK 8. Thanks, Andrew ----- Original Message ----- > On 01/30/2015 04:26 AM, Andrew Azores wrote: > > Hi, > > > > On 01/29/2015 06:23 AM, Jiri Vanek wrote: > >> I was not reading whole thread (lazyyY!) > >> > >> So maybe those were already answered: > >> > >> Why OPTIONS.CODEBASE disapeared??? I can not see its replacement. > > > > Before this patch, PolicyEditor's internal model assumes that codebases can > > be used as unique > > identifiers of sorts - each entry in a policy file always has exactly zero > > or one codebases, and > > does not have principals, or signedby. With this patch, the internal model > > becomes full-featured, > > like upstream policytool's, and PolicyEditor can actually handle policy > > entries with any combination > > of codebase/signedby/principal, just like policytool. The PolicyEditor GUI > > just doesn't have a way > > to display them (yet). So a -codebase selector is no longer guaranteed to > > return exactly one (or > > none) result, and I don't know what the expected behaviour would be if > > there were multiple matches > > in the policy file, especially when some of them may be "hidden". > > I think you should preserve this opinion. Maybe to change it from codebase to > keyword or whatever. > Or jsut keep codebase and specify tat it can accept any keyword. > > Now - why keyword - it will be used to match something in polici editor, or > to ad "header" of new > entry. Basic usecase - exactly the same as as you do with codebase param now. > > What do you think? > > >> > >> Also the patch do not apply the - FILE("-file", "policy_file", > >> "PBOFile"), and CODEBASE("-codebase", "url", "PBOCodebase"); definitions > >> changed. > > > > Yes, I'll make that change this weekend I hope. > > > >> > >> The code itself is pretty god - especially via using the > >> import sun.security.provider.PolicyParser; > >> > >> *however* > >> > >> http://mail.openjdk.java.net/pipermail/awt-dev/2014-June/008072.html > >> "In JDK-9 we would have modules and you will not be able to use the > >> sun.* packages at all, so this changeset is useless for JDK9. " > >> > >> Makes me worrying about this approach. Especially also because of > >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-October/029989.html > >> > >> > >> So if we are going to use it, it sholdbe changed to public api. So you > >> should have some adapter, which will allow simply switch between old and > >> new api. And ofcourse, somebody have to negotiate it with upstream.. oh > >> dear.... > > > > Yea, this sounds problematic. I have no idea how to move forward with this > > kind of forward > > compatibility in mind, honestly. > > The only thing I have in mind is yu, creating only one class using sun* > > The rest of your work will use this one class. Right now, in this class will > be regular calls to > regular methods, but if they will disapear for us, those calls will be > chnaged to reflection calls > or something like that. What do you think? > > > >> > >> Also, I.m aware of > >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-November/030101.html > >> thread. It died without push. Or am I wrong? > >> > > > > Not wrong, it did die without push, but only because it was around that > > time that I discovered these > > sun parser bits, and found out that the PolicyIdentifier I was making there > > could be easily adapted > > and made much more useful by doing some rewrites and using the sun stuff, > > and then this whole patch > > happened. So really, that old patch just became this one :) > > cool. Thanx! > > > >> > >> > >> > >> To code: > >> > >> > >> Why DisplayablePermission isnt regualr class? > > > > You mean why is it an inner static class rather than its own top level? > > Mostly just because the only > > context I intend it to be used it is within the Custom Policy Viewer. Its > > only reason to exist is > > because the Sun PolicyParser.PermissionEntry doesn't implement toString > > nicely, really, but I need > > the CustomPolicyViewer to be able to display its permissions, obviously. It > > seemed nicer to subclass > > the class I actually wanted to use (PermissionEntry) and have this > > implement toString than to make > > all my CustomPolicyViewer Swing stuff use custom adapters to render the > > collection of permission > > entries. > > wth.. oook... > > > > >> > >> the > >> > >> + /** > >> + * PolicyEditor is only designed to deal with grant entries with a > >> single codeBase - > >> + * no signedBy and no principals. Any "identifiers" attached to > >> grant entries which > >> + * do not strictly match this will be ignored and not displayed in > >> the UI. > >> + */ > >> + static boolean isCodeBaseIdentifier(final PolicyIdentifier > >> identifier) { > >> + return (identifier.getSignedBy() == null || > >> identifier.getSignedBy().isEmpty()) > >> + && (identifier.getPrincipals() == null || > >> identifier.getPrincipals().isEmpty()) > >> + && identifier.getCodebase() != null; > >> > >> > >> MEans, that all other policies will be unvisible, but not lost. > >> > >> What about showing them at least read only? Aka as plain text or > >> something like it... It wouldbe suspicious if they are "just not there" > >> > >> > > > > Yes, I've been intending to work on this somehow but have not yet had time. > > Do you have any > > suggestions on how to display them read-only? I was thinking maybe > > (temporarily, until somebody > > makes the PolicyEditor GUI properly handle the full permission entry > > feature set) just have another > > Only you can do this :)) > > child window like the CustomPolicyViewer... or maybe just have them > > displayed in the > > CustomPolicyViewer itself, honestly. What do you think? > > > Right now, I think the read only policies canbe grayed in list, and when > clicked, then all our > checkboxes disapear, and read only textarea can occure with > selectedPolicy.toString() > > > hmm? Well stupid, but better then being silent about them and informative > enough as temporary solution. > > > >> > >> Why > >> +public enum PolicyEditorPermissions implements Serializable { > snip... > > > rest is clear. Thank you! > > > J. > > -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-real-parser-3.patch Type: text/x-patch Size: 188315 bytes Desc: not available URL: From jkang at redhat.com Mon Mar 16 12:34:19 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 16 Mar 2015 08:34:19 -0400 (EDT) Subject: [rfc][icedtea-web] String comparison bug in PolicyEditor In-Reply-To: <188670411.29979591.1426358048846.JavaMail.zimbra@redhat.com> References: <188670411.29979591.1426358048846.JavaMail.zimbra@redhat.com> Message-ID: <1977140068.21664503.1426509259253.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hi, > > I'm finally returning to working on the parser patch for PolicyEditor and I > just spotted this little bug. Not much to say about it :) > Patch looks fine to me. +1 Regards, > Thanks, > > Andrew A > > -- Jie Kang OpenJDK Team - Software Engineering Intern From bugzilla-daemon at icedtea.classpath.org Mon Mar 16 12:37:54 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 16 Mar 2015 12:37:54 +0000 Subject: [Bug 2278] could not initialize applet sandbox In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2278 Jie Kang changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jkang at redhat.com --- Comment #2 from Jie Kang --- Also, the workaround for 1.5.x is in the error message: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option. So if you can, choose the Sandbox run option instead of the 'Run' run option when prompted. If you aren't prompted then you might need to open 'itweb-settings' and remove the certificates for the applet. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Mon Mar 16 14:29:36 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 16 Mar 2015 10:29:36 -0400 (EDT) Subject: [rfc][icedtea-web] Fix resource loading in CodebaseManifestEntry reproducers In-Reply-To: <1201540412.21717701.1426513632677.JavaMail.zimbra@redhat.com> Message-ID: <524478308.21753057.1426516176221.JavaMail.zimbra@redhat.com> Hello, The CodebaseManifestEntry reproducers were failing due to NPE in getting the Message.properties resource. This patch fixes that. The tests no longer fail with NPE when manifest checks are enabled. However, for the most part, manifest checks are disabled when running reproducers in order to prevent popup dialogs from causing them to fail. I think ldracz is working on a fix to allow us to test with them enabled/disabled per-test/per-reproducer. This fix should be applied here when able. Also, the tests still have some errors unrelated to this resource loading which will be addressed in a separate patch. Thoughts? Regards, -- Jie Kang OpenJDK Team - Software Engineering Intern -------------- next part -------------- A non-text attachment was scrubbed... Name: itw-codebase-manifest-reproducer-resource-loading-1.patch Type: text/x-patch Size: 1208 bytes Desc: not available URL: From ptisnovs at icedtea.classpath.org Mon Mar 16 15:00:42 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 16 Mar 2015 15:00:42 +0000 Subject: /hg/gfx-test: Added ten new helper methods. Message-ID: changeset 89575b75cfa1 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=89575b75cfa1 author: Pavel Tisnovsky date: Mon Mar 16 16:02:33 2015 +0100 Added ten new helper methods. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 170 +++++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r a7560fcbbcbc -r 89575b75cfa1 ChangeLog --- a/ChangeLog Fri Mar 13 09:59:28 2015 +0100 +++ b/ChangeLog Mon Mar 16 16:02:33 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-16 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Added ten new helper methods. + 2015-03-13 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r a7560fcbbcbc -r 89575b75cfa1 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Fri Mar 13 09:59:28 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Mar 16 16:02:33 2015 +0100 @@ -5913,6 +5913,176 @@ } /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalMagenta gradient buffered image with type {@link BufferedImage#TYPE_CUSTOM}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalMagentaGradientBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalMagentaGradientImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From bugzilla-daemon at icedtea.classpath.org Mon Mar 16 15:12:11 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 16 Mar 2015 15:12:11 +0000 Subject: [Bug 2089] Thermostat 2.0: Throw NoSuchElementException on Cursor.next() and no next elements are available In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2089 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at icedtea.classpat |cesarano2607 at gmail.com |h.org | -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Mon Mar 16 15:50:47 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Mar 2015 16:50:47 +0100 Subject: [rfc][icedtea-web] Fix resource loading in CodebaseManifestEntry reproducers In-Reply-To: <524478308.21753057.1426516176221.JavaMail.zimbra@redhat.com> References: <524478308.21753057.1426516176221.JavaMail.zimbra@redhat.com> Message-ID: <5506FBD7.2090809@redhat.com> On 03/16/2015 03:29 PM, Jie Kang wrote: > Hello, > > The CodebaseManifestEntry reproducers were failing due to NPE in getting the Message.properties resource. This patch fixes that. The tests no longer fail with NPE when manifest checks are enabled. > > However, for the most part, manifest checks are disabled when running reproducers in order to prevent popup dialogs from causing them to fail. I think ldracz is working on a fix to allow us to test with them enabled/disabled per-test/per-reproducer. This fix should be applied here when able. > > Also, the tests still have some errors unrelated to this resource loading which will be addressed in a separate patch. > > Thoughts? > > > Regards, > Looks ok. Please, before push, ensure that it is working both in IDE and from commandline. In past there were divergences. From commandline very often direct call to getSystemClasloader was necessary. Any working change on this line is ok to go. Thanx! J. From jvanek at redhat.com Mon Mar 16 16:00:46 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 16 Mar 2015 17:00:46 +0100 Subject: [rfc][icedteaweb] Support for Entry-Point manifest attribute In-Reply-To: <54F6C9D6.3030408@gmx.de> References: <54EE0413.1050807@redhat.com> <54EE05A0.3010601@redhat.com> <54F6C9D6.3030408@gmx.de> Message-ID: <5506FE2E.3020003@redhat.com> On 03/04/2015 10:01 AM, Jacob Wisor wrote: > Hello there! :-) > > On 02/25/2015 06:25 PM, Jiri Vanek wrote: >> On 02/25/2015 06:19 PM, Jiri Vanek wrote: >>> Hello, this is impl of another security manifest att: >>> http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt >>> >>> I would like to go with it to 1.5 too. no backporting here! >>> >>> Speaking about the attributes: >>> does http://www.geogebra.org/webstart/geogebra.jnlp library loading promt >>> seems correct to you? >>> >>> J. >> Crap - improved one >> >> The check is valid only if RIA is signed. I had it removed for testing... > >> diff -r b053e7638d7f netx/net/sourceforge/jnlp/JNLPFile.java >> --- a/netx/net/sourceforge/jnlp/JNLPFile.java Wed Feb 25 15:40:44 2015 +0100 >> +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Feb 25 18:23:18 2015 +0100 >> @@ -900,6 +900,8 @@ >> public static final String CODEBASE = "Codebase"; >> public static final String TRUSTED_ONLY = "Trusted-Only"; >> public static final String TRUSTED_LIBRARY = "Trusted-Library"; >> + public static final String ENTRY_POINT="Entry-Point"; >> + >> private JNLPClassLoader loader; >> >> >> @@ -925,6 +927,18 @@ >> return loader.getMainClass(); >> } >> >> + /** >> + * >> + * >> http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt >> + */ >> + public String[] getEntryPoints() { >> + return splitEntryPoints(getEntryPointString()); >> + } >> + >> + public String getEntryPointString() { >> + return getAttribute(ENTRY_POINT); > > Warning: This effectively searches *all* JAR resource files for an Entry-Point attribute if the > "main JAR" file's manifest does not have an Entry-Point attribute. > getAttribute(ENTRY_POINT) -> JNLPFile.getAttribute(new Attributes.Name(name)) -> > JNLPFile.loader.checkForAttributeInJars(Arrays.asList(getResources().getJARs()), name) > > So, even though JNLPClassLoader.checkForAttributeInJars() checks the main JAR file (whatever this > might be, I guess this is the /first/ JAR file with a proper Main-Class attribute in its manifest) > for the Entry-Point attribute first, this JAR file may not actually have one. Then, it goes on > checking all other resource JAR files and one of them may have one. Although an application suite of > JAR files could theoretically cross-reference entry points (main classes) over different JAR files, > I do not think this is legal and is not intended by the specification. We should make sure that no > cross-referencing in JAR files is allowed, in other words that Entry-Point as well as Main-Class > attributes can only reference classes in the local JAR file. I may be wrong but you should > definitely create a test for this. This behavior is intentional. In past we had been many times bugged by similar issues - taht main class is not found - because its right there.. no here.. aaaa overthere. So yes, the logic to find mainclass get exactly to the shape you are describing. All other attributes are following the same schema. To fix it, probably means to brig those "bugs" back again. I have two possibile hardening in mind - to read other attributes only from jar with main class - to read all attributes only from jar from codebase. Unluckily, I'm guessing both will have some sidefects. > >> + } >> + >> /** >> * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_name >> */ >> @@ -1047,8 +1061,8 @@ >> } >> } >> } >> - } >> - >> + } >> + >> public String createJnlpVendorValue() { >> final String location; >> if (getSourceLocation() != null) { >> @@ -1088,7 +1102,17 @@ >> return createJnlpTitleValue(); >> } >> return getTitle() + " from " + createJnlpTitleValue(); >> - >> + } >> + >> + static String[] splitEntryPoints(String eps) { >> + if (eps == null || eps.trim().isEmpty()) { >> + return null; >> + } >> + String[] result = eps.trim().split("\\s+"); > > This is actually supposed to be splitting *fully* *qualified* *class* *names*, not just arbitrary > strings separated by an arbitrary count of white space > ([ \t\n\x0B\f\r])characters. In fact, the specification speaks of exactly *a* *space*. This reads to > me like exactly *one* *space* (U+0020) character. > > java.util.jar.Attributes.Name take care of checking proper formatting of the Entry-Point attribute > name. But what about the proper formatting of the value? So I guess IcedTea-Web fails only when it > comes to actually loading the classes or something that is supposed to be a fully qualified class > name. Hence, one could get away with non-existent class names, class names in other JAR files, or > whatever string garbage as long as it is separated by white spaces. I don't know, this seems a > little bit over tolerant for me, more like lax than tolerant. What danger may be hidden here? I do not see any. The no kinds of spaces are not allowed in classanmes, so from this point of view the spliting is ok. If there is something else then valid class - then app will fail. And if so, then it os what it deserves. > > Besides, please try giving a thought about context meaningful names, like entryPointAttributeValue > for eps and splitEntryPoints for result. sure > >> + if (result.length == 0) { >> + return null; >> + } >> + return result; > > return result.length > 0 ? result : null; ;-) > >> } >> } >> >> diff -r b053e7638d7f netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >> --- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java Wed Feb 25 15:40:44 2015 >> +0100 >> +++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java Wed Feb 25 18:23:18 2015 >> +0100 >> @@ -81,6 +81,7 @@ >> checkCodebaseAttribute(); >> checkPermissionsAttribute(); >> checkApplicationLibraryAllowableCodebaseAttribute(); >> + checkEntryPoint(); >> } else { >> OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "Manifest >> attribute checks are disabled."); >> } >> @@ -90,6 +91,28 @@ >> final String deploymentProperty = >> JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); >> >> return Boolean.parseBoolean(deploymentProperty); >> } >> + >> + /* >> + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt >> + */ >> + private void checkEntryPoint() throws LaunchException { >> + if (signing == SigningState.NONE) { >> + return; /*when app is not signed at all, then skip this check*/ >> + } >> + final String[] eps = file.getManifestsAttributes().getEntryPoints(); >> + String mainClass = file.getLaunchInfo().getMainClass(); >> + if (eps == null) { >> + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Entry-Point >> manifest attribute for yours '" + mainClass + "'not found. Continuing."); >> + return; >> + } >> + for (String ep : eps) { >> + if (ep.equals(mainClass)) { >> + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, >> "Entry-Point od " + ep + " mathches " + mainClass + " continuing."); >> + return; >> + } >> + } >> + throw new LaunchException("None of '" + >> file.getManifestsAttributes().getEntryPointString() + "' matched yours " + mainClass + ". Thats >> fatal."); >> + } > > So, no check for fully qualified (and locally existing) class names even here? Again. Why? > > Please test this patch more thoroughly. Yes. It is necessary. > > Jacob Thanx for check! J. From jkang at redhat.com Mon Mar 16 16:09:22 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 16 Mar 2015 12:09:22 -0400 (EDT) Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <1898383750.21809584.1426521646059.JavaMail.zimbra@redhat.com> Message-ID: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> Hello, When looking into reproducer failures I noticed that the single quote ' was not being displayed in the logs. E.g: don't --> dont This was caused by the use of MessageFormat in the Translator class. >From [1]: Within a String, "''" represents a single quote. [...] [1] http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html Out of the various possible fixes, I have decided to replace single quote instances with two quotes only prior to using the MessageFormat class. Afaict, this doesn't cause any issues and doesn't affect things that don't go through the MessageFormat class. This bug caused a number of reproducers to fail (ex. CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as they expected a string like "don't" but the log output contained a string "dont". With this fix, those reproducers now pass. Thoughts? Regards, -- Jie Kang OpenJDK Team - Software Engineering Intern -------------- next part -------------- A non-text attachment was scrubbed... Name: itw-single-quote-fix-1.patch Type: text/x-patch Size: 764 bytes Desc: not available URL: From jkang at redhat.com Mon Mar 16 16:27:39 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 16 Mar 2015 12:27:39 -0400 (EDT) Subject: [rfc][icedtea-web] Fix resource loading in CodebaseManifestEntry reproducers In-Reply-To: <5506FBD7.2090809@redhat.com> References: <524478308.21753057.1426516176221.JavaMail.zimbra@redhat.com> <5506FBD7.2090809@redhat.com> Message-ID: <1714885212.21850492.1426523259890.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/16/2015 03:29 PM, Jie Kang wrote: > > Hello, > > > > The CodebaseManifestEntry reproducers were failing due to NPE in getting > > the Message.properties resource. This patch fixes that. The tests no > > longer fail with NPE when manifest checks are enabled. > > > > However, for the most part, manifest checks are disabled when running > > reproducers in order to prevent popup dialogs from causing them to fail. I > > think ldracz is working on a fix to allow us to test with them > > enabled/disabled per-test/per-reproducer. This fix should be applied here > > when able. > > > > Also, the tests still have some errors unrelated to this resource loading > > which will be addressed in a separate patch. > > > > Thoughts? > > > > > > Regards, > > > > > Looks ok. Please, before push, ensure that it is working both in IDE and from > commandline. In past > there were divergences. From commandline very often direct call to > getSystemClasloader was necessary. > Hello, Just for some closure: Class.java::getResourceAsStream: { [...] ClassLoader cl = getClassLoader0(); if (cl==null) { // A system class. return ClassLoader.getSystemResourceAsStream(name); } return cl.getResourceAsStream(name); [...] } And getSystemResourceAsSteam uses the system class loader so this should work out for us in all cases. I have tested it through command-line and it seems fine. If anything we can always push a patch on top if it doesn't. P.S. I have never ran reproducers in IDE; it seems to need a lot of setup;;; Do you run them in an IDE and if so, how'd you get it to work? :D Regards, > > Any working change on this line is ok to go. > Thanx! > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From jkang at redhat.com Mon Mar 16 16:32:09 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 16 Mar 2015 12:32:09 -0400 (EDT) Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> Message-ID: <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hello, > > When looking into reproducer failures I noticed that the single quote ' was > not being displayed in the logs. > > E.g: > > don't --> dont > > This was caused by the use of MessageFormat in the Translator class. > > From [1]: Within a String, "''" represents a single quote. [...] > > [1] http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html > > Out of the various possible fixes, I have decided to replace single quote > instances with two quotes only prior to using the MessageFormat class. > Afaict, this doesn't cause any issues and doesn't affect things that don't > go through the MessageFormat class. > > This bug caused a number of reproducers to fail (ex. > CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as they > expected a string like "don't" but the log output contained a string "dont". > With this fix, those reproducers now pass. > > Thoughts? Hello, The patch should've included a unit test. New attachment includes it. Sorry about that, > > > Regards, > > > -- > > Jie Kang > > OpenJDK Team - Software Engineering Intern -- Jie Kang OpenJDK Team - Software Engineering Intern -------------- next part -------------- A non-text attachment was scrubbed... Name: itw-single-quote-fix-2.patch Type: text/x-patch Size: 2352 bytes Desc: not available URL: From gitne at gmx.de Mon Mar 16 17:58:00 2015 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 16 Mar 2015 18:58:00 +0100 Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> Message-ID: <550719A8.40809@gmx.de> On 03/16/2015 05:32 PM CET Jie Kang wrote: > ----- Original Message ----- >> Hello, >> >> When looking into reproducer failures I noticed that the single quote ' was >> not being displayed in the logs. >> >> E.g: >> >> don't --> dont >> >> This was caused by the use of MessageFormat in the Translator class. >> >> From [1]: Within a String, "''" represents a single quote. [...] >> >> [1] http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html >> >> Out of the various possible fixes, I have decided to replace single quote >> instances with two quotes only prior to using the MessageFormat class. >> Afaict, this doesn't cause any issues and doesn't affect things that don't >> go through the MessageFormat class. >> >> This bug caused a number of reproducers to fail (ex. >> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as they >> expected a string like "don't" but the log output contained a string "dont". >> With this fix, those reproducers now pass. >> >> Thoughts? Hmm, the solution to this problem actually depends on the coding style of message property files. For example, OpenJDK works around this issue is by actually putting double apostrophe characters into their tool's message property files. So, IcedTea-Web should have or decide on some sort of coding style for its message property files. Which one should it be is arguable. Your approach is certainly valid, however whether it also acceptable depends on the coding style for message property files in IcedTea-Web. Personally, I would prefer OpenJDK's approach, hence modify the property files and do not get into possibly error prone mangling of strings. Btw, the proper term for ' (U+0027) is APOSTROPHE. There does not exist such a thing as a "single quote". Regards, Jacob From jkang at redhat.com Mon Mar 16 18:20:06 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 16 Mar 2015 14:20:06 -0400 (EDT) Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <550719A8.40809@gmx.de> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> Message-ID: <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/16/2015 05:32 PM CET Jie Kang wrote: > > ----- Original Message ----- > >> Hello, > >> > >> When looking into reproducer failures I noticed that the single quote ' > >> was > >> not being displayed in the logs. > >> > >> E.g: > >> > >> don't --> dont > >> > >> This was caused by the use of MessageFormat in the Translator class. > >> > >> From [1]: Within a String, "''" represents a single quote. [...] > >> > >> [1] http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html > >> > >> Out of the various possible fixes, I have decided to replace single quote > >> instances with two quotes only prior to using the MessageFormat class. > >> Afaict, this doesn't cause any issues and doesn't affect things that don't > >> go through the MessageFormat class. > >> > >> This bug caused a number of reproducers to fail (ex. > >> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as > >> they > >> expected a string like "don't" but the log output contained a string > >> "dont". > >> With this fix, those reproducers now pass. > >> > >> Thoughts? > > Hmm, the solution to this problem actually depends on the coding style of > message property files. For example, OpenJDK works around this issue is by > actually putting double apostrophe characters into their tool's message > property > files. So, IcedTea-Web should have or decide on some sort of coding style for > its message property files. Which one should it be is arguable. Your approach > is > certainly valid, however whether it also acceptable depends on the coding > style > for message property files in IcedTea-Web. Personally, I would prefer > OpenJDK's > approach, hence modify the property files and do not get into possibly error > prone mangling of strings. I prefer users of the property files not having to deal with how the code formats the strings. I don't care which method goes in as long as one goes in so I'll wait for a third opinion. > > Btw, the proper term for ' (U+0027) is APOSTROPHE. There does not exist such > a > thing as a "single quote". Sure apostrophe is more apt here. 'This sentence is surrounded by single quotation marks (quotes).' Regards, > > Regards, > > Jacob > -- Jie Kang OpenJDK Team - Software Engineering Intern From gitne at gmx.de Mon Mar 16 20:06:20 2015 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 16 Mar 2015 21:06:20 +0100 Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> Message-ID: <550737BC.5050000@gmx.de> On 03/16/2015 07:20 PM CET Jie Kang wrote: > ----- Original Message ----- >> On 03/16/2015 05:32 PM CET Jie Kang wrote: >>> ----- Original Message ----- >>>> Hello, >>>> >>>> When looking into reproducer failures I noticed that the single quote ' >>>> was >>>> not being displayed in the logs. >>>> >>>> E.g: >>>> >>>> don't --> dont >>>> >>>> This was caused by the use of MessageFormat in the Translator class. >>>> >>>> From [1]: Within a String, "''" represents a single quote. [...] >>>> >>>> [1] http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html >>>> >>>> Out of the various possible fixes, I have decided to replace single quote >>>> instances with two quotes only prior to using the MessageFormat class. >>>> Afaict, this doesn't cause any issues and doesn't affect things that don't >>>> go through the MessageFormat class. >>>> >>>> This bug caused a number of reproducers to fail (ex. >>>> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as >>>> they >>>> expected a string like "don't" but the log output contained a string >>>> "dont". >>>> With this fix, those reproducers now pass. >>>> >>>> Thoughts? >> >> Hmm, the solution to this problem actually depends on the coding style of >> message property files. For example, OpenJDK works around this issue is by >> actually putting double apostrophe characters into their tool's message >> property >> files. So, IcedTea-Web should have or decide on some sort of coding style for >> its message property files. Which one should it be is arguable. Your approach >> is >> certainly valid, however whether it also acceptable depends on the coding >> style >> for message property files in IcedTea-Web. Personally, I would prefer >> OpenJDK's >> approach, hence modify the property files and do not get into possibly error >> prone mangling of strings. > > I prefer users of the property files not having to deal with how the code formats the strings. I don't care which method goes in as long as one goes in so I'll wait for a third opinion. I understand and I would like this to happen too. However, you would also have to provide for proper handling of explicit occurrences of curly brackets (U+007B and U+007D). I am sure we do not want to get into this game. The MessageFormat's documentation also states: "Warning: The rules for using quotes within message format patterns unfortunately have shown to be somewhat confusing. In particular, it isn't always obvious to localizers whether single quotes need to be doubled or not. Make sure to inform localizers about the rules, and tell them (for example, by using comments in resource bundle source files) which strings will be processed by MessageFormat. Note that localizers may need to use single quotes in translated strings where the original version doesn't have them." >> Btw, the proper term for ' (U+0027) is APOSTROPHE. There does not exist such >> a >> thing as a "single quote". > > Sure apostrophe is more apt here. > > 'This sentence is surrounded by single quotation marks (quotes).' Jacob From jkang at redhat.com Mon Mar 16 20:31:38 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 16 Mar 2015 16:31:38 -0400 (EDT) Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <550737BC.5050000@gmx.de> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> <550737BC.5050000@gmx.de> Message-ID: <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/16/2015 07:20 PM CET Jie Kang wrote: > > ----- Original Message ----- > >> On 03/16/2015 05:32 PM CET Jie Kang wrote: > >>> ----- Original Message ----- > >>>> Hello, > >>>> > >>>> When looking into reproducer failures I noticed that the single quote ' > >>>> was > >>>> not being displayed in the logs. > >>>> > >>>> E.g: > >>>> > >>>> don't --> dont > >>>> > >>>> This was caused by the use of MessageFormat in the Translator class. > >>>> > >>>> From [1]: Within a String, "''" represents a single quote. [...] > >>>> > >>>> [1] > >>>> http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html > >>>> > >>>> Out of the various possible fixes, I have decided to replace single > >>>> quote > >>>> instances with two quotes only prior to using the MessageFormat class. > >>>> Afaict, this doesn't cause any issues and doesn't affect things that > >>>> don't > >>>> go through the MessageFormat class. > >>>> > >>>> This bug caused a number of reproducers to fail (ex. > >>>> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as > >>>> they > >>>> expected a string like "don't" but the log output contained a string > >>>> "dont". > >>>> With this fix, those reproducers now pass. > >>>> > >>>> Thoughts? > >> > >> Hmm, the solution to this problem actually depends on the coding style of > >> message property files. For example, OpenJDK works around this issue is by > >> actually putting double apostrophe characters into their tool's message > >> property > >> files. So, IcedTea-Web should have or decide on some sort of coding style > >> for > >> its message property files. Which one should it be is arguable. Your > >> approach > >> is > >> certainly valid, however whether it also acceptable depends on the coding > >> style > >> for message property files in IcedTea-Web. Personally, I would prefer > >> OpenJDK's > >> approach, hence modify the property files and do not get into possibly > >> error > >> prone mangling of strings. > > > > I prefer users of the property files not having to deal with how the code > > formats the strings. I don't care which method goes in as long as one goes > > in so I'll wait for a third opinion. > > I understand and I would like this to happen too. However, you would also > have > to provide for proper handling of explicit occurrences of curly brackets > (U+007B > and U+007D). I am sure we do not want to get into this game. Sure. Patch attached. Comments have been added to Messages.properties. I chose to keep the test for apostrophe escaping and modified it appropriately. That way if someone modifies this later it'll fail and hopefully point them towards fixing the properties files as well. I used: sed -i "s/'/''/g" $file to change all the properties files. Seems fine after a cursory examination. How does it look? Regards, > > The MessageFormat's documentation also states: > "Warning: > The rules for using quotes within message format patterns unfortunately have > shown to be somewhat confusing. In particular, it isn't always obvious to > localizers whether single quotes need to be doubled or not. Make sure to > inform > localizers about the rules, and tell them (for example, by using comments in > resource bundle source files) which strings will be processed by > MessageFormat. > Note that localizers may need to use single quotes in translated strings > where > the original version doesn't have them." > > >> Btw, the proper term for ' (U+0027) is APOSTROPHE. There does not exist > >> such > >> a > >> thing as a "single quote". > > > > Sure apostrophe is more apt here. > > > > 'This sentence is surrounded by single quotation marks (quotes).' > > Jacob > -- Jie Kang OpenJDK Team - Software Engineering Intern -------------- next part -------------- A non-text attachment was scrubbed... Name: itw-single-quote-fix-3.patch Type: text/x-patch Size: 26561 bytes Desc: not available URL: From gitne at gmx.de Mon Mar 16 21:16:45 2015 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 16 Mar 2015 22:16:45 +0100 Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> <550737BC.5050000@gmx.de> <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> Message-ID: <5507483D.7080906@gmx.de> On 03/16/2015 09:31 PM CET Jie Kang wrote: > > > ----- Original Message ----- >> On 03/16/2015 07:20 PM CET Jie Kang wrote: >>> ----- Original Message ----- >>>> On 03/16/2015 05:32 PM CET Jie Kang wrote: >>>>> ----- Original Message ----- >>>>>> Hello, >>>>>> >>>>>> When looking into reproducer failures I noticed that the single quote ' >>>>>> was >>>>>> not being displayed in the logs. >>>>>> >>>>>> E.g: >>>>>> >>>>>> don't --> dont >>>>>> >>>>>> This was caused by the use of MessageFormat in the Translator class. >>>>>> >>>>>> From [1]: Within a String, "''" represents a single quote. [...] >>>>>> >>>>>> [1] >>>>>> http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html >>>>>> >>>>>> Out of the various possible fixes, I have decided to replace single >>>>>> quote >>>>>> instances with two quotes only prior to using the MessageFormat class. >>>>>> Afaict, this doesn't cause any issues and doesn't affect things that >>>>>> don't >>>>>> go through the MessageFormat class. >>>>>> >>>>>> This bug caused a number of reproducers to fail (ex. >>>>>> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as >>>>>> they >>>>>> expected a string like "don't" but the log output contained a string >>>>>> "dont". >>>>>> With this fix, those reproducers now pass. >>>>>> >>>>>> Thoughts? >>>> >>>> Hmm, the solution to this problem actually depends on the coding style of >>>> message property files. For example, OpenJDK works around this issue is by >>>> actually putting double apostrophe characters into their tool's message >>>> property >>>> files. So, IcedTea-Web should have or decide on some sort of coding style >>>> for >>>> its message property files. Which one should it be is arguable. Your >>>> approach >>>> is >>>> certainly valid, however whether it also acceptable depends on the coding >>>> style >>>> for message property files in IcedTea-Web. Personally, I would prefer >>>> OpenJDK's >>>> approach, hence modify the property files and do not get into possibly >>>> error >>>> prone mangling of strings. >>> >>> I prefer users of the property files not having to deal with how the code >>> formats the strings. I don't care which method goes in as long as one goes >>> in so I'll wait for a third opinion. >> >> I understand and I would like this to happen too. However, you would also >> have >> to provide for proper handling of explicit occurrences of curly brackets >> (U+007B >> and U+007D). I am sure we do not want to get into this game. > > Sure. Patch attached. Comments have been added to Messages.properties. I chose to keep the test for apostrophe escaping and modified it appropriately. That way if someone modifies this later it'll fail and hopefully point them towards fixing the properties files as well. > > I used: > > sed -i "s/'/''/g" $file > > to change all the properties files. > > Seems fine after a cursory examination. > > How does it look? Looks okay. I am still a little bit concerned about messages like MissingPermissionsMainTitle or ALACAMissingMainTitle which contain HTML elements with attribute values in apostrophes. Could you please test manually specifically for those messages, that is whether they are processed correctly by the swing framework? Jacob From jvanek at redhat.com Tue Mar 17 09:14:34 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Mar 2015 10:14:34 +0100 Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> <550737BC.5050000@gmx.de> <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> Message-ID: <5507F07A.4080901@redhat.com> On 03/16/2015 09:31 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 03/16/2015 07:20 PM CET Jie Kang wrote: >>> ----- Original Message ----- >>>> On 03/16/2015 05:32 PM CET Jie Kang wrote: >>>>> ----- Original Message ----- >>>>>> Hello, >>>>>> >>>>>> When looking into reproducer failures I noticed that the single quote ' >>>>>> was >>>>>> not being displayed in the logs. >>>>>> >>>>>> E.g: >>>>>> >>>>>> don't --> dont >>>>>> >>>>>> This was caused by the use of MessageFormat in the Translator class. >>>>>> >>>>>> From [1]: Within a String, "''" represents a single quote. [...] >>>>>> >>>>>> [1] >>>>>> http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html >>>>>> >>>>>> Out of the various possible fixes, I have decided to replace single >>>>>> quote >>>>>> instances with two quotes only prior to using the MessageFormat class. >>>>>> Afaict, this doesn't cause any issues and doesn't affect things that >>>>>> don't >>>>>> go through the MessageFormat class. >>>>>> >>>>>> This bug caused a number of reproducers to fail (ex. >>>>>> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as >>>>>> they >>>>>> expected a string like "don't" but the log output contained a string >>>>>> "dont". >>>>>> With this fix, those reproducers now pass. >>>>>> >>>>>> Thoughts? >>>> >>>> Hmm, the solution to this problem actually depends on the coding style of >>>> message property files. For example, OpenJDK works around this issue is by >>>> actually putting double apostrophe characters into their tool's message >>>> property >>>> files. So, IcedTea-Web should have or decide on some sort of coding style >>>> for >>>> its message property files. Which one should it be is arguable. Your >>>> approach >>>> is >>>> certainly valid, however whether it also acceptable depends on the coding >>>> style >>>> for message property files in IcedTea-Web. Personally, I would prefer >>>> OpenJDK's >>>> approach, hence modify the property files and do not get into possibly >>>> error >>>> prone mangling of strings. >>> >>> I prefer users of the property files not having to deal with how the code >>> formats the strings. I don't care which method goes in as long as one goes >>> in so I'll wait for a third opinion. >> >> I understand and I would like this to happen too. However, you would also >> have >> to provide for proper handling of explicit occurrences of curly brackets >> (U+007B >> and U+007D). I am sure we do not want to get into this game. > > Sure. Patch attached. Comments have been added to Messages.properties. I chose to keep the test for apostrophe escaping and modified it appropriately. That way if someone modifies this later it'll fail and hopefully point them towards fixing the properties files as well. > > I used: > > sed -i "s/'/''/g" $file > > to change all the properties files. > Yes - all those messages should be verfied manually in runtime. . Also in manpages/html docs and palintext docs. And tehirs representation in intergrated help.... J. From jvanek at redhat.com Tue Mar 17 09:22:15 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Mar 2015 10:22:15 +0100 Subject: [rfc][icedtea-web] Fix resource loading in CodebaseManifestEntry reproducers In-Reply-To: <1714885212.21850492.1426523259890.JavaMail.zimbra@redhat.com> References: <524478308.21753057.1426516176221.JavaMail.zimbra@redhat.com> <5506FBD7.2090809@redhat.com> <1714885212.21850492.1426523259890.JavaMail.zimbra@redhat.com> Message-ID: <5507F247.2030501@redhat.com> On 03/16/2015 05:27 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 03/16/2015 03:29 PM, Jie Kang wrote: >>> Hello, >>> >>> The CodebaseManifestEntry reproducers were failing due to NPE in getting >>> the Message.properties resource. This patch fixes that. The tests no >>> longer fail with NPE when manifest checks are enabled. >>> >>> However, for the most part, manifest checks are disabled when running >>> reproducers in order to prevent popup dialogs from causing them to fail. I >>> think ldracz is working on a fix to allow us to test with them >>> enabled/disabled per-test/per-reproducer. This fix should be applied here >>> when able. >>> >>> Also, the tests still have some errors unrelated to this resource loading >>> which will be addressed in a separate patch. >>> >>> Thoughts? >>> >>> >>> Regards, >>> >> >> >> Looks ok. Please, before push, ensure that it is working both in IDE and from >> commandline. In past >> there were divergences. From commandline very often direct call to >> getSystemClasloader was necessary. >> > > Hello, > > Just for some closure: > > Class.java::getResourceAsStream: > { > [...] > ClassLoader cl = getClassLoader0(); > if (cl==null) { > // A system class. > return ClassLoader.getSystemResourceAsStream(name); > } > return cl.getResourceAsStream(name); > [...] > } > > And getSystemResourceAsSteam uses the system class loader so this should work out for us in all cases. If it is direct call to geSystemClasslaoder then ok. Otherwise not. I remember need of something like: ClassLoader cl = this.getClass().getClassLoader(); ServerAccess.logOutputReprint(cl==null?"null":cl.toString()); if (cl == null) { cl = ClassLoader.getSystemClassLoader(); ServerAccess.logOutputReprint(cl==null?"null":cl.toString()); } InputStream q = cl.getResourceAsStream(...); The this.getClass().getClassLoader(); call was returning systemclasslaoder in ide, but null in commandline.... > > I have tested it through command-line and it seems fine. If anything we can always push a patch on top if it doesn't. > > > P.S. I have never ran reproducers in IDE; it seems to need a lot of setup;;; Do you run them in an IDE and if so, how'd you get it to work? :D > > Yes I do. The testclass is unittest like any other unittest. You need to have somewhere installed image of itw, and somewhere deployed test resources. Then you will just make unittes engine aware of those locations via properties: -Dused.browsers=:/usr/bin/chromium-browser::/usr/bin/opera:/usr/bin/midori:/usr/bin/epiphany -Dtest.server.dir=/home/jvanek/Desktop/icedtea-web/tests.build/reproducers_test_server_deploydir -Djavaws.build.bin=/home/jvanek/icedtea-web-image/bin/javaws -Xbootclasspath/a:/home/jvanek/icedtea-web-image/share/icedtea-web/netx.jar:/usr/share/java/js.jar J. http://icedtea.classpath.org/wiki/Reproducers#run_from_IDE :))) It was not forgotten! From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 10:19:28 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 10:19:28 +0000 Subject: [Bug 1183] After a killall -9 java and restarting thermostat, it still thinks old java processes are alive In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1183 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sgehwolf at redhat.com --- Comment #2 from Severin Gehwolf --- See also bug 1019. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 10:26:59 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 10:26:59 +0000 Subject: [Bug 1183] After a killall -9 java and restarting thermostat, it still thinks old java processes are alive In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1183 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gastarit at redhat.com --- Comment #3 from Severin Gehwolf --- *** Bug 1454 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 10:29:58 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 10:29:58 +0000 Subject: [Bug 1476] list-vms in shell agentId vs hostId In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1476 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |sgehwolf at redhat.com Resolution|--- |DUPLICATE --- Comment #2 from Severin Gehwolf --- This is an inconsistency which we now track as bug 1508. *** This bug has been marked as a duplicate of bug 1508 *** -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 10:29:58 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 10:29:58 +0000 Subject: [Bug 1508] Agent Ids and Host Ids In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1508 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jfabriko at redhat.com --- Comment #3 from Severin Gehwolf --- *** Bug 1476 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 10:47:09 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 10:47:09 +0000 Subject: [Bug 2279] New: Add diagnostic command for showing configuration data Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2279 Bug ID: 2279 Summary: Add diagnostic command for showing configuration data Product: Thermostat Version: hg Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P5 Component: Thermostat Assignee: unassigned at icedtea.classpath.org Reporter: sgehwolf at redhat.com CC: thermostat at icedtea.classpath.org Bug 1448 describes a confusing point where things like the following attempt to connect to a "default" connection URL. $ thermostat list-vms It would be good to have a command which shows basic configuration properties such as default connection URL, USER_THERMOSTAT_HOME, THERMOSTAT_HOME, etc. USER_THERMOSTAT_HOME and THERMOSTAT_HOME we refer to extensively in our user guides, but users have know way of self-discovering those values for their thermostat installation (be it upstream or downstream). Related thread on list regarding USER_THERMOSTAT_HOME/THERMOSTAT_HOME: http://icedtea.classpath.org/pipermail/thermostat/2015-March/013204.html -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Tue Mar 17 10:51:11 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 17 Mar 2015 10:51:11 +0000 Subject: /hg/gfx-test: Updated. Message-ID: changeset bd4fd9cf21d2 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=bd4fd9cf21d2 author: Pavel Tisnovsky date: Tue Mar 17 11:53:17 2015 +0100 Updated. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 153 +++++++++++++++++++++ 2 files changed, 158 insertions(+), 0 deletions(-) diffs (175 lines): diff -r 89575b75cfa1 -r bd4fd9cf21d2 ChangeLog --- a/ChangeLog Mon Mar 16 16:02:33 2015 +0100 +++ b/ChangeLog Tue Mar 17 11:53:17 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-17 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Updated. + 2015-03-16 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 89575b75cfa1 -r bd4fd9cf21d2 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Mar 16 16:02:33 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Mar 17 11:53:17 2015 +0100 @@ -6083,6 +6083,159 @@ } /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeByteBinary(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeByteIndexed(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 10:53:32 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 10:53:32 +0000 Subject: [Bug 2141] Glitches in the VM list In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2141 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |sgehwolf at redhat.com Assignee|unassigned at icedtea.classpat |omajid at redhat.com |h.org | --- Comment #2 from Severin Gehwolf --- I think [1][2] fixed this. Does it not? [1] http://icedtea.classpath.org/hg/thermostat/rev/ec94647ae5a0 [2] http://icedtea.classpath.org/hg/release/thermostat-1.4/rev/ec94647ae5a0 -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 10:58:13 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 10:58:13 +0000 Subject: [Bug 1508] Agent Ids and Host Ids In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1508 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1754 -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 11:13:42 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 11:13:42 +0000 Subject: [Bug 2099] Thermostat 2.0 code clean-up tracker bug In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2099 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on|2098 | -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 11:13:42 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 11:13:42 +0000 Subject: [Bug 2098] HostVMArguments creates HostRef and VmRef with placeholder values In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2098 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sgehwolf at redhat.com Blocks|2099 |1754 -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 11:15:01 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 11:15:01 +0000 Subject: [Bug 2099] Thermostat 2.0 code clean-up tracker bug In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2099 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1754 -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 11:16:20 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 11:16:20 +0000 Subject: [Bug 2098] HostVMArguments creates HostRef and VmRef with placeholder values In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2098 --- Comment #1 from Severin Gehwolf --- Bug 1508 seems related. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 11:18:15 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 11:18:15 +0000 Subject: [Bug 2046] Make cli commands more consistent in agentId/vmId usage In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2046 --- Comment #3 from Severin Gehwolf --- See also bug 1508. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at icedtea.classpath.org Tue Mar 17 12:57:25 2015 From: jkang at icedtea.classpath.org (jkang at icedtea.classpath.org) Date: Tue, 17 Mar 2015 12:57:25 +0000 Subject: /hg/icedtea-web: Fix resource loading in CodebaseManifestEntry r... Message-ID: changeset 1ce1486f84d6 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1ce1486f84d6 author: Jie Kang date: Tue Mar 17 08:47:09 2015 -0400 Fix resource loading in CodebaseManifestEntry reproducers 2015-03-17 Jie Kang Fix resource loading in CodebaseManifestEntry reproducers * tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java: Now uses Class.getResourceAsStream which will use system class loader if necessary diffstat: ChangeLog | 8 +++++++- tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diffs (34 lines): diff -r b395e5d3050b -r 1ce1486f84d6 ChangeLog --- a/ChangeLog Fri Mar 13 16:21:54 2015 +0100 +++ b/ChangeLog Tue Mar 17 08:47:09 2015 -0400 @@ -1,3 +1,10 @@ +2015-03-17 Jie Kang + + Fix resource loading in CodebaseManifestEntry reproducers + * tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java: + Now uses Class.getResourceAsStream which will use system class loader + if necessary + 2015-03-13 Jiri Vanek Fixing xdg tests @@ -25,7 +32,6 @@ constants instead of hardcoded values * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: same - 2015-03-10 Jiri Vanek Fixed locale tests diff -r b395e5d3050b -r 1ce1486f84d6 tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java --- a/tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java Fri Mar 13 16:21:54 2015 +0100 +++ b/tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java Tue Mar 17 08:47:09 2015 -0400 @@ -69,7 +69,7 @@ public static String getMessage(int i) { try { String s = "";//_cs, _de, _pl - PropertyResourceBundle props = new PropertyResourceBundle(CodeBaseManifestEntrySignedMatching.class.getClassLoader().getResourceAsStream("net/sourceforge/jnlp/resources/Messages" + s + ".properties")); + PropertyResourceBundle props = new PropertyResourceBundle(CodeBaseManifestEntrySignedMatching.class.getResourceAsStream("/net/sourceforge/jnlp/resources/Messages" + s + ".properties")); return props.getString(keys[i]); } catch (IOException ex) { throw new RuntimeException(ex); From bugzilla-daemon at icedtea.classpath.org Tue Mar 17 14:14:51 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Mar 2015 14:14:51 +0000 Subject: [Bug 2279] Add diagnostic command for showing configuration data In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2279 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at icedtea.classpat |sgehwolf at redhat.com |h.org | -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at icedtea.classpath.org Tue Mar 17 14:54:01 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 17 Mar 2015 14:54:01 +0000 Subject: /hg/icedtea-web: Removed forgotten occurrence of netx-dist-tests... Message-ID: changeset 6eae10290046 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6eae10290046 author: Jiri Vanek date: Tue Mar 17 15:53:46 2015 +0100 Removed forgotten occurrence of netx-dist-tests-whitelist and so fixing make dist Makefile.am: (EXTRA_DIST) lost netx-dist-tests-whitelist. diffstat: ChangeLog | 5 +++++ Makefile.am | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) diffs (24 lines): diff -r 1ce1486f84d6 -r 6eae10290046 ChangeLog --- a/ChangeLog Tue Mar 17 08:47:09 2015 -0400 +++ b/ChangeLog Tue Mar 17 15:53:46 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-17 Jiri Vanek + + Removed forgotten occurrence of netx-dist-tests-whitelist and so fixing make dist + * Makefile.am: (EXTRA_DIST) lost netx-dist-tests-whitelist. + 2015-03-17 Jie Kang Fix resource loading in CodebaseManifestEntry reproducers diff -r 1ce1486f84d6 -r 6eae10290046 Makefile.am --- a/Makefile.am Tue Mar 17 08:47:09 2015 -0400 +++ b/Makefile.am Tue Mar 17 15:53:46 2015 +0100 @@ -221,7 +221,7 @@ export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION) export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in policyeditor.desktop.in \ - itweb-settings.desktop.in launcher $(top_srcdir)/tests html-gen.sh netx-dist-tests-whitelist NEW_LINE_IFS + itweb-settings.desktop.in launcher $(top_srcdir)/tests html-gen.sh NEW_LINE_IFS # reproducers `D`shortcuts export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) From jvanek at redhat.com Tue Mar 17 15:15:18 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Mar 2015 16:15:18 +0100 Subject: [rfc][icedtea-web] PolicyEditor gains a real parser In-Reply-To: <1712719406.29985249.1426364399798.JavaMail.zimbra@redhat.com> References: <549DB266.8050304@redhat.com> <634432449.2830218.1420493276156.JavaMail.zimbra@redhat.com> <54B808F3.4080500@redhat.com> <54CA182A.4030408@redhat.com> <54CAF9C8.7000001@redhat.com> <54D4B0A9.8060201@redhat.com> <1712719406.29985249.1426364399798.JavaMail.zimbra@redhat.com> Message-ID: <55084506.1030807@redhat.com> On 03/14/2015 09:19 PM, Andrew Azores wrote: > Hi, > > Attached is an updated version of this patch, which makes the editor GUI display the actual PolicyIdentifiers, rather than just codebases. Nothing else has changed since the previous version (other than also updating the patch to apply cleanly on current HEAD), but I think that this patch is in a pretty good state right now, and I'd like to push it and continue working on it in further, smaller changesets. My next goals are to adapt the UI to allow modification of the signedBy and principals for each identifier, and then to introduce an "Advanced View" toggle of some sort which will toggle between the existing codebase-oriented simplified UI, and the full UI which I just outlined. After that, I will look at refactoring it all to use a single class as the point of contact with the sun classes, as I've already discovered earlier today that this changeset no longer builds with the latest JDK 8. Just quick galnce - I'm against removal of ciodebase:((( I know it is hard, but some replcament hsould be deffined. Also - I owuld like to release in month, or two - no longer. How is your work on this suitbale with this schedule? J. > > Thanks, > > Andrew > > ----- Original Message ----- >> On 01/30/2015 04:26 AM, Andrew Azores wrote: >>> Hi, >>> >>> On 01/29/2015 06:23 AM, Jiri Vanek wrote: >>>> I was not reading whole thread (lazyyY!) >>>> >>>> So maybe those were already answered: >>>> >>>> Why OPTIONS.CODEBASE disapeared??? I can not see its replacement. >>> >>> Before this patch, PolicyEditor's internal model assumes that codebases can >>> be used as unique >>> identifiers of sorts - each entry in a policy file always has exactly zero >>> or one codebases, and >>> does not have principals, or signedby. With this patch, the internal model >>> becomes full-featured, >>> like upstream policytool's, and PolicyEditor can actually handle policy >>> entries with any combination >>> of codebase/signedby/principal, just like policytool. The PolicyEditor GUI >>> just doesn't have a way >>> to display them (yet). So a -codebase selector is no longer guaranteed to >>> return exactly one (or >>> none) result, and I don't know what the expected behaviour would be if >>> there were multiple matches >>> in the policy file, especially when some of them may be "hidden". >> >> I think you should preserve this opinion. Maybe to change it from codebase to >> keyword or whatever. >> Or jsut keep codebase and specify tat it can accept any keyword. >> >> Now - why keyword - it will be used to match something in polici editor, or >> to ad "header" of new >> entry. Basic usecase - exactly the same as as you do with codebase param now. >> >> What do you think? >> >>>> >>>> Also the patch do not apply the - FILE("-file", "policy_file", >>>> "PBOFile"), and CODEBASE("-codebase", "url", "PBOCodebase"); definitions >>>> changed. >>> >>> Yes, I'll make that change this weekend I hope. >>> >>>> >>>> The code itself is pretty god - especially via using the >>>> import sun.security.provider.PolicyParser; >>>> >>>> *however* >>>> >>>> http://mail.openjdk.java.net/pipermail/awt-dev/2014-June/008072.html >>>> "In JDK-9 we would have modules and you will not be able to use the >>>> sun.* packages at all, so this changeset is useless for JDK9. " >>>> >>>> Makes me worrying about this approach. Especially also because of >>>> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-October/029989.html >>>> >>>> >>>> So if we are going to use it, it sholdbe changed to public api. So you >>>> should have some adapter, which will allow simply switch between old and >>>> new api. And ofcourse, somebody have to negotiate it with upstream.. oh >>>> dear.... >>> >>> Yea, this sounds problematic. I have no idea how to move forward with this >>> kind of forward >>> compatibility in mind, honestly. >> >> The only thing I have in mind is yu, creating only one class using sun* >> >> The rest of your work will use this one class. Right now, in this class will >> be regular calls to >> regular methods, but if they will disapear for us, those calls will be >> chnaged to reflection calls >> or something like that. What do you think? >>> >>>> >>>> Also, I.m aware of >>>> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-November/030101.html >>>> thread. It died without push. Or am I wrong? >>>> >>> >>> Not wrong, it did die without push, but only because it was around that >>> time that I discovered these >>> sun parser bits, and found out that the PolicyIdentifier I was making there >>> could be easily adapted >>> and made much more useful by doing some rewrites and using the sun stuff, >>> and then this whole patch >>> happened. So really, that old patch just became this one :) >> >> cool. Thanx! >>> >>>> >>>> >>>> >>>> To code: >>>> >>>> >>>> Why DisplayablePermission isnt regualr class? >>> >>> You mean why is it an inner static class rather than its own top level? >>> Mostly just because the only >>> context I intend it to be used it is within the Custom Policy Viewer. Its >>> only reason to exist is >>> because the Sun PolicyParser.PermissionEntry doesn't implement toString >>> nicely, really, but I need >>> the CustomPolicyViewer to be able to display its permissions, obviously. It >>> seemed nicer to subclass >>> the class I actually wanted to use (PermissionEntry) and have this >>> implement toString than to make >>> all my CustomPolicyViewer Swing stuff use custom adapters to render the >>> collection of permission >>> entries. >> >> wth.. oook... >> >>> >>>> >>>> the >>>> >>>> + /** >>>> + * PolicyEditor is only designed to deal with grant entries with a >>>> single codeBase - >>>> + * no signedBy and no principals. Any "identifiers" attached to >>>> grant entries which >>>> + * do not strictly match this will be ignored and not displayed in >>>> the UI. >>>> + */ >>>> + static boolean isCodeBaseIdentifier(final PolicyIdentifier >>>> identifier) { >>>> + return (identifier.getSignedBy() == null || >>>> identifier.getSignedBy().isEmpty()) >>>> + && (identifier.getPrincipals() == null || >>>> identifier.getPrincipals().isEmpty()) >>>> + && identifier.getCodebase() != null; >>>> >>>> >>>> MEans, that all other policies will be unvisible, but not lost. >>>> >>>> What about showing them at least read only? Aka as plain text or >>>> something like it... It wouldbe suspicious if they are "just not there" >>>> >>>> >>> >>> Yes, I've been intending to work on this somehow but have not yet had time. >>> Do you have any >>> suggestions on how to display them read-only? I was thinking maybe >>> (temporarily, until somebody >>> makes the PolicyEditor GUI properly handle the full permission entry >>> feature set) just have another >> >> Only you can do this :)) >>> child window like the CustomPolicyViewer... or maybe just have them >>> displayed in the >>> CustomPolicyViewer itself, honestly. What do you think? >> >> >> Right now, I think the read only policies canbe grayed in list, and when >> clicked, then all our >> checkboxes disapear, and read only textarea can occure with >> selectedPolicy.toString() >> >> >> hmm? Well stupid, but better then being silent about them and informative >> enough as temporary solution. >>> >>>> >>>> Why >>>> +public enum PolicyEditorPermissions implements Serializable { >> snip... >> >> >> rest is clear. Thank you! >> >> >> J. >> >> From jkang at redhat.com Tue Mar 17 15:34:29 2015 From: jkang at redhat.com (Jie Kang) Date: Tue, 17 Mar 2015 11:34:29 -0400 (EDT) Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <5507F07A.4080901@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> <550737BC.5050000@gmx.de> <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> <5507F07A.4080901@redhat.com> Message-ID: <1921475670.22371157.1426606469039.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/16/2015 09:31 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> On 03/16/2015 07:20 PM CET Jie Kang wrote: > >>> ----- Original Message ----- > >>>> On 03/16/2015 05:32 PM CET Jie Kang wrote: > >>>>> ----- Original Message ----- > >>>>>> Hello, > >>>>>> > >>>>>> When looking into reproducer failures I noticed that the single quote > >>>>>> ' > >>>>>> was > >>>>>> not being displayed in the logs. > >>>>>> > >>>>>> E.g: > >>>>>> > >>>>>> don't --> dont > >>>>>> > >>>>>> This was caused by the use of MessageFormat in the Translator class. > >>>>>> > >>>>>> From [1]: Within a String, "''" represents a single quote. [...] > >>>>>> > >>>>>> [1] > >>>>>> http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html > >>>>>> > >>>>>> Out of the various possible fixes, I have decided to replace single > >>>>>> quote > >>>>>> instances with two quotes only prior to using the MessageFormat class. > >>>>>> Afaict, this doesn't cause any issues and doesn't affect things that > >>>>>> don't > >>>>>> go through the MessageFormat class. > >>>>>> > >>>>>> This bug caused a number of reproducers to fail (ex. > >>>>>> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as > >>>>>> they > >>>>>> expected a string like "don't" but the log output contained a string > >>>>>> "dont". > >>>>>> With this fix, those reproducers now pass. > >>>>>> > >>>>>> Thoughts? > >>>> > >>>> Hmm, the solution to this problem actually depends on the coding style > >>>> of > >>>> message property files. For example, OpenJDK works around this issue is > >>>> by > >>>> actually putting double apostrophe characters into their tool's message > >>>> property > >>>> files. So, IcedTea-Web should have or decide on some sort of coding > >>>> style > >>>> for > >>>> its message property files. Which one should it be is arguable. Your > >>>> approach > >>>> is > >>>> certainly valid, however whether it also acceptable depends on the > >>>> coding > >>>> style > >>>> for message property files in IcedTea-Web. Personally, I would prefer > >>>> OpenJDK's > >>>> approach, hence modify the property files and do not get into possibly > >>>> error > >>>> prone mangling of strings. > >>> > >>> I prefer users of the property files not having to deal with how the code > >>> formats the strings. I don't care which method goes in as long as one > >>> goes > >>> in so I'll wait for a third opinion. > >> > >> I understand and I would like this to happen too. However, you would also > >> have > >> to provide for proper handling of explicit occurrences of curly brackets > >> (U+007B > >> and U+007D). I am sure we do not want to get into this game. > > > > Sure. Patch attached. Comments have been added to Messages.properties. I > > chose to keep the test for apostrophe escaping and modified it > > appropriately. That way if someone modifies this later it'll fail and > > hopefully point them towards fixing the properties files as well. > > > > I used: > > > > sed -i "s/'/''/g" $file > > > > to change all the properties files. > > > > Yes - all those messages should be verfied manually in runtime. . Also in > manpages/html docs and > palintext docs. And tehirs representation in intergrated help.... > Hello, I manually verified all the changed properties to continue to work. Patch attached again. Thoughts? Also with this patch on HEAD: Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPLocalTest Passed: CodeBaseManifestEntrySignedMatching.AppletJNLPRLocalTest Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPRemoteTest Passed: CodeBaseManifestEntrySignedMatching.BrowserAppletLocalTest - firefox Passed: CodeBaseManifestEntrySignedMatching.BrowserJNLPHrefRemoteTest - firefox Passed: CodeBaseManifestEntrySignedMatching.BrowserJNLPHrefLocalTest - firefox Passed: CodeBaseManifestEntrySignedMatching.AppletJNLPRemoteTest Passed: CodeBaseManifestEntrySignedMatching.BrowserAppletRemoteTest - firefox Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPLocalTestWithRemoteCodebase Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPLocalTest Passed: CodeBaseManifestEntryUnsignedNotMatching.AppletJNLPRLocalTest Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPRemoteTest Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserAppletLocalTest - firefox Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest - firefox Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefLocalTest - firefox Passed: CodeBaseManifestEntryUnsignedNotMatching.AppletJNLPRemoteTest Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserAppletRemoteTest - firefox Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPLocalTestWithRemoteCodebase Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPLocalTest Passed: CodeBaseManifestEntrySignedNotMatching.AppletJNLPRLocalTest Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPRemoteTest Passed: CodeBaseManifestEntrySignedNotMatching.BrowserAppletLocalTest - firefox Passed: CodeBaseManifestEntrySignedNotMatching.BrowserJNLPHrefRemoteTest - firefox Passed: CodeBaseManifestEntrySignedNotMatching.BrowserJNLPHrefLocalTest - firefox Passed: CodeBaseManifestEntrySignedNotMatching.AppletJNLPRemoteTest Passed: CodeBaseManifestEntrySignedNotMatching.BrowserAppletRemoteTest - firefox Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPLocalTestWithRemoteCodebase Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPLocalTest Passed: CodeBaseManifestEntryUnsignedMatching.AppletJNLPRLocalTest Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPRemoteTest Passed: CodeBaseManifestEntryUnsignedMatching.BrowserAppletLocalTest - firefox Passed: CodeBaseManifestEntryUnsignedMatching.BrowserJNLPHrefRemoteTest - firefox Passed: CodeBaseManifestEntryUnsignedMatching.BrowserJNLPHrefLocalTest - firefox Passed: CodeBaseManifestEntryUnsignedMatching.AppletJNLPRemoteTest Passed: CodeBaseManifestEntryUnsignedMatching.BrowserAppletRemoteTest - firefox Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPLocalTestWithRemoteCodebase Total tests run: 36; From those : 0 known to fail Test known to fail: passed: 0; failed: 0; ignored: 0 Test results: passed: 36; failed: 0; ignored: 0 Yay :D Hopefully it's not just my machine. Regards, > J. > > -- Jie Kang OpenJDK Team - Software Engineering Intern -------------- next part -------------- A non-text attachment was scrubbed... Name: itw-single-quote-fix-3.patch Type: text/x-patch Size: 27782 bytes Desc: not available URL: From jvanek at redhat.com Tue Mar 17 15:45:03 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Mar 2015 16:45:03 +0100 Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <1921475670.22371157.1426606469039.JavaMail.zimbra@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <2089474292.21859865.1426523529752.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> <550737BC.5050000@gmx.de> <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> <5507F07A.4080901@redhat.com> <1921475670.22371157.1426606469039.JavaMail.zimbra@redhat.com> Message-ID: <55084BFF.3060606@redhat.com> On 03/17/2015 04:34 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 03/16/2015 09:31 PM, Jie Kang wrote: >>> >>> >>> ----- Original Message ----- >>>> On 03/16/2015 07:20 PM CET Jie Kang wrote: >>>>> ----- Original Message ----- >>>>>> On 03/16/2015 05:32 PM CET Jie Kang wrote: >>>>>>> ----- Original Message ----- >>>>>>>> Hello, >>>>>>>> >>>>>>>> When looking into reproducer failures I noticed that the single quote >>>>>>>> ' >>>>>>>> was >>>>>>>> not being displayed in the logs. >>>>>>>> >>>>>>>> E.g: >>>>>>>> >>>>>>>> don't --> dont >>>>>>>> >>>>>>>> This was caused by the use of MessageFormat in the Translator class. >>>>>>>> >>>>>>>> From [1]: Within a String, "''" represents a single quote. [...] >>>>>>>> >>>>>>>> [1] >>>>>>>> http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html >>>>>>>> >>>>>>>> Out of the various possible fixes, I have decided to replace single >>>>>>>> quote >>>>>>>> instances with two quotes only prior to using the MessageFormat class. >>>>>>>> Afaict, this doesn't cause any issues and doesn't affect things that >>>>>>>> don't >>>>>>>> go through the MessageFormat class. >>>>>>>> >>>>>>>> This bug caused a number of reproducers to fail (ex. >>>>>>>> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) as >>>>>>>> they >>>>>>>> expected a string like "don't" but the log output contained a string >>>>>>>> "dont". >>>>>>>> With this fix, those reproducers now pass. >>>>>>>> >>>>>>>> Thoughts? >>>>>> >>>>>> Hmm, the solution to this problem actually depends on the coding style >>>>>> of >>>>>> message property files. For example, OpenJDK works around this issue is >>>>>> by >>>>>> actually putting double apostrophe characters into their tool's message >>>>>> property >>>>>> files. So, IcedTea-Web should have or decide on some sort of coding >>>>>> style >>>>>> for >>>>>> its message property files. Which one should it be is arguable. Your >>>>>> approach >>>>>> is >>>>>> certainly valid, however whether it also acceptable depends on the >>>>>> coding >>>>>> style >>>>>> for message property files in IcedTea-Web. Personally, I would prefer >>>>>> OpenJDK's >>>>>> approach, hence modify the property files and do not get into possibly >>>>>> error >>>>>> prone mangling of strings. >>>>> >>>>> I prefer users of the property files not having to deal with how the code >>>>> formats the strings. I don't care which method goes in as long as one >>>>> goes >>>>> in so I'll wait for a third opinion. >>>> >>>> I understand and I would like this to happen too. However, you would also >>>> have >>>> to provide for proper handling of explicit occurrences of curly brackets >>>> (U+007B >>>> and U+007D). I am sure we do not want to get into this game. >>> >>> Sure. Patch attached. Comments have been added to Messages.properties. I >>> chose to keep the test for apostrophe escaping and modified it >>> appropriately. That way if someone modifies this later it'll fail and >>> hopefully point them towards fixing the properties files as well. >>> >>> I used: >>> >>> sed -i "s/'/''/g" $file >>> >>> to change all the properties files. >>> >> >> Yes - all those messages should be verfied manually in runtime. . Also in >> manpages/html docs and >> palintext docs. And tehirs representation in intergrated help.... >> > > Hello, > > > I manually verified all the changed properties to continue to work. > > Patch attached again. Thoughts? > > > Also with this patch on HEAD: > > Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPLocalTest > Passed: CodeBaseManifestEntrySignedMatching.AppletJNLPRLocalTest > Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPRemoteTest > Passed: CodeBaseManifestEntrySignedMatching.BrowserAppletLocalTest - firefox > Passed: CodeBaseManifestEntrySignedMatching.BrowserJNLPHrefRemoteTest - firefox > Passed: CodeBaseManifestEntrySignedMatching.BrowserJNLPHrefLocalTest - firefox > Passed: CodeBaseManifestEntrySignedMatching.AppletJNLPRemoteTest > Passed: CodeBaseManifestEntrySignedMatching.BrowserAppletRemoteTest - firefox > Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPLocalTestWithRemoteCodebase > Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPLocalTest > Passed: CodeBaseManifestEntryUnsignedNotMatching.AppletJNLPRLocalTest > Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPRemoteTest > Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserAppletLocalTest - firefox > Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest - firefox > Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefLocalTest - firefox > Passed: CodeBaseManifestEntryUnsignedNotMatching.AppletJNLPRemoteTest > Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserAppletRemoteTest - firefox > Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPLocalTestWithRemoteCodebase > Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPLocalTest > Passed: CodeBaseManifestEntrySignedNotMatching.AppletJNLPRLocalTest > Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPRemoteTest > Passed: CodeBaseManifestEntrySignedNotMatching.BrowserAppletLocalTest - firefox > Passed: CodeBaseManifestEntrySignedNotMatching.BrowserJNLPHrefRemoteTest - firefox > Passed: CodeBaseManifestEntrySignedNotMatching.BrowserJNLPHrefLocalTest - firefox > Passed: CodeBaseManifestEntrySignedNotMatching.AppletJNLPRemoteTest > Passed: CodeBaseManifestEntrySignedNotMatching.BrowserAppletRemoteTest - firefox > Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPLocalTestWithRemoteCodebase > Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPLocalTest > Passed: CodeBaseManifestEntryUnsignedMatching.AppletJNLPRLocalTest > Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPRemoteTest > Passed: CodeBaseManifestEntryUnsignedMatching.BrowserAppletLocalTest - firefox > Passed: CodeBaseManifestEntryUnsignedMatching.BrowserJNLPHrefRemoteTest - firefox > Passed: CodeBaseManifestEntryUnsignedMatching.BrowserJNLPHrefLocalTest - firefox > Passed: CodeBaseManifestEntryUnsignedMatching.AppletJNLPRemoteTest > Passed: CodeBaseManifestEntryUnsignedMatching.BrowserAppletRemoteTest - firefox > Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPLocalTestWithRemoteCodebase > Total tests run: 36; From those : 0 known to fail > Test known to fail: passed: 0; failed: 0; ignored: 0 > Test results: passed: 36; failed: 0; ignored: 0 > > Yay :D > > Hopefully it's not just my machine. Wou! Please push asap. I will request an testmachine and lunchit. Hopefully results will be tomorow before meeting! Thanx! J. > > > Regards, > >> J. >> >> > From jkang at icedtea.classpath.org Tue Mar 17 16:02:10 2015 From: jkang at icedtea.classpath.org (jkang at icedtea.classpath.org) Date: Tue, 17 Mar 2015 16:02:10 +0000 Subject: /hg/icedtea-web: Escape apostrophes in Messages.properties Message-ID: changeset d0f564b96c10 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d0f564b96c10 author: Jie Kang date: Tue Mar 17 12:01:51 2015 -0400 Escape apostrophes in Messages.properties 2015-03-17 Jie Kang Escape apostrophes in Messages.properties * netx/net/sourceforge/jnlp/resources/Messages.properties: * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: * netx/net/sourceforge/jnlp/resources/Messages_de.properties: Apostrophes escaped using two apostrophes as specified in MessageFormat java class. Used in Translator class to format values * tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java: Test added making sure escaped apostrophes work properly * tests/reprocers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java: (getMessage) Uses MessageFormat to format values from Messages.properties diffstat: ChangeLog | 13 + netx/net/sourceforge/jnlp/resources/Messages.properties | 69 +++++---- netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 6 +- netx/net/sourceforge/jnlp/resources/Messages_de.properties | 2 +- tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java | 22 ++- tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java | 4 +- 6 files changed, 72 insertions(+), 44 deletions(-) diffs (361 lines): diff -r 6eae10290046 -r d0f564b96c10 ChangeLog --- a/ChangeLog Tue Mar 17 15:53:46 2015 +0100 +++ b/ChangeLog Tue Mar 17 12:01:51 2015 -0400 @@ -1,3 +1,16 @@ +2015-03-17 Jie Kang + + Escape apostrophes in Messages.properties + * netx/net/sourceforge/jnlp/resources/Messages.properties: + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: + * netx/net/sourceforge/jnlp/resources/Messages_de.properties: + Apostrophes escaped using two apostrophes as specified in MessageFormat + java class. Used in Translator class to format values + * tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java: + Test added making sure escaped apostrophes work properly + * tests/reprocers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java: + (getMessage) Uses MessageFormat to format values from Messages.properties + 2015-03-17 Jiri Vanek Removed forgotten occurrence of netx-dist-tests-whitelist and so fixing make dist diff -r 6eae10290046 -r d0f564b96c10 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 17 15:53:46 2015 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 17 12:01:51 2015 -0400 @@ -1,4 +1,9 @@ # Default (English) UI messages for netx +# +# All messages are formatted using Java's MessageFormat class. +# Apostrophe characters ' need to be escaped by using two: '' +# Curly brackets need to be escaped by surrounding them with single apostrophes '{' '{hello}' +# # L=Launcher, B=Boot, P=Parser, C=cache S=security # # General @@ -60,8 +65,8 @@ JREContinueDialogSentenceTitle=Incompatible JRE # missing permissions dialogue -MissingPermissionsMainTitle=Application {0} \ -from {1} is missing the permissions attribute. \ +MissingPermissionsMainTitle=Application {0} \ +from {1} is missing the permissions attribute. \ Applications without this attribute should not be trusted. Do you wish to allow this application to run? MissingPermissionsInfo=For more information you can visit:
\ \ @@ -70,8 +75,8 @@ Preventing the repurposing of Applications # missing Application-Library-Allowable-Codebase dialogue -ALACAMissingMainTitle=The application {0} \ -from {1} uses resources from the following remote locations: \ +ALACAMissingMainTitle=The application {0} \ +from {1} uses resources from the following remote locations: \ {2} \ Are you sure you want to run this application? ALACAMissingInfo=For more information see:
\ @@ -81,8 +86,8 @@ Preventing the Repurposing of an Application # matching Application-Library-Allowable-Codebase dialogue -ALACAMatchingMainTitle=The application {0} \ -from {1} uses resources from the following remote locations:
{2}
\ +ALACAMatchingMainTitle=The application {0} \ +from {1} uses resources from the following remote locations:
{2}
\ Are you sure you want to run this application? ALACAMatchingInfo=For more information you can visit:
\ \ @@ -143,7 +148,7 @@ LPartiallySignedApplet=The applet was partially signed. LPartiallySignedAppletUserDenied=The applet was partially signed, and the user did not trust it. LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. -LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. +LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren''t. LRunInSandboxError=Run in Sandbox call performed too late. LRunInSandboxErrorInfo=The classloader was notified to run the applet sandboxed, but security settings were already initialized. LSignedJNLPFileDidNotMatch=The signed JNLP file did not match the launching JNLP file. @@ -206,7 +211,7 @@ BBadProp=Incorrect property format {0} (should be key=value) BBadParam=Incorrect parameter format {0} (should be name=value) BNoDir=Directory {0} does not exist. -BNoCodeOrObjectApplet=Applet tag must specify a 'code' or 'object' or 'jnlp_href' attribute. +BNoCodeOrObjectApplet=Applet tag must specify a ''code'' or ''object'' or ''jnlp_href'' attribute. RNoResource=Missing Resource: {0} RShutdown=This exception to prevent shutdown of JVM, but the process has been terminated. RExitTaken=Exit class already set and caller is not exit class. @@ -234,13 +239,13 @@ RConfigurationFatal=ERROR: a fatal error has occurred while loading configuration. Perhaps a global configuration was required but could not be found RFailingToDefault=Failing to default configuration RPRoxyPacNotSupported=Using Proxy Auto Config (PAC) files is not supported. -RProxyFirefoxNotFound=Unable to use Firefox's proxy settings. Using "DIRECT" as proxy type. +RProxyFirefoxNotFound=Unable to use Firefox''s proxy settings. Using "DIRECT" as proxy type. RProxyFirefoxOptionNotImplemented=Browser proxy option "{0}" ({1}) not supported yet. RBrowserLocationPromptTitle=Browser Location RBrowserLocationPromptMessage=Specify Browser Location RBrowserLocationPromptMessageWithReason=Specify Browser Location (the browser command "{0}" is invalid). HTMLnoneFound=No applet found on this html page (supported are object, embed and applet tags) -HTMLmoreThenOne=More then one ({0}) applets found. Using first. You can specify 'all' or numbers to specify appelts you wont to run. +HTMLmoreThenOne=More then one ({0}) applets found. Using first. You can specify ''all'' or numbers to specify appelts you wont to run. # icedtea-web man (note, spaces are important due to man pages markup ITWintroL1={0}provides a Free Software web browser plugin running applets written in the Java programming language and an implementation of Java Web Start, originally based on the NetX project. @@ -380,19 +385,19 @@ CChooseCacheDir=Cache directory CCannotClearCache=Can not clear the cache at this time. Try later. If the problem persists, try closing your browser(s) & JNLP applications. At the end you can try to kill all java applications. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge CFakeCache=Cache is corrupt. Fixing. -CFakedCache=Cache was corrupt and has been fixed. It is strongly recommended that you run 'javaws -Xclearcache' and rerun your application as soon as possible. You can also use via itw-settings Cache -> View files -> Purge +CFakedCache=Cache was corrupt and has been fixed. It is strongly recommended that you run ''javaws -Xclearcache'' and rerun your application as soon as possible. You can also use via itw-settings Cache -> View files -> Purge # extended access warning pane EXAWdesktopWants=Desktop icon shortcut (applications want to). -EXAWdesktopDontWants=Desktop icon shortcut (applications don't wants to, but you still can). +EXAWdesktopDontWants=Desktop icon shortcut (applications don''t wants to, but you still can). EXAWsubmenu=Menu icon shortcut (applications will try to include to submenu - {0}). EXAWmenuWants=Menu icon shortcut (applications wont to). -EXAWmenuDontWants=Menu icon shortcut (applications don't wants to, but you still can). +EXAWmenuDontWants=Menu icon shortcut (applications don''t wants to, but you still can). EXAWsettingsInfo=Your curernt setting is: {0}. You can change it in itweb-settings in {1} panel. EXAWsettingsManage=You can manage existing menu entries in itweb-settings in {0} panel. EXAWrememberByApp=Remember by application EXAWrememberByPage=Remember by domain -EXAWdontRemember=Don't remember +EXAWdontRemember=Don''t remember EXAWrememberByAppTooltip=This application will never ask for more permissions questions EXAWrememberByPageTooltip=All applications from this domain will stop asking, and will follow your current decision on all permissions EXAWdontRememberTooltip=Your decision will be used only for this single permission for this single run @@ -425,9 +430,9 @@ SFileReadAccess=The application has requested read access to {0}. Do you want to allow this action? SFileWriteAccess=The application has requested write access to {0}. Do you want to allow this action? SDesktopShortcut=The application has requested permission to create a desktop and/or menu launcher. Do you want to allow this action? -SSigUnverified=The application's digital signature cannot be verified. Do you want to run the application? It will be granted unrestricted access to your computer. -SSigVerified=The application's digital signature has been verified. Do you want to run the application? It will be granted unrestricted access to your computer. -SSignatureError=The application's digital signature has an error. Do you want to run the application? It will be granted unrestricted access to your computer. +SSigUnverified=The application''s digital signature cannot be verified. Do you want to run the application? It will be granted unrestricted access to your computer. +SSigVerified=The application''s digital signature has been verified. Do you want to run the application? It will be granted unrestricted access to your computer. +SSignatureError=The application''s digital signature has an error. Do you want to run the application? It will be granted unrestricted access to your computer. SUntrustedSource=The digital signature could not be verified by a trusted source. Only run if you trust the origin of the application. SWarnFullPermissionsIgnorePolicy=The code executed will be given full permissions, ignoring any Java policies you may have. STrustedSource=The digital signature has been validated by a trusted source. @@ -438,7 +443,7 @@ SNoAssociatedCertificate= SUnverified=(unverified) SAlwaysTrustPublisher=Always trust content from this publisher -SHttpsUnverified=The website's HTTPS certificate cannot be verified. +SHttpsUnverified=The website''s HTTPS certificate cannot be verified. SRememberOption=Remember this option? SRememberAppletOnly=For applet SRememberCodebase=For site {0} @@ -448,7 +453,7 @@ SUnsignedRejectedBefore=You have rejected this applet previously - ({0}). SUnsignedQuestion=Allow the applet to run? SPartiallySignedSummary=Only parts of this application code are signed. -SPartiallySignedDetail=This application contains both signed and unsigned code. While signed code is safe if you trust the provider, unsigned code may imply code outside of the trusted provider's control. +SPartiallySignedDetail=This application contains both signed and unsigned code. While signed code is safe if you trust the provider, unsigned code may imply code outside of the trusted provider''s control. SPartiallySignedQuestion=Do you wish to proceed and run this application anyway? SAuthenticationPrompt=The {0} server at {1} is requesting authentication. It says "{2}" SJNLPFileIsNotSigned=This application contains a digital signature in which the launching JNLP file is not signed. @@ -463,9 +468,9 @@ STempAllMedia=All media (printing, audio, clipboard access) # Security - used for the More Information dialog -SBadKeyUsage=Resources contain entries whose signer certificate's KeyUsage extension doesn't allow code signing. -SBadExtendedKeyUsage=Resources contain entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing. -SBadNetscapeCertType=Resources contain entries whose signer certificate's NetscapeCertType extension doesn't allow code signing. +SBadKeyUsage=Resources contain entries whose signer certificate''s KeyUsage extension doesn''t allow code signing. +SBadExtendedKeyUsage=Resources contain entries whose signer certificate''s ExtendedKeyUsage extension doesn''t allow code signing. +SBadNetscapeCertType=Resources contain entries whose signer certificate''s NetscapeCertType extension doesn''t allow code signing. SHasExpiredCert=The digital signature has expired. SHasExpiringCert=Resources contain entries whose signer certificate will expire within six months. SNotYetValidCert=Resources contain entries whose signer certificate is not yet valid. @@ -758,7 +763,7 @@ beside it will expand or collapse the given permission checkbox group. Other notable features are \ the ability to copy and paste a set of permissions into a new codebase, allowing for \ quick access to a user specified default permissions group. \ - Also, you're not limited to the predefined checkbox permissions. By accessing \ + Also, you''re not limited to the predefined checkbox permissions. By accessing \ Custom Permissions through the view menu, you can add any customized permissions. \ @@ -963,7 +968,7 @@ CLListDescription=Shows a list of all property names and values that are in use by IcedTea-Web CLGetDescription=Shows the value for property-name CLSetDescription=Sets the property-name to value if possible. The value is checked for being valid. If the administrator has locked the property, this will have no effect -CLResetDescription=Resets the value for property-name to it\'s default value.\nall resets all properties recognized by IcedTea-Web to their default value. +CLResetDescription=Resets the value for property-name to it\''s default value.\nall resets all properties recognized by IcedTea-Web to their default value. CLInfoDescription=Shows more information about the given property CLCheckDescription=Shows any properties that have been defined but are not recognized by IcedTea-Web CLUnexpectedNumberOfCommands=Itweb-settings can only run one command at a time. @@ -987,7 +992,7 @@ SPLASHmainL4 = The folloing exception has occured. For more information, try to launch the browser from the command line and examine the output. SPLASHmainL2 = Additional information may be available in the console or logs. Even more information is available if debugging is enabled. SPLASHexWas = Exception was: -SPLASHcfl = Can't follow link to +SPLASHcfl = Can''t follow link to SPLASHvendorsInfo = Information from vendor of your application SPLASHanotherInfo = Another available info SPLASHdefaultHomepage = Unspecified homepage, verify source rather @@ -996,12 +1001,12 @@ SPLASHchainWas = This is the list of exceptions that occurred launching your applet. Please note, those exceptions can originate from multiple applets. For a helpful bug report, be sure to run only one applet. CBCheckFile = The application is a local file. Codebase validation is disabled. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. -CBCheckNoEntry = This application does not specify a Codebase in its manifest. Please verify with the applet's vendor. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckNoEntry = This application does not specify a Codebase in its manifest. Please verify with the applet''s vendor. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. CBCheckUnsignedPass = Codebase matches codebase manifest attribute, but application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. -CBCheckUnsignedFail= The application's codebase does NOT match the codebase specified in its manifest, but the application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckUnsignedFail= The application''s codebase does NOT match the codebase specified in its manifest, but the application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. CBCheckOkSignedOk = Codebase matches codebase manifest attribute, and application is signed. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. CBCheckSignedAppletDontMatchException = Signed applets are not allowed to run when their actual Codebase does not match the Codebase specified in their manifest. Expected: {0}. Actual: {1}. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. -CBCheckSignedFail = Application Codebase does NOT match the Codebase specified in the application's manifest, and this application is signed. You are strongly discouraged from running this application. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckSignedFail = Application Codebase does NOT match the Codebase specified in the application''s manifest, and this application is signed. You are strongly discouraged from running this application. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. # itweb-settings man (note, spaces (especially the one around markup) are important due to man pages markup). Only bold tag is now recognized by ReplacingTextFormatter. ITWSintro= - view and modify settings for javaws and the browser plugin @@ -1028,7 +1033,7 @@ # files descriptions FILEpipe=Contains in and out pipe for native2java communication and (if enabled) debugging pipe. -FILEmozillauser=Location of plugin library for user's purposes on mozilla compliant browser. +FILEmozillauser=Location of plugin library for user''s purposes on mozilla compliant browser. FILEmozillaglobal64=Location of plugin library for global purposes on mozilla compliant browser, 64b systems. FILEmozillaglobal32=Location of plugin library for global purposes on mozilla compliant browser, 32b systems. FILEopera64=Location of plugin library for global purposes on opera compliant browser, 64b systems. @@ -1120,7 +1125,7 @@ APPEXTSEChelp= \

Help for Extended applet security - itw-settings, files and structures, dialogue

\

\ -Extended Applet Security refers to security features for unsigned applets. Traditionally, only signed applets required user confirmation and unsigned applets ran automatically. This is represented by the 'low security' setting. Unsigned applets must be allowed or disallowed individually on 'high security' (the default), and additionally do not run at all on 'very high security'. In theory, unsigned applets can safely run automatically. In practice, however, any vulnerability in the Java security sandbox will prevent this from being true. \ +Extended Applet Security refers to security features for unsigned applets. Traditionally, only signed applets required user confirmation and unsigned applets ran automatically. This is represented by the ''low security'' setting. Unsigned applets must be allowed or disallowed individually on ''high security'' (the default), and additionally do not run at all on ''very high security''. In theory, unsigned applets can safely run automatically. In practice, however, any vulnerability in the Java security sandbox will prevent this from being true. \

\

\ To do so it uses the Security Level main settings switch rules in the tables of Custom definitions and Global definitions
\ @@ -1166,7 +1171,7 @@

  • Date - date of last action on this item (read only item)
    \
  • Document base - is the page from which the applet was requested. It is actually a regular expression to match a specific URL. See about regular expressions and their usage lower
    \
  • Code base - is the URL where an applets code came from. It is actually a regular expression to match a specific URL. See about regular expressions and their usage lower
    \ -
  • Archives - coma separated list of archives with applet's code. Can be empty if source code are just classes or group of applets is allowed
    \ +
  • Archives - coma separated list of archives with applet''s code. Can be empty if source code are just classes or group of applets is allowed
    \
    \ When you change a value in the table, its effect is immediate. \

    Controls of tables

    \ @@ -1246,7 +1251,7 @@
  • Forbidding also one exact applet from http://blogs.com/goodJohn/ with archive goodJohnsArchive.jar
    \
  • Allowing all (other) applets from http://blogs.com/ but only when displayed also on http://blogs.com/
    \
  • Forbidding all applets with code saved on http://adds.com (except on http://blogs.com/ - to have forbidden http://adds.com also on http://blogs.com/, this (http://adds.com) record must be above blogs record)
    \ -
  • And finally allowing all nice physical applets on walter-fendt's pages
    \ +
  • And finally allowing all nice physical applets on walter-fendt''s pages
    \
    \ Note - the date saved in .appletTrustSettings has a not so nice format, but I left this for now...
    \
    \ diff -r 6eae10290046 -r d0f564b96c10 netx/net/sourceforge/jnlp/resources/Messages_cs.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Tue Mar 17 15:53:46 2015 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Tue Mar 17 12:01:51 2015 -0400 @@ -51,7 +51,7 @@ AboutDialogueTabGPLv2=GPLv2 # missing permissions dialogue -MissingPermissionsMainTitle=Aplikace {0} z {1} postr\u00e1d\u00e1 atribut \u201epermissions\u201c. Aplikaci bez tohoto elementu byste nem\u011bli v\u011b\u0159it. Chcete povolit b\u011bh t\u00e9to aplikace? +MissingPermissionsMainTitle=Aplikace {0} z {1} postr\u00e1d\u00e1 atribut \u201epermissions\u201c. Aplikaci bez tohoto elementu byste nem\u011bli v\u011b\u0159it. Chcete povolit b\u011bh t\u00e9to aplikace? MissingPermissionsInfo=Chcete-li z\u00edskat v\u00edce informac\u00ed, nav\u0161tivte n\u00e1sleduj\u00edc\u00ed weby:
    \ \ Atributy Manifestu souboru JAR
    \ @@ -60,7 +60,7 @@ Zabr\u00e1n\u011bn\u00ed zneu\u017e\u00edv\u00e1n\u00ed aplikac\u00ed # missing Application-Library-Allowable-Codebase dialogue -ALACAMissingMainTitle=Aplikace {0} z {1} postr\u00e1d\u00e1 atribut \u201eapplication-library-allowable-codebase\u201c. Tato aplikace pou\u017e\u00edv\u00e1 zdroje z n\u00e1sleduj\u00edc\u00edho vzd\u00e1len\u00e9ho um\u00edst\u011bn\u00ed:
    {2} Skute\u010dn\u011b chcete spustit tuto aplikaci? +ALACAMissingMainTitle=Aplikace {0} z {1} postr\u00e1d\u00e1 atribut \u201eapplication-library-allowable-codebase\u201c. Tato aplikace pou\u017e\u00edv\u00e1 zdroje z n\u00e1sleduj\u00edc\u00edho vzd\u00e1len\u00e9ho um\u00edst\u011bn\u00ed:
    {2} Skute\u010dn\u011b chcete spustit tuto aplikaci? ALACAMissingInfo=Chcete-li z\u00edskat v\u00edce informac\u00ed, nav\u0161tivte n\u00e1sleduj\u00edc\u00ed weby:
    \ \ Atributy Manifestu souboru JAR
    \ @@ -68,7 +68,7 @@ \ Zabr\u00e1n\u011bn\u00ed zneu\u017e\u00edv\u00e1n\u00ed aplikac\u00ed # matching Application-Library-Allowable-Codebase dialogue -ALACAMatchingMainTitle=Aplikace {0} z {1} vy\u017eaduje platn\u00e9 zdroje z r\u016fzn\u00fdch um\u00edst\u011bn\u00ed:
    {2}
    Na\u010dten\u00ed t\u011bchto zdroj\u016f se o\u010dek\u00e1v\u00e1. Souhlas\u00edte se spu\u0161t\u011bn\u00edm t\u00e9to aplikace? +ALACAMatchingMainTitle=Aplikace {0} z {1} vy\u017eaduje platn\u00e9 zdroje z r\u016fzn\u00fdch um\u00edst\u011bn\u00ed:
    {2}
    Na\u010dten\u00ed t\u011bchto zdroj\u016f se o\u010dek\u00e1v\u00e1. Souhlas\u00edte se spu\u0161t\u011bn\u00edm t\u00e9to aplikace? ALACAMatchingInfo=Chcete-li z\u00edskat v\u00edce informac\u00ed, nav\u0161tivte n\u00e1sleduj\u00edc\u00ed weby:
    \ \ Atributy Manifestu souboru JAR
    \ diff -r 6eae10290046 -r d0f564b96c10 netx/net/sourceforge/jnlp/resources/Messages_de.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties Tue Mar 17 15:53:46 2015 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties Tue Mar 17 12:01:51 2015 -0400 @@ -202,7 +202,7 @@ BBadProp=Falsches Eigenschaftformat {0} (sollte Schl\u00fcssel=Wert sein) BBadParam=Falsches Parameterformat {0} (sollte Name=Wert sein) BNoDir=Verzeichnis {0} existiert nicht. -BNoCodeOrObjectApplet=Die Auszeichnung applet muss ein Attribut 'code' oder 'object' angegeben. +BNoCodeOrObjectApplet=Die Auszeichnung applet muss ein Attribut ''code'' oder ''object'' angegeben. RNoResource=Fehlende Ressource: {0} RShutdown=Diese Ausnahme um Herunterfahren der JVM zu verhindern, aber der Prozess wurde terminiert. RExitTaken=Ausstiegsklasse bereits gesetzt und Aufrufender ist keine Ausstiegsklasse. diff -r 6eae10290046 -r d0f564b96c10 tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java Tue Mar 17 15:53:46 2015 +0100 +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/TranslatorTest.java Tue Mar 17 12:01:51 2015 -0400 @@ -26,9 +26,8 @@ return super.getMessage(message, params); } } + TestableTranslator translator; - - @Before public void setup() throws IOException { @@ -39,6 +38,7 @@ FileOutputStream fos = new FileOutputStream(f); String message = "key=value\n" + "argkey=value {0}\n" + + "apostrophekey=keywith''\n" + "RNoResource=no-resource\n"; fos.write(message.getBytes()); @@ -72,15 +72,23 @@ String message = translator.translate("argkey", new Object[] {"Hello"}); assertEquals("value Hello", message); } - - @Test + + @Test + public void testTranslateMessageWithApostrophe() { + //Message format requires apostrophes to be escaped by using two '' + //The properties files follow this requirement + String message = translator.translate("apostrophekey"); + assertEquals("keywith'", message); + } + + @Test public void singletonTest1() { String message = Translator.R("key"); - Assert.assertNotEquals("value", message); + Assert.assertNotEquals("value", message); } - @Test + @Test public void singletonTest2() { String message = Translator.R("unknown-key"); - Assert.assertTrue(message.contains("unknown-key")); + Assert.assertTrue(message.contains("unknown-key")); } } diff -r 6eae10290046 -r d0f564b96c10 tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java --- a/tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java Tue Mar 17 15:53:46 2015 +0100 +++ b/tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java Tue Mar 17 12:01:51 2015 -0400 @@ -37,6 +37,7 @@ import java.io.File; import java.io.IOException; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; import java.util.PropertyResourceBundle; @@ -70,7 +71,8 @@ try { String s = "";//_cs, _de, _pl PropertyResourceBundle props = new PropertyResourceBundle(CodeBaseManifestEntrySignedMatching.class.getResourceAsStream("/net/sourceforge/jnlp/resources/Messages" + s + ".properties")); - return props.getString(keys[i]); + //Bundle messages need to be formatted + return MessageFormat.format(props.getString(keys[i]), new Object[0]); } catch (IOException ex) { throw new RuntimeException(ex); } From jkang at redhat.com Tue Mar 17 16:06:17 2015 From: jkang at redhat.com (Jie Kang) Date: Tue, 17 Mar 2015 12:06:17 -0400 (EDT) Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <55084BFF.3060606@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> <550737BC.5050000@gmx.de> <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> <5507F07A.4080901@redhat.com> <1921475670.22371157.1426606469039.JavaMail.zimbra@redhat.com> <55084BFF.3060606@redhat.com> Message-ID: <1064831145.22388795.1426608377669.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/17/2015 04:34 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> On 03/16/2015 09:31 PM, Jie Kang wrote: > >>> > >>> > >>> ----- Original Message ----- > >>>> On 03/16/2015 07:20 PM CET Jie Kang wrote: > >>>>> ----- Original Message ----- > >>>>>> On 03/16/2015 05:32 PM CET Jie Kang wrote: > >>>>>>> ----- Original Message ----- > >>>>>>>> Hello, > >>>>>>>> > >>>>>>>> When looking into reproducer failures I noticed that the single > >>>>>>>> quote > >>>>>>>> ' > >>>>>>>> was > >>>>>>>> not being displayed in the logs. > >>>>>>>> > >>>>>>>> E.g: > >>>>>>>> > >>>>>>>> don't --> dont > >>>>>>>> > >>>>>>>> This was caused by the use of MessageFormat in the Translator class. > >>>>>>>> > >>>>>>>> From [1]: Within a String, "''" represents a single quote. [...] > >>>>>>>> > >>>>>>>> [1] > >>>>>>>> http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html > >>>>>>>> > >>>>>>>> Out of the various possible fixes, I have decided to replace single > >>>>>>>> quote > >>>>>>>> instances with two quotes only prior to using the MessageFormat > >>>>>>>> class. > >>>>>>>> Afaict, this doesn't cause any issues and doesn't affect things that > >>>>>>>> don't > >>>>>>>> go through the MessageFormat class. > >>>>>>>> > >>>>>>>> This bug caused a number of reproducers to fail (ex. > >>>>>>>> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) > >>>>>>>> as > >>>>>>>> they > >>>>>>>> expected a string like "don't" but the log output contained a string > >>>>>>>> "dont". > >>>>>>>> With this fix, those reproducers now pass. > >>>>>>>> > >>>>>>>> Thoughts? > >>>>>> > >>>>>> Hmm, the solution to this problem actually depends on the coding style > >>>>>> of > >>>>>> message property files. For example, OpenJDK works around this issue > >>>>>> is > >>>>>> by > >>>>>> actually putting double apostrophe characters into their tool's > >>>>>> message > >>>>>> property > >>>>>> files. So, IcedTea-Web should have or decide on some sort of coding > >>>>>> style > >>>>>> for > >>>>>> its message property files. Which one should it be is arguable. Your > >>>>>> approach > >>>>>> is > >>>>>> certainly valid, however whether it also acceptable depends on the > >>>>>> coding > >>>>>> style > >>>>>> for message property files in IcedTea-Web. Personally, I would prefer > >>>>>> OpenJDK's > >>>>>> approach, hence modify the property files and do not get into possibly > >>>>>> error > >>>>>> prone mangling of strings. > >>>>> > >>>>> I prefer users of the property files not having to deal with how the > >>>>> code > >>>>> formats the strings. I don't care which method goes in as long as one > >>>>> goes > >>>>> in so I'll wait for a third opinion. > >>>> > >>>> I understand and I would like this to happen too. However, you would > >>>> also > >>>> have > >>>> to provide for proper handling of explicit occurrences of curly brackets > >>>> (U+007B > >>>> and U+007D). I am sure we do not want to get into this game. > >>> > >>> Sure. Patch attached. Comments have been added to Messages.properties. I > >>> chose to keep the test for apostrophe escaping and modified it > >>> appropriately. That way if someone modifies this later it'll fail and > >>> hopefully point them towards fixing the properties files as well. > >>> > >>> I used: > >>> > >>> sed -i "s/'/''/g" $file > >>> > >>> to change all the properties files. > >>> > >> > >> Yes - all those messages should be verfied manually in runtime. . Also in > >> manpages/html docs and > >> palintext docs. And tehirs representation in intergrated help.... > >> > > > > Hello, > > > > > > I manually verified all the changed properties to continue to work. > > > > Patch attached again. Thoughts? > > > > > > Also with this patch on HEAD: > > > > Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPLocalTest > > Passed: CodeBaseManifestEntrySignedMatching.AppletJNLPRLocalTest > > Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPRemoteTest > > Passed: CodeBaseManifestEntrySignedMatching.BrowserAppletLocalTest - > > firefox > > Passed: CodeBaseManifestEntrySignedMatching.BrowserJNLPHrefRemoteTest - > > firefox > > Passed: CodeBaseManifestEntrySignedMatching.BrowserJNLPHrefLocalTest - > > firefox > > Passed: CodeBaseManifestEntrySignedMatching.AppletJNLPRemoteTest > > Passed: CodeBaseManifestEntrySignedMatching.BrowserAppletRemoteTest - > > firefox > > Passed: > > CodeBaseManifestEntrySignedMatching.ApplicationJNLPLocalTestWithRemoteCodebase > > Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPLocalTest > > Passed: CodeBaseManifestEntryUnsignedNotMatching.AppletJNLPRLocalTest > > Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPRemoteTest > > Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserAppletLocalTest - > > firefox > > Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest > > - firefox > > Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefLocalTest - > > firefox > > Passed: CodeBaseManifestEntryUnsignedNotMatching.AppletJNLPRemoteTest > > Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserAppletRemoteTest - > > firefox > > Passed: > > CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPLocalTestWithRemoteCodebase > > Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPLocalTest > > Passed: CodeBaseManifestEntrySignedNotMatching.AppletJNLPRLocalTest > > Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPRemoteTest > > Passed: CodeBaseManifestEntrySignedNotMatching.BrowserAppletLocalTest - > > firefox > > Passed: CodeBaseManifestEntrySignedNotMatching.BrowserJNLPHrefRemoteTest - > > firefox > > Passed: CodeBaseManifestEntrySignedNotMatching.BrowserJNLPHrefLocalTest - > > firefox > > Passed: CodeBaseManifestEntrySignedNotMatching.AppletJNLPRemoteTest > > Passed: CodeBaseManifestEntrySignedNotMatching.BrowserAppletRemoteTest - > > firefox > > Passed: > > CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPLocalTestWithRemoteCodebase > > Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPLocalTest > > Passed: CodeBaseManifestEntryUnsignedMatching.AppletJNLPRLocalTest > > Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPRemoteTest > > Passed: CodeBaseManifestEntryUnsignedMatching.BrowserAppletLocalTest - > > firefox > > Passed: CodeBaseManifestEntryUnsignedMatching.BrowserJNLPHrefRemoteTest - > > firefox > > Passed: CodeBaseManifestEntryUnsignedMatching.BrowserJNLPHrefLocalTest - > > firefox > > Passed: CodeBaseManifestEntryUnsignedMatching.AppletJNLPRemoteTest > > Passed: CodeBaseManifestEntryUnsignedMatching.BrowserAppletRemoteTest - > > firefox > > Passed: > > CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPLocalTestWithRemoteCodebase > > Total tests run: 36; From those : 0 known to fail > > Test known to fail: passed: 0; failed: 0; ignored: 0 > > Test results: passed: 36; failed: 0; ignored: 0 > > > > Yay :D > > > > Hopefully it's not just my machine. > > Wou! > > > Please push asap. I will request an testmachine and lunchit. Hopefully > results will be tomorow > before meeting! Ah I realized there is still the issue with manifest-checking. The tests expect manifest checking enabled, but I think the reproducers usually run with them disabled so there will probably be failures on the test machine :\ I think ldracz is working on something to fix this though (discussion in thread [rfc][icedtea-web] Add comments about permission attributes not being checked in reproducers). Regards, > > Thanx! > > J. > > > > > > Regards, > > > >> J. > >> > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Tue Mar 17 16:13:16 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Mar 2015 17:13:16 +0100 Subject: [rfc][icedtea-web] Replace single quote with two single quotes when using MessageFormat in Translator In-Reply-To: <1064831145.22388795.1426608377669.JavaMail.zimbra@redhat.com> References: <166741321.21821174.1426522162336.JavaMail.zimbra@redhat.com> <550719A8.40809@gmx.de> <1516671480.21980978.1426530006425.JavaMail.zimbra@redhat.com> <550737BC.5050000@gmx.de> <14029357.22048569.1426537898205.JavaMail.zimbra@redhat.com> <5507F07A.4080901@redhat.com> <1921475670.22371157.1426606469039.JavaMail.zimbra@redhat.com> <55084BFF.3060606@redhat.com> <1064831145.22388795.1426608377669.JavaMail.zimbra@redhat.com> Message-ID: <5508529C.304@redhat.com> On 03/17/2015 05:06 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 03/17/2015 04:34 PM, Jie Kang wrote: >>> >>> >>> ----- Original Message ----- >>>> On 03/16/2015 09:31 PM, Jie Kang wrote: >>>>> >>>>> >>>>> ----- Original Message ----- >>>>>> On 03/16/2015 07:20 PM CET Jie Kang wrote: >>>>>>> ----- Original Message ----- >>>>>>>> On 03/16/2015 05:32 PM CET Jie Kang wrote: >>>>>>>>> ----- Original Message ----- >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> When looking into reproducer failures I noticed that the single >>>>>>>>>> quote >>>>>>>>>> ' >>>>>>>>>> was >>>>>>>>>> not being displayed in the logs. >>>>>>>>>> >>>>>>>>>> E.g: >>>>>>>>>> >>>>>>>>>> don't --> dont >>>>>>>>>> >>>>>>>>>> This was caused by the use of MessageFormat in the Translator class. >>>>>>>>>> >>>>>>>>>> From [1]: Within a String, "''" represents a single quote. [...] >>>>>>>>>> >>>>>>>>>> [1] >>>>>>>>>> http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html >>>>>>>>>> >>>>>>>>>> Out of the various possible fixes, I have decided to replace single >>>>>>>>>> quote >>>>>>>>>> instances with two quotes only prior to using the MessageFormat >>>>>>>>>> class. >>>>>>>>>> Afaict, this doesn't cause any issues and doesn't affect things that >>>>>>>>>> don't >>>>>>>>>> go through the MessageFormat class. >>>>>>>>>> >>>>>>>>>> This bug caused a number of reproducers to fail (ex. >>>>>>>>>> CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest) >>>>>>>>>> as >>>>>>>>>> they >>>>>>>>>> expected a string like "don't" but the log output contained a string >>>>>>>>>> "dont". >>>>>>>>>> With this fix, those reproducers now pass. >>>>>>>>>> >>>>>>>>>> Thoughts? >>>>>>>> >>>>>>>> Hmm, the solution to this problem actually depends on the coding style >>>>>>>> of >>>>>>>> message property files. For example, OpenJDK works around this issue >>>>>>>> is >>>>>>>> by >>>>>>>> actually putting double apostrophe characters into their tool's >>>>>>>> message >>>>>>>> property >>>>>>>> files. So, IcedTea-Web should have or decide on some sort of coding >>>>>>>> style >>>>>>>> for >>>>>>>> its message property files. Which one should it be is arguable. Your >>>>>>>> approach >>>>>>>> is >>>>>>>> certainly valid, however whether it also acceptable depends on the >>>>>>>> coding >>>>>>>> style >>>>>>>> for message property files in IcedTea-Web. Personally, I would prefer >>>>>>>> OpenJDK's >>>>>>>> approach, hence modify the property files and do not get into possibly >>>>>>>> error >>>>>>>> prone mangling of strings. >>>>>>> >>>>>>> I prefer users of the property files not having to deal with how the >>>>>>> code >>>>>>> formats the strings. I don't care which method goes in as long as one >>>>>>> goes >>>>>>> in so I'll wait for a third opinion. >>>>>> >>>>>> I understand and I would like this to happen too. However, you would >>>>>> also >>>>>> have >>>>>> to provide for proper handling of explicit occurrences of curly brackets >>>>>> (U+007B >>>>>> and U+007D). I am sure we do not want to get into this game. >>>>> >>>>> Sure. Patch attached. Comments have been added to Messages.properties. I >>>>> chose to keep the test for apostrophe escaping and modified it >>>>> appropriately. That way if someone modifies this later it'll fail and >>>>> hopefully point them towards fixing the properties files as well. >>>>> >>>>> I used: >>>>> >>>>> sed -i "s/'/''/g" $file >>>>> >>>>> to change all the properties files. >>>>> >>>> >>>> Yes - all those messages should be verfied manually in runtime. . Also in >>>> manpages/html docs and >>>> palintext docs. And tehirs representation in intergrated help.... >>>> >>> >>> Hello, >>> >>> >>> I manually verified all the changed properties to continue to work. >>> >>> Patch attached again. Thoughts? >>> >>> >>> Also with this patch on HEAD: >>> >>> Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPLocalTest >>> Passed: CodeBaseManifestEntrySignedMatching.AppletJNLPRLocalTest >>> Passed: CodeBaseManifestEntrySignedMatching.ApplicationJNLPRemoteTest >>> Passed: CodeBaseManifestEntrySignedMatching.BrowserAppletLocalTest - >>> firefox >>> Passed: CodeBaseManifestEntrySignedMatching.BrowserJNLPHrefRemoteTest - >>> firefox >>> Passed: CodeBaseManifestEntrySignedMatching.BrowserJNLPHrefLocalTest - >>> firefox >>> Passed: CodeBaseManifestEntrySignedMatching.AppletJNLPRemoteTest >>> Passed: CodeBaseManifestEntrySignedMatching.BrowserAppletRemoteTest - >>> firefox >>> Passed: >>> CodeBaseManifestEntrySignedMatching.ApplicationJNLPLocalTestWithRemoteCodebase >>> Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPLocalTest >>> Passed: CodeBaseManifestEntryUnsignedNotMatching.AppletJNLPRLocalTest >>> Passed: CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPRemoteTest >>> Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserAppletLocalTest - >>> firefox >>> Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefRemoteTest >>> - firefox >>> Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserJNLPHrefLocalTest - >>> firefox >>> Passed: CodeBaseManifestEntryUnsignedNotMatching.AppletJNLPRemoteTest >>> Passed: CodeBaseManifestEntryUnsignedNotMatching.BrowserAppletRemoteTest - >>> firefox >>> Passed: >>> CodeBaseManifestEntryUnsignedNotMatching.ApplicationJNLPLocalTestWithRemoteCodebase >>> Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPLocalTest >>> Passed: CodeBaseManifestEntrySignedNotMatching.AppletJNLPRLocalTest >>> Passed: CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPRemoteTest >>> Passed: CodeBaseManifestEntrySignedNotMatching.BrowserAppletLocalTest - >>> firefox >>> Passed: CodeBaseManifestEntrySignedNotMatching.BrowserJNLPHrefRemoteTest - >>> firefox >>> Passed: CodeBaseManifestEntrySignedNotMatching.BrowserJNLPHrefLocalTest - >>> firefox >>> Passed: CodeBaseManifestEntrySignedNotMatching.AppletJNLPRemoteTest >>> Passed: CodeBaseManifestEntrySignedNotMatching.BrowserAppletRemoteTest - >>> firefox >>> Passed: >>> CodeBaseManifestEntrySignedNotMatching.ApplicationJNLPLocalTestWithRemoteCodebase >>> Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPLocalTest >>> Passed: CodeBaseManifestEntryUnsignedMatching.AppletJNLPRLocalTest >>> Passed: CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPRemoteTest >>> Passed: CodeBaseManifestEntryUnsignedMatching.BrowserAppletLocalTest - >>> firefox >>> Passed: CodeBaseManifestEntryUnsignedMatching.BrowserJNLPHrefRemoteTest - >>> firefox >>> Passed: CodeBaseManifestEntryUnsignedMatching.BrowserJNLPHrefLocalTest - >>> firefox >>> Passed: CodeBaseManifestEntryUnsignedMatching.AppletJNLPRemoteTest >>> Passed: CodeBaseManifestEntryUnsignedMatching.BrowserAppletRemoteTest - >>> firefox >>> Passed: >>> CodeBaseManifestEntryUnsignedMatching.ApplicationJNLPLocalTestWithRemoteCodebase >>> Total tests run: 36; From those : 0 known to fail >>> Test known to fail: passed: 0; failed: 0; ignored: 0 >>> Test results: passed: 36; failed: 0; ignored: 0 >>> >>> Yay :D >>> >>> Hopefully it's not just my machine. >> >> Wou! >> >> >> Please push asap. I will request an testmachine and lunchit. Hopefully >> results will be tomorow >> before meeting! > > Ah I realized there is still the issue with manifest-checking. > > The tests expect manifest checking enabled, but I think the reproducers usually run with them disabled so there will probably be failures on the test machine :\ > > I think ldracz is working on something to fix this though (discussion in thread [rfc][icedtea-web] Add comments about permission attributes not being checked in reproducers). > oh yes:( still - the approach here is to @beforeclass - ensure they are enabled @afterclass - restore original file. You can do this now. But later you need to adapt to lukas' changeset thanx! J. From ptisnovs at icedtea.classpath.org Wed Mar 18 09:13:32 2015 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 18 Mar 2015 09:13:32 +0000 Subject: /hg/gfx-test: 9 new tests added into BitBltUsingBgColor. Message-ID: changeset 08864d1c5e41 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=08864d1c5e41 author: Pavel Tisnovsky date: Wed Mar 18 10:15:33 2015 +0100 9 new tests added into BitBltUsingBgColor. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 153 +++++++++++++++++++++ 2 files changed, 158 insertions(+), 0 deletions(-) diffs (175 lines): diff -r bd4fd9cf21d2 -r 08864d1c5e41 ChangeLog --- a/ChangeLog Tue Mar 17 11:53:17 2015 +0100 +++ b/ChangeLog Wed Mar 18 10:15:33 2015 +0100 @@ -1,3 +1,8 @@ +2015-03-18 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + 9 new tests added into BitBltUsingBgColor. + 2015-03-17 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r bd4fd9cf21d2 -r 08864d1c5e41 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Mar 17 11:53:17 2015 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Wed Mar 18 10:15:33 2015 +0100 @@ -6236,6 +6236,159 @@ } /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, backgroundColor); + } + + /** + * Test basic BitBlt operation for horizontalYellow gradient buffered image with type {@link BufferedImage#TYPE_CUSTOM}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltHorizontalYellowGradientBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithHorizontalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalYellow gradient buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalYellowGradientBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalYellow gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalYellowGradientBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalYellow gradient buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalYellowGradientBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalYellow gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalYellowGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalYellow gradient buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalYellowGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalYellow gradient buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalYellowGradientBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for verticalYellow gradient buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltVerticalYellowGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithVerticalYellowGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. * Background color is set to Color.black. * From jkang at redhat.com Wed Mar 18 15:02:55 2015 From: jkang at redhat.com (Jie Kang) Date: Wed, 18 Mar 2015 11:02:55 -0400 (EDT) Subject: [rfc][icedtea-web] fix itweb-settings set command to allow duplicate strings In-Reply-To: <895853664.21268751.1426272945258.JavaMail.zimbra@redhat.com> References: <490035611.20067099.1426101591288.JavaMail.zimbra@redhat.com> <10095707.20567478.1426173282342.JavaMail.zimbra@redhat.com> <1790807047.20612845.1426176075661.JavaMail.zimbra@redhat.com> <143454427.20668925.1426182458902.JavaMail.zimbra@redhat.com> <1648924221.21162013.1426261938670.JavaMail.zimbra@redhat.com> <1037959255.21226902.1426268922224.JavaMail.zimbra@redhat.com> <895853664.21268751.1426272945258.JavaMail.zimbra@redhat.com> Message-ID: <1075786987.22902176.1426690975654.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hello, > > > > Hello, > > > > > > > > > > > Hello, > > > > > > > > > > > > Hello, > > > > > > > > > > > > > > This patch fixes the issue where the itweb-settings Set would not > > > > > > > allow > > > > > > > the > > > > > > > key and value to be the same value. > > > > > > > Such as set blah blah. This was due to the isKey() method using > > > > > > > .indexOf() > > > > > > > which would always return the index of the first "blah" > > > > > > > registering > > > > > > > two > > > > > > > keys > > > > > > > with no values. The fix is to just alternate between the two > > > > > > > parts > > > > > > > of > > > > > > > the > > > > > > > if > > > > > > > statement. It does this by using null for key and checking when > > > > > > > it > > > > > > > is > > > > > > > null, > > > > > > > to assign a key. When a value is assigned and written then the > > > > > > > key > > > > > > > is > > > > > > > assigned back to null. > > > > > > > > > > > > Hello, > > > > > > > > > > > > Thanks for the fix :) > > > > > > > > > > > > Nits below: > > > > > > > > > > > > - if (isKey(arg)) { > > > > > > + if (key == null) { > > > > > > > > > > > > I think you should still make sure that the argument is actually a > > > > > > key > > > > > > before > > > > > > assigning it. So something like: > > > > > > > > > > > > if (key == null && isKey(arg)) { [...] } > > > > > > > > > > Hmm, I don't agree with this. > > > > > > > > > > Seems redundant to me and I think it would introduce a new bug at > > > > > least > > > > > using > > > > > the current isKey() implementation. > > > > > > > > > > The current isKey would look at the args index in order to find out > > > > > whether > > > > > it was even or odd in the order to help > > > > > decide whether it was a key or value. The current for loop has this > > > > > order > > > > > from args and so when it runs all we need to do > > > > > is alternate the first part of the if and the else part which the > > > > > current > > > > > patch I sent does with the null. > > > > > > > > > > The bug that I believe would result in the case for example: > > > > > > > > > > set blah blue blue red > > > > > > > > > > 1. blah: key is null and index is 0 so enters Key Assigning Part > > > > > 2. blue: key is blah and index is 1 of blue so enters Value Assigning > > > > > Part > > > > > 3. blue: key is null and index found is 1 of blue so enters Value > > > > > Assigning > > > > > Part with key null and value blue > > > > > > > > > > Now I suppose I can rewrite isKey to keep track of the last index > > > > > which > > > > > I > > > > > considered in the first place, > > > > > but since the for loop goes over the terms in the order we want (as > > > > > isKey > > > > > and > > > > > args get the params in the same way) > > > > > All that is needed is to alternate between the first if and the else > > > > > part. > > > > > For me it seems redundant, > > > > > but perhaps I am looking at this wrong. > > > > > > > > > > > > Okay. I didn't really look at what isKey() does. I just assumed that > > > > only > > > > certain inputs were accepted as 'keys' and isKey() would check that. > > > > But > > > > it > > > > looks like you can put anything as a key so that suggestion doesn't > > > > make > > > > sense. > > > > > > > > > > > > > > > > Patch looks fine to me. My one concern that you can optionally address > > > > is: > > > > It's not very obvious the way it's coded now that you're iterating over > > > > the > > > > args in key value pairs. Can you maybe restructure it or add comments > > > > to > > > > make it more clear? > > > > > > Yeah, I have rewritten it with a boolean, hopefully this is much clearer. > > > > > > > Also, what happens on input like: > > > > > > > > 'set a b c' > > > > > > > > Does 'c' get ignored? > > > > > > The OptionParser throws an UnevenParameterException (Added test) > > > > > > > How about 'set a b\ c'? Ie. can users add spaces to their key/value? I > > > > think > > > > these would be some good test cases. > > > > > > Hmm, I am having issues writing a test in this case, since adding "\ " is > > > an > > > illegal escape > > > character in java it seems, and adding a space in the String[] of args, I > > > can't seem to simulate it > > > > I think you can do a test with: > > > > + String[] args = { > > + "set", "key", "value1 value2" > > > > to simulate. > > Ah okay, thanks ! Added two tests one with space between values and one with > space between keys. > Patch is attached. Hello, Looks fine to me; Regards, > > > > > Rest of the patch seems good to me :) > > > > Thank you, > Lukasz Dracz -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at icedtea.classpath.org Wed Mar 18 15:51:43 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 18 Mar 2015 15:51:43 +0000 Subject: /hg/icedtea-web: Added support for Entry-Point manifest Message-ID: changeset ed0b9abe24d7 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=ed0b9abe24d7 author: Jiri Vanek date: Wed Mar 18 16:50:54 2015 +0100 Added support for Entry-Point manifest * netx/net/sourceforge/jnlp/JNLPFile.java: defined ENTRY_POINT. Added methodsto get raw manifest, or list of possible entry points. * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java: Added logic to check real main class against manifest attribute. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: Existing tests made aware about Entry-Point. Added tests for splitEntryPoints. All occurences of claslaoder repalced by classloader. diffstat: ChangeLog | 11 + NEWS | 3 +- netx/net/sourceforge/jnlp/JNLPFile.java | 31 ++- netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java | 31 ++ plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 2 +- tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java | 21 ++ tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java | 104 +++++---- tests/test-extensions/net/sourceforge/jnlp/util/logging/NoStdOutErrTest.java | 6 +- 8 files changed, 152 insertions(+), 57 deletions(-) diffs (374 lines): diff -r d0f564b96c10 -r ed0b9abe24d7 ChangeLog --- a/ChangeLog Tue Mar 17 12:01:51 2015 -0400 +++ b/ChangeLog Wed Mar 18 16:50:54 2015 +0100 @@ -1,3 +1,14 @@ +2015-03-18 Jiri Vanek + + Added support for Entry-Point manifest + * netx/net/sourceforge/jnlp/JNLPFile.java: defined ENTRY_POINT. Added methods + to get raw manifest, or list of possible entry points. + * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java: Added logic + to check real main class against manifest attribute. + * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: Existing tests made + aware about Entry-Point. Added tests for splitEntryPoints. All occurences of + claslaoder repalced by classloader. + 2015-03-17 Jie Kang Escape apostrophes in Messages.properties diff -r d0f564b96c10 -r ed0b9abe24d7 NEWS --- a/NEWS Tue Mar 17 12:01:51 2015 -0400 +++ b/NEWS Wed Mar 18 16:50:54 2015 +0100 @@ -13,7 +13,8 @@ * Improved to be able to run with any JDK * JDK 6 and older no longer supported * JDK 8 support added (URLPermission granted if applicable) -* Added DE localisation +* JDK 9 supported +* Added support for Entry-Point manifest attribute * Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file * starting arguments now accept also -- abbreviations * Control Panel diff -r d0f564b96c10 -r ed0b9abe24d7 netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Mar 17 12:01:51 2015 -0400 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Mar 18 16:50:54 2015 +0100 @@ -900,6 +900,8 @@ public static final String CODEBASE = "Codebase"; public static final String TRUSTED_ONLY = "Trusted-Only"; public static final String TRUSTED_LIBRARY = "Trusted-Library"; + public static final String ENTRY_POINT="Entry-Point"; + private JNLPClassLoader loader; @@ -925,6 +927,18 @@ return loader.getMainClass(); } + /** + * + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt + */ + public String[] getEntryPoints() { + return splitEntryPoints(getEntryPointString()); + } + + public String getEntryPointString() { + return getAttribute(ENTRY_POINT); + } + /** * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_name */ @@ -1047,8 +1061,8 @@ } } } - } - + } + public String createJnlpVendorValue() { final String location; if (getSourceLocation() != null) { @@ -1088,7 +1102,18 @@ return createJnlpTitleValue(); } return getTitle() + " from " + createJnlpTitleValue(); - + } + + //not private for testing purposes + static String[] splitEntryPoints(String entryPointString) { + if (entryPointString == null || entryPointString.trim().isEmpty()) { + return null; + } + String[] result = entryPointString.trim().split("\\s+"); + if (result.length == 0) { + return null; + } + return result; } } diff -r d0f564b96c10 -r ed0b9abe24d7 netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java --- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java Tue Mar 17 12:01:51 2015 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java Wed Mar 18 16:50:54 2015 +0100 @@ -82,6 +82,7 @@ checkCodebaseAttribute(); checkPermissionsAttribute(); checkApplicationLibraryAllowableCodebaseAttribute(); + checkEntryPoint(); } else { OutputController.getLogger().log(OutputController.Level.WARNING_ALL, MANIFEST_CHECK_DISABLED_MESSAGE); } @@ -91,6 +92,36 @@ final String deploymentProperty = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); return Boolean.parseBoolean(deploymentProperty); } + + /* + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt + */ + private void checkEntryPoint() throws LaunchException { + if (signing == SigningState.NONE) { + return; /*when app is not signed at all, then skip this check*/ + } + if (file.getLaunchInfo() == null) { + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Entry-Point can not be checked now, because of not existing launch info."); + return; + } + if (file.getLaunchInfo().getMainClass() == null) { + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Entry-Point can not be checked now, because of unknown main class."); + return; + } + final String[] eps = file.getManifestsAttributes().getEntryPoints(); + String mainClass = file.getLaunchInfo().getMainClass(); + if (eps == null) { + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Entry-Point manifest attribute for yours '" + mainClass + "'not found. Continuing."); + return; + } + for (String ep : eps) { + if (ep.equals(mainClass)) { + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Entry-Point of " + ep + " mathches " + mainClass + " continuing."); + return; + } + } + throw new LaunchException("None of the entry points specified: '" + file.getManifestsAttributes().getEntryPointString() + "' matched the main class " + mainClass + " and apelt is signed. This is a security error and the app will not be launched."); + } /** * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#trusted_only diff -r d0f564b96c10 -r ed0b9abe24d7 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Tue Mar 17 12:01:51 2015 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Mar 18 16:50:54 2015 +0100 @@ -1414,7 +1414,7 @@ panel.sendEvent(AppletPanel.APPLET_DISPOSE); /** - * Fixed #4501142: Classlaoder sharing policy doesn't + * Fixed #4501142: Classloader sharing policy doesn't * take "archive" into account. This will be overridden * by Java Plug-in. [stanleyh] */ diff -r d0f564b96c10 -r ed0b9abe24d7 tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java Tue Mar 17 12:01:51 2015 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java Wed Mar 18 16:50:54 2015 +0100 @@ -360,4 +360,25 @@ JNLPFile jnlpFile = new JNLPFile(is, codeBase, new ParserSettings(false, false, false)); Assert.assertEquals(SecurityDesc.RequestedPermissionLevel.NONE, jnlpFile.getRequestedPermissionLevel()); } + + @Test + public void splitEmptyEntryPointsReturnsTests() throws Exception { + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(" ")); + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(null)); + } + + @Test + public void ensureSingleEntryPointIsParsed() throws Exception { + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints(" a.b.c ")); + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints("a.b.c")); + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints(" a.b.c")); + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints("a.b.c ")); + } + + @Test + public void ensureMultipleEntryPointsAreParsed() throws Exception { + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints(" a.b.c cde")); + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints(" a.b.c cde ")); + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints("a.b.c cde ")); + } } diff -r d0f564b96c10 -r ed0b9abe24d7 tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java Tue Mar 17 12:01:51 2015 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java Wed Mar 18 16:50:54 2015 +0100 @@ -91,25 +91,26 @@ FileTestUtils.createJarWithContents(jarLocation77, manifest77); final DummyJNLPFileWithJar jnlpFile = new DummyJNLPFileWithJar(0, jarLocation66, jarLocation77); //jar 6 should be main - final JNLPClassLoader classLoader = new JNLPClassLoader(jnlpFile, UpdatePolicy.ALWAYS);//jnlp file got its instance in classlaoders constructor + final JNLPClassLoader classLoader = new JNLPClassLoader(jnlpFile, UpdatePolicy.ALWAYS);//jnlp file got its instance in classloaders constructor //jnlpFile.getManifestsAttributes().setLoader(classLoader); //classloader set, but no att specified - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_LIBRARY_ALLOWABLE))); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CALLER_ALLOWABLE))); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CODEBASE))); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.PERMISSIONS))); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.TRUSTED_LIBRARY))); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.TRUSTED_ONLY))); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_LIBRARY_ALLOWABLE))); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CALLER_ALLOWABLE))); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CODEBASE))); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.PERMISSIONS))); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.TRUSTED_LIBRARY))); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.TRUSTED_ONLY))); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT))); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getMainClass()); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getApplicationName()); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getApplicationLibraryAllowableCodebase()); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getCallerAllowableCodebase()); - Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getCodebase()); - Assert.assertEquals("no classlaoder attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isSandboxForced()); - Assert.assertEquals("no classlaoder attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isTrustedLibrary()); - Assert.assertEquals("no classlaoder attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isTrustedOnly()); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getMainClass()); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getApplicationName()); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getApplicationLibraryAllowableCodebase()); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getCallerAllowableCodebase()); + Assert.assertNull("classloader attached, but should be null", jnlpFile.getManifestsAttributes().getCodebase()); + Assert.assertEquals("no classloader attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isSandboxForced()); + Assert.assertEquals("no classloader attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isTrustedLibrary()); + Assert.assertEquals("no classloader attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isTrustedOnly()); } @Test @@ -123,6 +124,7 @@ Manifest manifest6 = new Manifest(); manifest6.getMainAttributes().put(Attributes.Name.MAIN_CLASS, "DummyClass1"); //see DummyJNLPFileWithJar constructor with int manifest6.getMainAttributes().put(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME), "DummyClass1 title"); + manifest6.getMainAttributes().put(new Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT), "main1 main2"); manifest6.getMainAttributes().put(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_LIBRARY_ALLOWABLE), "*.com https://*.cz"); manifest6.getMainAttributes().put(new Attributes.Name(JNLPFile.ManifestsAttributes.CALLER_ALLOWABLE), "*.net ftp://*uu.co.uk"); manifest6.getMainAttributes().put(new Attributes.Name(JNLPFile.ManifestsAttributes.CODEBASE), "*.com *.net *.cz *.co.uk"); @@ -154,28 +156,29 @@ final DummyJNLPFileWithJar jnlpFile = new DummyJNLPFileWithJar(1, jarLocation7, jarLocation6); //jar 6 should be main. Jar 7 have wrong items, but they are never laoded as in main jar are the correct one final DummyJNLPFileWithJar errorJnlpFile = new DummyJNLPFileWithJar(0, jarLocation7); //jar 7 should be main - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_LIBRARY_ALLOWABLE))); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CALLER_ALLOWABLE))); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CODEBASE))); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.PERMISSIONS))); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.TRUSTED_LIBRARY))); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.TRUSTED_ONLY))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_LIBRARY_ALLOWABLE))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CALLER_ALLOWABLE))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CODEBASE))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.PERMISSIONS))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.TRUSTED_LIBRARY))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.TRUSTED_ONLY))); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getApplicationName()); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getApplicationLibraryAllowableCodebase()); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getCallerAllowableCodebase()); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getCodebase()); - Assert.assertEquals("no classlaoder attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isSandboxForced()); - Assert.assertEquals("no classlaoder attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isTrustedLibrary()); - Assert.assertEquals("no classlaoder attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isTrustedOnly()); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getApplicationName()); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getApplicationLibraryAllowableCodebase()); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getCallerAllowableCodebase()); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getCodebase()); + Assert.assertEquals("no classloader attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isSandboxForced()); + Assert.assertEquals("no classloader attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isTrustedLibrary()); + Assert.assertEquals("no classloader attached, should be null", JNLPFile.ManifestBoolean.UNDEFINED, jnlpFile.getManifestsAttributes().isTrustedOnly()); - final JNLPClassLoader classLoader = new JNLPClassLoader(jnlpFile, UpdatePolicy.ALWAYS); //jnlp file got its instance in classlaoders constructor + final JNLPClassLoader classLoader = new JNLPClassLoader(jnlpFile, UpdatePolicy.ALWAYS); //jnlp file got its instance in classloaders constructor //jnlpFile.getManifestsAttributes().setLoader(classLoader); Exception ex = null; try { - final JNLPClassLoader errorClassLoader = new JNLPClassLoader(errorJnlpFile, UpdatePolicy.ALWAYS);//jnlp file got its instance in classlaoders constructor + final JNLPClassLoader errorClassLoader = new JNLPClassLoader(errorJnlpFile, UpdatePolicy.ALWAYS);//jnlp file got its instance in classloaders constructor //errorJnlpFile.getManifestsAttributes().setLoader(errorClassLoader); } catch (Exception e){ //correct exception @@ -184,6 +187,7 @@ Assert.assertNotNull(ex); Assert.assertEquals("DummyClass1 title", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); + Assert.assertEquals("main1 main2", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT))); Assert.assertEquals("*.com https://*.cz", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_LIBRARY_ALLOWABLE))); Assert.assertEquals("*.net ftp://*uu.co.uk", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CALLER_ALLOWABLE))); Assert.assertEquals("*.com *.net *.cz *.co.uk", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CODEBASE))); @@ -194,6 +198,7 @@ Assert.assertNull(errorJnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); + Assert.assertNull(errorJnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT))); Assert.assertNull(errorJnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_LIBRARY_ALLOWABLE))); Assert.assertNull(errorJnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CALLER_ALLOWABLE))); Assert.assertNull(errorJnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.CODEBASE))); @@ -243,6 +248,7 @@ } + @Test public void removeTitle() throws Exception { File tempDirectory = FileTestUtils.createTempDirectory(); @@ -281,13 +287,13 @@ FileTestUtils.createJarWithContents(jarLocation5, manifest5); final DummyJNLPFileWithJar jnlpFile = new DummyJNLPFileWithJar(3, jarLocation5, jarLocation3, jarLocation4, jarLocation1, jarLocation2); //jar 1 should be main - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getMainClass()); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_VENDOR)); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_TITLE)); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.MAIN_CLASS)); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_VENDOR_ID)); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_URL)); - Assert.assertNull("no classlaoder attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getMainClass()); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_VENDOR)); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_TITLE)); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.MAIN_CLASS)); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_VENDOR_ID)); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_URL)); + Assert.assertNull("no classloader attached, should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); Assert.assertNull(jnlpFile.getTitleFromJnlp()); Assert.assertNull(jnlpFile.getTitleFromManifest()); @@ -305,20 +311,20 @@ Assert.assertNull(jnlpFile.getTitleFromManifest()); Assert.assertNull(jnlpFile.getTitle()); - final JNLPClassLoader classLoader = new JNLPClassLoader(jnlpFile, UpdatePolicy.ALWAYS);//jnlp file got its instance in classlaoders constructor + final JNLPClassLoader classLoader = new JNLPClassLoader(jnlpFile, UpdatePolicy.ALWAYS);//jnlp file got its instance in classloaders constructor //jnlpFile.getManifestsAttributes().setLoader(classLoader); - Assert.assertNotNull("classlaoder attached, should be not null", jnlpFile.getManifestsAttributes().getMainClass()); + Assert.assertNotNull("classloader attached, should be not null", jnlpFile.getManifestsAttributes().getMainClass()); Assert.assertNull("defined twice, shoud be null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_VENDOR)); - Assert.assertNotNull("classlaoder attached, should be not null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_TITLE)); - Assert.assertNotNull("classlaoder attached, should be not null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.MAIN_CLASS)); + Assert.assertNotNull("classloader attached, should be not null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_TITLE)); + Assert.assertNotNull("classloader attached, should be not null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.MAIN_CLASS)); Assert.assertNull("not deffined, should benull", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_VENDOR_ID)); - Assert.assertNotNull("classlaoder attached, should be not null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_URL)); - Assert.assertNotNull("classlaoder attached, should be not null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); + Assert.assertNotNull("classloader attached, should be not null", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_URL)); + Assert.assertNotNull("classloader attached, should be not null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); //correct values are also tested in JnlpClassloaderTest - Assert.assertEquals("classlaoder attached, should be not null", "it", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_TITLE)); - Assert.assertEquals("classlaoder attached, should be not null", "DummyClass1", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.MAIN_CLASS)); - Assert.assertEquals("classlaoder attached, should be not null", "some url1", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_URL)); - Assert.assertEquals("classlaoder attached, should be not null", "Manifested Name", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); + Assert.assertEquals("classloader attached, should be not null", "it", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_TITLE)); + Assert.assertEquals("classloader attached, should be not null", "DummyClass1", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.MAIN_CLASS)); + Assert.assertEquals("classloader attached, should be not null", "some url1", jnlpFile.getManifestsAttributes().getAttribute(Attributes.Name.IMPLEMENTATION_URL)); + Assert.assertEquals("classloader attached, should be not null", "Manifested Name", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.APP_NAME))); Assert.assertNull(jnlpFile.getTitleFromJnlp()); Assert.assertEquals("Manifested Name", jnlpFile.getTitleFromManifest()); diff -r d0f564b96c10 -r ed0b9abe24d7 tests/test-extensions/net/sourceforge/jnlp/util/logging/NoStdOutErrTest.java --- a/tests/test-extensions/net/sourceforge/jnlp/util/logging/NoStdOutErrTest.java Tue Mar 17 12:01:51 2015 -0400 +++ b/tests/test-extensions/net/sourceforge/jnlp/util/logging/NoStdOutErrTest.java Wed Mar 18 16:50:54 2015 +0100 @@ -49,9 +49,9 @@ * static instance. On opposite, if junit creates the instance, then itw see this one. * * Explanation is that junit classloader (fresh for each test-class) is creating - * special classlaoder for itw (or better itw is creating its own one). The itw - * classlaoder is then branch...or leaf of junit classlaoder. So any class loaded - * by junit classlaoder is visible from itw, but not vice verse. + * special classloader for itw (or better itw is creating its own one). The itw + * classloader is then branch...or leaf of junit classloader. So any class loaded + * by junit classloader is visible from itw, but not vice verse. */ public class NoStdOutErrTest { From jvanek at icedtea.classpath.org Wed Mar 18 15:56:52 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 18 Mar 2015 15:56:52 +0000 Subject: /hg/icedtea-web: Minor fixes to news Message-ID: changeset b8689b23ce0b in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b8689b23ce0b author: Jiri Vanek date: Wed Mar 18 16:56:46 2015 +0100 Minor fixes to news diffstat: ChangeLog | 4 ++++ NEWS | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diffs (33 lines): diff -r ed0b9abe24d7 -r b8689b23ce0b ChangeLog --- a/ChangeLog Wed Mar 18 16:50:54 2015 +0100 +++ b/ChangeLog Wed Mar 18 16:56:46 2015 +0100 @@ -1,3 +1,7 @@ +2015-03-18 Jiri Vanek + + * NEWS: mentioned documentation. -html and menu shortcuts moved to general. + 2015-03-18 Jiri Vanek Added support for Entry-Point manifest diff -r ed0b9abe24d7 -r b8689b23ce0b NEWS --- a/NEWS Wed Mar 18 16:50:54 2015 +0100 +++ b/NEWS Wed Mar 18 16:56:46 2015 +0100 @@ -17,6 +17,9 @@ * Added support for Entry-Point manifest attribute * Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file * starting arguments now accept also -- abbreviations +* Added new documentation +* Added support for menu shortcuts - both javaws applications/applets and html applets are supported +* added support for -html switch for javaws. Now you can run most of the applets without browser at all * Control Panel - PR1856: ControlPanel UI improvement for lower resolutions (800*600) * NetX @@ -26,8 +29,6 @@ - Dropped support for long unmaintained -basedir argument - Returned support for -jnlp argument - RH1095311, PR574 - References class sun.misc.Ref removed in OpenJDK 9 - fixed, and so buildable on JDK9 - - Added support for menu shortcuts - both javaws applications/applets and html applets are supported - - added support for -html switch for javaws. Now you can run most of the applets without browser at all * Plugin - PR1743 - Intermittant deadlock in PluginRequestProcessor - PR1298 - LiveConnect - problem setting array elements (applet variables) from JS From jkang at redhat.com Wed Mar 18 15:57:14 2015 From: jkang at redhat.com (Jie Kang) Date: Wed, 18 Mar 2015 11:57:14 -0400 (EDT) Subject: [rfc][icedteaweb] support for entry-point manifest atribute In-Reply-To: <1115365094.15393617.1425399632096.JavaMail.zimbra@redhat.com> References: <54EE0413.1050807@redhat.com> <54EE05A0.3010601@redhat.com> <1115365094.15393617.1425399632096.JavaMail.zimbra@redhat.com> Message-ID: <1691294151.22947016.1426694234567.JavaMail.zimbra@redhat.com> ----- Original Message ----- > > > ----- Original Message ----- > > On 02/25/2015 06:19 PM, Jiri Vanek wrote: > > > Hello, this is impl of another security manifest att: > > > http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt > > > I would like to go with it to 1.5 too. > > > > > > Speaking about the attributes: > > > does http://www.geogebra.org/webstart/geogebra.jnlp library loading promt > > > seems correct to you? > > > > > > J. > > Crap - improved one > > > > The check is valid only if RIA is signed. I had it removed for testing... > > Hello, > > > Nice patch :D > > It might be nice for 1.5 but isn't 1.5 released already? We shouldn't really > add new functionality, especially something like this which could easily > break user experience. > > Ie. apps that worked with 1.5.(x) don't work with 1.5.(x+1) anymore (even > though it is correct). > > > + static String[] splitEntryPoints(String eps) { > > The use of protected static here seems to be only so it's easier to test, > yes? Please add a comment saying something like //static and package-private > for testing > > Also, s/eps/entryPointString or something like that. No need to shorten it to > something unreadable nowadays. > > > + throw new LaunchException("None of '" + > file.getManifestsAttributes().getEntryPointString() + "' matched yours " + > mainClass + ". Thats fatal."); > > > It's not clear to me what exactly is happening with the current message. > > Can you change it to something similar to: > > > "None of the entry points matched the main class and the applet is signed. > This is a security error and the applet will not be launched." > > > > + @Test > > Please remove the extra tab. > > + public void splitEntryPointsReturnsTests() throws Exception { > + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(" ")); > + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(null)); > + Assert.assertArrayEquals(new String[]{"a.b.c"}, > JNLPFile.splitEntryPoints(" a.b.c ")); > + Assert.assertArrayEquals(new String[]{"a.b.c"}, > JNLPFile.splitEntryPoints("a.b.c")); > + Assert.assertArrayEquals(new String[]{"a.b.c"}, > JNLPFile.splitEntryPoints(" a.b.c")); > + Assert.assertArrayEquals(new String[]{"a.b.c"}, > JNLPFile.splitEntryPoints("a.b.c ")); > + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, > JNLPFile.splitEntryPoints(" a.b.c cde")); > + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, > JNLPFile.splitEntryPoints(" a.b.c cde ")); > + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, > JNLPFile.splitEntryPoints("a.b.c cde ")); > > As easy as it is, it's bad style to put all your tests in one place. Readers > can't as easily tell what cases you're testing when you do this. You > generally want to minimize a test to a single assert if possible, and split > them into multiple test methods that can be descriptively named. > > Can you put them in separate tests with appropriate names? > > + Assert.assertNull("classlaoder attached, but should be null", > jnlpFile.getManifestsAttributes().getAttribute(new > Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT))); > > While you're here can you > > s/classlaoder/classloader > > Not really required but it looks nicer with correct spelling;; > > > Rest looks great! > > > Regards, > > > > > J. Hello, Did you see this review? I noticed it was pushed without any response here and just wanted to make sure. Regards, > > > > -- > > Jie Kang > > OpenJDK Team - Software Engineering Intern > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Wed Mar 18 16:03:09 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Mar 2015 17:03:09 +0100 Subject: [rfc][icedteaweb] support for entry-point manifest atribute In-Reply-To: <1691294151.22947016.1426694234567.JavaMail.zimbra@redhat.com> References: <54EE0413.1050807@redhat.com> <54EE05A0.3010601@redhat.com> <1115365094.15393617.1425399632096.JavaMail.zimbra@redhat.com> <1691294151.22947016.1426694234567.JavaMail.zimbra@redhat.com> Message-ID: <5509A1BD.6060404@redhat.com> On 03/18/2015 04:57 PM, Jie Kang wrote: > > > ----- Original Message ----- >> >> >> ----- Original Message ----- >>> On 02/25/2015 06:19 PM, Jiri Vanek wrote: >>>> Hello, this is impl of another security manifest att: >>>> http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt >>>> I would like to go with it to 1.5 too. >>>> >>>> Speaking about the attributes: >>>> does http://www.geogebra.org/webstart/geogebra.jnlp library loading promt >>>> seems correct to you? >>>> >>>> J. >>> Crap - improved one >>> >>> The check is valid only if RIA is signed. I had it removed for testing... >> >> Hello, >> >> >> Nice patch :D >> >> It might be nice for 1.5 but isn't 1.5 released already? We shouldn't really >> add new functionality, especially something like this which could easily >> break user experience. >> >> Ie. apps that worked with 1.5.(x) don't work with 1.5.(x+1) anymore (even >> though it is correct). >> >> >> + static String[] splitEntryPoints(String eps) { >> >> The use of protected static here seems to be only so it's easier to test, >> yes? Please add a comment saying something like //static and package-private >> for testing >> >> Also, s/eps/entryPointString or something like that. No need to shorten it to >> something unreadable nowadays. >> >> >> + throw new LaunchException("None of '" + >> file.getManifestsAttributes().getEntryPointString() + "' matched yours " + >> mainClass + ". Thats fatal."); >> >> >> It's not clear to me what exactly is happening with the current message. >> >> Can you change it to something similar to: >> >> >> "None of the entry points matched the main class and the applet is signed. >> This is a security error and the applet will not be launched." >> >> >> >> + @Test >> >> Please remove the extra tab. >> >> + public void splitEntryPointsReturnsTests() throws Exception { >> + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(" ")); >> + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(null)); >> + Assert.assertArrayEquals(new String[]{"a.b.c"}, >> JNLPFile.splitEntryPoints(" a.b.c ")); >> + Assert.assertArrayEquals(new String[]{"a.b.c"}, >> JNLPFile.splitEntryPoints("a.b.c")); >> + Assert.assertArrayEquals(new String[]{"a.b.c"}, >> JNLPFile.splitEntryPoints(" a.b.c")); >> + Assert.assertArrayEquals(new String[]{"a.b.c"}, >> JNLPFile.splitEntryPoints("a.b.c ")); >> + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, >> JNLPFile.splitEntryPoints(" a.b.c cde")); >> + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, >> JNLPFile.splitEntryPoints(" a.b.c cde ")); >> + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, >> JNLPFile.splitEntryPoints("a.b.c cde ")); >> >> As easy as it is, it's bad style to put all your tests in one place. Readers >> can't as easily tell what cases you're testing when you do this. You >> generally want to minimize a test to a single assert if possible, and split >> them into multiple test methods that can be descriptively named. >> >> Can you put them in separate tests with appropriate names? >> >> + Assert.assertNull("classlaoder attached, but should be null", >> jnlpFile.getManifestsAttributes().getAttribute(new >> Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT))); >> >> While you're here can you >> >> s/classlaoder/classloader >> >> Not really required but it looks nicer with correct spelling;; >> >> >> Rest looks great! >> >> >> Regards, >> >>> >>> J. > > Hello, > > Did you see this review? I noticed it was pushed without any response here and just wanted to make sure. > I'm just replying to you. I fixed everything you wonted! Thanx for eye. > > Regards, > >>> >> >> -- >> >> Jie Kang >> >> OpenJDK Team - Software Engineering Intern >> > From jvanek at redhat.com Wed Mar 18 16:08:18 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Mar 2015 17:08:18 +0100 Subject: [rfc][icedteaweb] support for entry-point manifest atribute In-Reply-To: <1115365094.15393617.1425399632096.JavaMail.zimbra@redhat.com> References: <54EE0413.1050807@redhat.com> <54EE05A0.3010601@redhat.com> <1115365094.15393617.1425399632096.JavaMail.zimbra@redhat.com> Message-ID: <5509A2F2.4040509@redhat.com> On 03/03/2015 05:20 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 02/25/2015 06:19 PM, Jiri Vanek wrote: >>> Hello, this is impl of another security manifest att: >>> http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt >>> I would like to go with it to 1.5 too. >>> >>> Speaking about the attributes: >>> does http://www.geogebra.org/webstart/geogebra.jnlp library loading promt >>> seems correct to you? >>> >>> J. >> Crap - improved one >> >> The check is valid only if RIA is signed. I had it removed for testing... > > Hello, > > > Nice patch :D > > It might be nice for 1.5 but isn't 1.5 released already? We shouldn't really add new functionality, especially something like this which could easily break user experience. > > Ie. apps that worked with 1.5.(x) don't work with 1.5.(x+1) anymore (even though it is correct). Agree. > > > + static String[] splitEntryPoints(String eps) { > > The use of protected static here seems to be only so it's easier to test, yes? Please add a comment saying something like //static and package-private for testing sure. > > Also, s/eps/entryPointString or something like that. No need to shorten it to something unreadable nowadays. also done. > > > + throw new LaunchException("None of '" + file.getManifestsAttributes().getEntryPointString() + "' matched yours " + mainClass + ". Thats fatal."); > > > It's not clear to me what exactly is happening with the current message. > > Can you change it to something similar to: > > > "None of the entry points matched the main class and the applet is signed. This is a security error and the applet will not be launched." Used your way (with params like in mine original) > > > > + @Test > > Please remove the extra tab. > > + public void splitEntryPointsReturnsTests() throws Exception { > + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(" ")); > + Assert.assertArrayEquals(null, JNLPFile.splitEntryPoints(null)); > + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints(" a.b.c ")); > + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints("a.b.c")); > + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints(" a.b.c")); > + Assert.assertArrayEquals(new String[]{"a.b.c"}, JNLPFile.splitEntryPoints("a.b.c ")); > + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints(" a.b.c cde")); > + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints(" a.b.c cde ")); > + Assert.assertArrayEquals(new String[]{"a.b.c", "cde"}, JNLPFile.splitEntryPoints("a.b.c cde ")); > > As easy as it is, it's bad style to put all your tests in one place. Readers can't as easily tell what cases you're testing when you do this. You generally want to minimize a test to a single assert if possible, and split them into multiple test methods that can be descriptively named. > > Can you put them in separate tests with appropriate names? > > + Assert.assertNull("classlaoder attached, but should be null", jnlpFile.getManifestsAttributes().getAttribute(new Attributes.Name(JNLPFile.ManifestsAttributes.ENTRY_POINT))); aarggg.... Ok. Split to logical group of three tests methods. > > While you're here can you > > s/classlaoder/classloader also done. Thanx. > > Not really required but it looks nicer with correct spelling;; > > > Rest looks great! > > Thanx pushed. As for issues jacob higlighted. - no checking for fully classified classname - traversing all jars Especially the second may really be dangerous. For first, I really dont know how it may be threating. But both should be revisited, especially the second one and especially because it is affecting all checked attributes. J. From jvanek at redhat.com Wed Mar 18 16:10:54 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Mar 2015 17:10:54 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <54F73D2E.4070902@redhat.com> References: <54F4923C.3030302@redhat.com> <1372442543.15550766.1425412392278.JavaMail.zimbra@redhat.com> <54F71600.30104@redhat.com> <2136797308.15928294.1425481283274.JavaMail.zimbra@redhat.com> <54F72275.1030107@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> Message-ID: <5509A38E.3030507@redhat.com> On 03/04/2015 06:13 PM, Jiri Vanek wrote: >>> >>> Well please fix this as soon as possible. >>> >> >> sure. Probably today. >> >>> Please make sure to get both use-cases below: >>> >>> 1) user changes cachedir to custom location using itweb-settings : this is broken with your patch (bug in PathsAndFiles?) >> >> Sure! > > Hmm. Looking to it now, it stopepd to gave sense to me. > > The cahe si already selectable via XDG variables. Why to make it more complicated by completly custom value? > > Same is valid for logging. > > Is the chengable target of those two really desirable? ping?? I really am for dropping support of dual-setup-able cache and config. However it is definitely not something minor. The resurrection of setupable paths may be tricky, but should be doable. Stil it do not gave sense for me.... > > J. >> >>> >>> 2) for unit tests : we need to be able to set cache to a temporary location : CacheUtil unit tests need to test caching functions (clearCache, etc.), but not in user's cache. >> >> I thought you were working on this? I guess I made this a bit more complicated now... >> >> I'm not sure if this feature is desirable, however Most easy solution will be to create false CacheLruWrapper, or not? (Now I guess You know why it s probably better to not copy its value into static field...) >> J. > From aazores at icedtea.classpath.org Wed Mar 18 16:44:03 2015 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Wed, 18 Mar 2015 16:44:03 +0000 Subject: /hg/icedtea-web: Fixed a string comparison bug in PolicyEditor.main Message-ID: changeset 716fc6d1463a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=716fc6d1463a author: Andrew Azores date: Wed Mar 18 12:43:51 2015 -0400 Fixed a string comparison bug in PolicyEditor.main diffstat: ChangeLog | 6 ++++++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) diffs (25 lines): diff -r b8689b23ce0b -r 716fc6d1463a ChangeLog --- a/ChangeLog Wed Mar 18 16:56:46 2015 +0100 +++ b/ChangeLog Wed Mar 18 12:43:51 2015 -0400 @@ -1,3 +1,9 @@ +2015-03-18 Andrew Azores + + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: (main) + Fixed a bug where a local string variable was compared to the empty string + using ==. + 2015-03-18 Jiri Vanek * NEWS: mentioned documentation. -html and menu shortcuts moved to general. diff -r b8689b23ce0b -r 716fc6d1463a netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Wed Mar 18 16:56:46 2015 +0100 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Wed Mar 18 12:43:51 2015 -0400 @@ -1627,7 +1627,7 @@ String filepath = optionParser.getParam(OptionsDefinitions.OPTIONS.FILE); if (optionParser.getMainArgs().size() == 0) { filepath = null; - } else if (filepath == "") { + } else if (filepath.isEmpty()) { // maybe the user just forgot the -file flag, so try to open anyway filepath = optionParser.getMainArg(); } From aazores at redhat.com Wed Mar 18 17:12:00 2015 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Mar 2015 13:12:00 -0400 (EDT) Subject: [rfc][icedtea-web] PolicyEditor gains a real parser In-Reply-To: <55084506.1030807@redhat.com> References: <549DB266.8050304@redhat.com> <634432449.2830218.1420493276156.JavaMail.zimbra@redhat.com> <54B808F3.4080500@redhat.com> <54CA182A.4030408@redhat.com> <54CAF9C8.7000001@redhat.com> <54D4B0A9.8060201@redhat.com> <1712719406.29985249.1426364399798.JavaMail.zimbra@redhat.com> <55084506.1030807@redhat.com> Message-ID: <459355323.32501518.1426698720586.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/14/2015 09:19 PM, Andrew Azores wrote: > > Hi, > > > > Attached is an updated version of this patch, which makes the editor GUI > > display the actual PolicyIdentifiers, rather than just codebases. Nothing > > else has changed since the previous version (other than also updating the > > patch to apply cleanly on current HEAD), but I think that this patch is in > > a pretty good state right now, and I'd like to push it and continue > > working on it in further, smaller changesets. My next goals are to adapt > > the UI to allow modification of the signedBy and principals for each > > identifier, and then to introduce an "Advanced View" toggle of some sort > > which will toggle between the existing codebase-oriented simplified UI, > > and the full UI which I just outlined. After that, I will look at > > refactoring it all to use a single class as the point of contact with the > > sun classes, as I've already discovered earlier today that this changeset > > no longer builds with the latest JDK 8. > > Just quick galnce - I'm against removal of ciodebase:((( I know it is hard, > but some replcament > hsould be deffined. For now I've put it back then. I think eventually flags for SignedBy and Principals should be added as well, and the three of them can then be used to create a selector. I don't really like the idea that using just -codebase alone for example would result in selecting everything that has a matching codebase - I think it's better if in that situation, it's assumed that you want that matching codebase, and the default (empty/null) for other nonspecified criteria. It makes more sense that way since using the flags this way can either create a new entry or select an existing match. > > Also - I owuld like to release in month, or two - no longer. How is your > work on this suitbale with > this schedule? > > J. > My final exams start in about three weeks and run until the end of April, so I don't know how much time I will have during that period. Can you define what more work you want to be present in the next release and what work can wait until after? Thanks, Andrew -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-real-parser-4.patch Type: text/x-patch Size: 187743 bytes Desc: not available URL: From jvanek at redhat.com Wed Mar 18 17:26:36 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Mar 2015 18:26:36 +0100 Subject: [rfc][icedtea-web] PolicyEditor gains a real parser In-Reply-To: <459355323.32501518.1426698720586.JavaMail.zimbra@redhat.com> References: <549DB266.8050304@redhat.com> <634432449.2830218.1420493276156.JavaMail.zimbra@redhat.com> <54B808F3.4080500@redhat.com> <54CA182A.4030408@redhat.com> <54CAF9C8.7000001@redhat.com> <54D4B0A9.8060201@redhat.com> <1712719406.29985249.1426364399798.JavaMail.zimbra@redhat.com> <55084506.1030807@redhat.com> <459355323.32501518.1426698720586.JavaMail.zimbra@redhat.com> Message-ID: <5509B54C.5040609@redhat.com> On 03/18/2015 06:12 PM, Andrew Azores wrote: > ----- Original Message ----- >> On 03/14/2015 09:19 PM, Andrew Azores wrote: >>> Hi, >>> >>> Attached is an updated version of this patch, which makes the editor GUI >>> display the actual PolicyIdentifiers, rather than just codebases. Nothing >>> else has changed since the previous version (other than also updating the >>> patch to apply cleanly on current HEAD), but I think that this patch is in >>> a pretty good state right now, and I'd like to push it and continue >>> working on it in further, smaller changesets. My next goals are to adapt >>> the UI to allow modification of the signedBy and principals for each >>> identifier, and then to introduce an "Advanced View" toggle of some sort >>> which will toggle between the existing codebase-oriented simplified UI, >>> and the full UI which I just outlined. After that, I will look at >>> refactoring it all to use a single class as the point of contact with the >>> sun classes, as I've already discovered earlier today that this changeset >>> no longer builds with the latest JDK 8. >> >> Just quick galnce - I'm against removal of ciodebase:((( I know it is hard, >> but some replcament >> hsould be deffined. > > For now I've put it back then. I think eventually flags for SignedBy and Principals should be added as well, and the three of That sounds good. > them can then be used to create a selector. I don't really like the idea that using just -codebase alone for example would result > in selecting everything that has a matching codebase - I think it's better if in that situation, it's assumed that you want hmhm. yes. > that matching codebase, and the default (empty/null) for other nonspecified criteria. It makes more sense that way since using > the flags this way can either create a new entry or select an existing match. agree > >> >> Also - I owuld like to release in month, or two - no longer. How is your >> work on this suitbale with >> this schedule? >> >> J. >> > > My final exams start in about three weeks and run until the end of April, so I don't know how much time I will have during that period. Can you define what more work you want to be present in the next release and what work can wait until after? > My issue is, that 1.6 seems pretty stable right now. And this is a big patch. So questions are - How stable and useful is this patch as it is alone? If it is worthy to make it to 1.6? What re risks that you will not be able to tune it before release? also I wonted to write to translators, that they can start transalting - will some upcoming work bring changes to properties? if answers are "not sure" "maybe" "maybe not" and "yes" then I would vote for suspending to 1.7. hmm? J. > Thanks, > > Andrew > From jkang at redhat.com Thu Mar 19 20:32:33 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 19 Mar 2015 16:32:33 -0400 (EDT) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <5509A38E.3030507@redhat.com> References: <54F4923C.3030302@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> <5509A38E.3030507@redhat.com> Message-ID: <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/04/2015 06:13 PM, Jiri Vanek wrote: > >>> > >>> Well please fix this as soon as possible. > >>> > >> > >> sure. Probably today. > >> > >>> Please make sure to get both use-cases below: > >>> > >>> 1) user changes cachedir to custom location using itweb-settings : this > >>> is broken with your patch (bug in PathsAndFiles?) > >> > >> Sure! > > > > Hmm. Looking to it now, it stopepd to gave sense to me. > > > > The cahe si already selectable via XDG variables. Why to make it more > > complicated by completly custom value? > > > > Same is valid for logging. > > > > Is the chengable target of those two really desirable? > > > ping?? > > I really am for dropping support of dual-setup-able cache and config. However > it is definitely not something minor. Hello. I'm not sure what to say to continue this discussion :\ I think that the ability for users to set a custom location for their cache is useful and good to have. Prior to this patch we had this feature, but now it's not working so I think a fix would be nice. What's wrong with allowing users to choose custom locations? We had this feature before already, I am just asking for a fix that makes it work again. Otherwise, if you want to to remove this feature, a patch that removes it all would be nice. Just leaving it broken is the main issue for me. > > The resurrection of setupable paths may be tricky, but should be doable. Stil > it do not gave sense for me.... CacheUtil tests will test the caching system and will deal with the cache on the filesystem. I think it makes sense to use a temporary cache location to do this. ResourceTracker/ResourceDownloader/PluginBridge/other tests that touch resources in the cache will deal with the cache on the filesystem. I think it also makes sense to use a temporary cache location to do this. The main reason for setupable paths is for these tests. Thoughts? I am open to alternatives; Regards, > > > > J. > >> > >>> > >>> 2) for unit tests : we need to be able to set cache to a temporary > >>> location : CacheUtil unit tests need to test caching functions > >>> (clearCache, etc.), but not in user's cache. > >> > >> I thought you were working on this? I guess I made this a bit more > >> complicated now... > >> > >> I'm not sure if this feature is desirable, however Most easy solution will > >> be to create false CacheLruWrapper, or not? (Now I guess You know why it > >> s probably better to not copy its value into static field...) > >> J. > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Fri Mar 20 09:49:22 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 20 Mar 2015 10:49:22 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <1804341423.15945633.1425482602466.JavaMail.zimbra@redhat.com> <1273539986.15963802.1425483428952.JavaMail.zimbra@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> <5509A38E.3030507@redhat.com> <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> Message-ID: <550BED22.9080404@redhat.com> On 03/19/2015 09:32 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 03/04/2015 06:13 PM, Jiri Vanek wrote: >>>>> >>>>> Well please fix this as soon as possible. >>>>> >>>> >>>> sure. Probably today. >>>> >>>>> Please make sure to get both use-cases below: >>>>> >>>>> 1) user changes cachedir to custom location using itweb-settings : this >>>>> is broken with your patch (bug in PathsAndFiles?) >>>> >>>> Sure! >>> >>> Hmm. Looking to it now, it stopepd to gave sense to me. >>> >>> The cahe si already selectable via XDG variables. Why to make it more >>> complicated by completly custom value? >>> >>> Same is valid for logging. >>> >>> Is the chengable target of those two really desirable? >> >> >> ping?? >> >> I really am for dropping support of dual-setup-able cache and config. However >> it is definitely not something minor. > > Hello. > > I'm not sure what to say to continue this discussion :\ I think that the ability for users to set a custom location for their cache is useful and good to have. for what? You can set it ia xdg variables. Its standartized behaviour. > Prior to this patch we had this feature, but now it's not working so I think a fix would be nice. What's wrong with allowing users to choose custom locations? We had this feature before already, I am just asking for a fix that makes it work again. > Otherwise, if you want to to remove this feature, a patch that removes it all would be nice. Just leaving it broken is the main issue for me. Sure. I will fix it or remove it. this+localizations is main blocker for release. Also Lukas's fix for attributes is awaited. > >> >> The resurrection of setupable paths may be tricky, but should be doable. Stil >> it do not gave sense for me.... > > CacheUtil tests will test the caching system and will deal with the cache on the filesystem. I think it makes sense to use a temporary cache location to do this. > ResourceTracker/ResourceDownloader/PluginBridge/other tests that touch resources in the cache will deal with the cache on the filesystem. I think it also makes sense to use a temporary cache location to do this. > > The main reason for setupable paths is for these tests. yes. But those test can now use fake instance of the singleton, or not? > > Thoughts? I am open to alternatives; > > > Regards, > >>> >>> J. >>>> >>>>> >>>>> 2) for unit tests : we need to be able to set cache to a temporary >>>>> location : CacheUtil unit tests need to test caching functions >>>>> (clearCache, etc.), but not in user's cache. >>>> >>>> I thought you were working on this? I guess I made this a bit more >>>> complicated now... >>>> >>>> I'm not sure if this feature is desirable, however Most easy solution will >>>> be to create false CacheLruWrapper, or not? (Now I guess You know why it >>>> s probably better to not copy its value into static field...) >>>> J. >>> >> >> > From jkang at redhat.com Fri Mar 20 12:47:45 2015 From: jkang at redhat.com (Jie Kang) Date: Fri, 20 Mar 2015 08:47:45 -0400 (EDT) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <550BED22.9080404@redhat.com> References: <54F4923C.3030302@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> <5509A38E.3030507@redhat.com> <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> <550BED22.9080404@redhat.com> Message-ID: <1191515581.305479.1426855665119.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/19/2015 09:32 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> On 03/04/2015 06:13 PM, Jiri Vanek wrote: > >>>>> > >>>>> Well please fix this as soon as possible. > >>>>> > >>>> > >>>> sure. Probably today. > >>>> > >>>>> Please make sure to get both use-cases below: > >>>>> > >>>>> 1) user changes cachedir to custom location using itweb-settings : this > >>>>> is broken with your patch (bug in PathsAndFiles?) > >>>> > >>>> Sure! > >>> > >>> Hmm. Looking to it now, it stopepd to gave sense to me. > >>> > >>> The cahe si already selectable via XDG variables. Why to make it more > >>> complicated by completly custom value? > >>> > >>> Same is valid for logging. > >>> > >>> Is the chengable target of those two really desirable? > >> > >> > >> ping?? > >> > >> I really am for dropping support of dual-setup-able cache and config. > >> However > >> it is definitely not something minor. > > > > Hello. > > > > I'm not sure what to say to continue this discussion :\ I think that the > > ability for users to set a custom location for their cache is useful and > > good to have. > > for what? You can set it ia xdg variables. Its standartized behaviour. It's been said before, when you set xdg variables you are changing the cache for not only icedtea-web but every other application that uses xdg's standard file locations. If a user wants to change their cache in 1.6, they must change their cache for every other program? But in 1.5 you could change just icedtea-web cache to any location. How is this a good thing to do? > > > Prior to this patch we had this feature, but now it's not working so I > > think a fix would be nice. > What's wrong with allowing users to choose custom locations? We had this > feature before already, I > am just asking for a fix that makes it work again. > > Otherwise, if you want to to remove this feature, a patch that removes it > > all would be nice. Just leaving it broken is the main issue for me. > > Sure. I will fix it or remove it. this+localizations is main blocker for > release. Also Lukas's fix > for attributes is awaited. > > > >> > >> The resurrection of setupable paths may be tricky, but should be doable. > >> Stil > >> it do not gave sense for me.... > > > > CacheUtil tests will test the caching system and will deal with the cache > > on the filesystem. I think it makes sense to use a temporary cache > > location to do this. > > ResourceTracker/ResourceDownloader/PluginBridge/other tests that touch > > resources in the cache will deal with the cache on the filesystem. I think > > it also makes sense to use a temporary cache location to do this. > > > > The main reason for setupable paths is for these tests. > > > yes. But those test can now use fake instance of the singleton, or not? At the moment, no. An example is CacheUtil.clearCache:. public static boolean clearCache() { [...] CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); [...] How can you test this function with a temporary cache? Otherwise, as soon as you test it by calling CacheUtil.clearCache(), you delete the user cache. The instance is acquired inside, and getInstance() defaults to the one using IT-W's cache. A lot of changes will need to be made to inject fake instances here, but you also have to consider things like ResourceDownloader.downloadResource, and making sure they can use temporary caches too, instead of downloading into user cache. Then you consider, how much effort you need to go through to change all this instead of 1 getter/setter. Is it worth it? Regards, > > > > Thoughts? I am open to alternatives; > > > > > > Regards, > > > >>> > >>> J. > >>>> > >>>>> > >>>>> 2) for unit tests : we need to be able to set cache to a temporary > >>>>> location : CacheUtil unit tests need to test caching functions > >>>>> (clearCache, etc.), but not in user's cache. > >>>> > >>>> I thought you were working on this? I guess I made this a bit more > >>>> complicated now... > >>>> > >>>> I'm not sure if this feature is desirable, however Most easy solution > >>>> will > >>>> be to create false CacheLruWrapper, or not? (Now I guess You know why it > >>>> s probably better to not copy its value into static field...) > >>>> J. > >>> > >> > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Fri Mar 20 13:22:25 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 20 Mar 2015 14:22:25 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <1191515581.305479.1426855665119.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <54F729AC.8090104@redhat.com> <580661029.15977070.1425484515996.JavaMail.zimbra@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> <5509A38E.3030507@redhat.com> <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> <550BED22.9080404@redhat.com> <1191515581.305479.1426855665119.JavaMail.zimbra@redhat.com> Message-ID: <550C1F11.70204@redhat.com> On 03/20/2015 01:47 PM, Jie Kang wrote: > > > ----- Original Message ----- >> On 03/19/2015 09:32 PM, Jie Kang wrote: >>> >>> >>> ----- Original Message ----- >>>> On 03/04/2015 06:13 PM, Jiri Vanek wrote: >>>>>>> >>>>>>> Well please fix this as soon as possible. >>>>>>> >>>>>> >>>>>> sure. Probably today. >>>>>> >>>>>>> Please make sure to get both use-cases below: >>>>>>> >>>>>>> 1) user changes cachedir to custom location using itweb-settings : this >>>>>>> is broken with your patch (bug in PathsAndFiles?) >>>>>> >>>>>> Sure! >>>>> >>>>> Hmm. Looking to it now, it stopepd to gave sense to me. >>>>> >>>>> The cahe si already selectable via XDG variables. Why to make it more >>>>> complicated by completly custom value? >>>>> >>>>> Same is valid for logging. >>>>> >>>>> Is the chengable target of those two really desirable? >>>> >>>> >>>> ping?? >>>> >>>> I really am for dropping support of dual-setup-able cache and config. >>>> However >>>> it is definitely not something minor. >>> >>> Hello. >>> >>> I'm not sure what to say to continue this discussion :\ I think that the >>> ability for users to set a custom location for their cache is useful and >>> good to have. >> >> for what? You can set it ia xdg variables. Its standartized behaviour. > > It's been said before, when you set xdg variables you are changing the cache for not only icedtea-web but every other application that uses xdg's standard file locations. nope - yo can set variabnle per application... But thats metter of taste I see. > > If a user wants to change their cache in 1.6, they must change their cache for every other program? But in 1.5 you could change just icedtea-web cache to any location. How is this a good thing to do? > >> >> > Prior to this patch we had this feature, but now it's not working so I >> > think a fix would be nice. >> What's wrong with allowing users to choose custom locations? We had this >> feature before already, I >> am just asking for a fix that makes it work again. >>> Otherwise, if you want to to remove this feature, a patch that removes it >>> all would be nice. Just leaving it broken is the main issue for me. >> >> Sure. I will fix it or remove it. this+localizations is main blocker for >> release. Also Lukas's fix >> for attributes is awaited. >>> >>>> >>>> The resurrection of setupable paths may be tricky, but should be doable. >>>> Stil >>>> it do not gave sense for me.... >>> >>> CacheUtil tests will test the caching system and will deal with the cache >>> on the filesystem. I think it makes sense to use a temporary cache >>> location to do this. >>> ResourceTracker/ResourceDownloader/PluginBridge/other tests that touch >>> resources in the cache will deal with the cache on the filesystem. I think >>> it also makes sense to use a temporary cache location to do this. >>> >>> The main reason for setupable paths is for these tests. >> >> >> yes. But those test can now use fake instance of the singleton, or not? > > At the moment, no. > > An example is CacheUtil.clearCache:. > > public static boolean clearCache() { > [...] > CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); CacheLRUWrapper lruHandler = new CacheLRUWrapper.(paths1,path2) > [...] > > How can you test this function with a temporary cache? Otherwise, as soon as you test it by calling CacheUtil.clearCache(), you delete the user cache. The instance is acquired inside, and getInstance() defaults to the one using IT-W's cache. > The issue with clearing sounds like an bug. That logic should be probably encapsulated somewhere else. > A lot of changes will need to be made to inject fake instances here, but you also have to consider things like ResourceDownloader.downloadResource, and making sure they can use temporary caches too, instead of downloading into user cache. In thsi case I would say > @beforeclass original = CacheLRUWrapper.getInsatnce() CacheLRUWrapper.setInsatnce(new CacheLRUWrapper(your desired patsh again)) ? @afterclass CacheLRUWrapper.setInsatnce(original) ? > Then you consider, how much effort you need to go through to change all this instead of 1 getter/setter. Is it worth it? > > > Regards, > >>> >>> Thoughts? I am open to alternatives; >>> >>> >>> Regards, >>> >>>>> >>>>> J. >>>>>> >>>>>>> >>>>>>> 2) for unit tests : we need to be able to set cache to a temporary >>>>>>> location : CacheUtil unit tests need to test caching functions >>>>>>> (clearCache, etc.), but not in user's cache. >>>>>> >>>>>> I thought you were working on this? I guess I made this a bit more >>>>>> complicated now... >>>>>> >>>>>> I'm not sure if this feature is desirable, however Most easy solution >>>>>> will >>>>>> be to create false CacheLruWrapper, or not? (Now I guess You know why it >>>>>> s probably better to not copy its value into static field...) >>>>>> J. >>>>> >>>> >>>> >>> >> >> > From jkang at redhat.com Fri Mar 20 13:33:45 2015 From: jkang at redhat.com (Jie Kang) Date: Fri, 20 Mar 2015 09:33:45 -0400 (EDT) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <550C1F11.70204@redhat.com> References: <54F4923C.3030302@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> <5509A38E.3030507@redhat.com> <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> <550BED22.9080404@redhat.com> <1191515581.305479.1426855665119.JavaMail.zimbra@redhat.com> <550C1F11.70204@redhat.com> Message-ID: <2120291230.335581.1426858425585.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/20/2015 01:47 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> On 03/19/2015 09:32 PM, Jie Kang wrote: > >>> > >>> > >>> ----- Original Message ----- > >>>> On 03/04/2015 06:13 PM, Jiri Vanek wrote: > >>>>>>> > >>>>>>> Well please fix this as soon as possible. > >>>>>>> > >>>>>> > >>>>>> sure. Probably today. > >>>>>> > >>>>>>> Please make sure to get both use-cases below: > >>>>>>> > >>>>>>> 1) user changes cachedir to custom location using itweb-settings : > >>>>>>> this > >>>>>>> is broken with your patch (bug in PathsAndFiles?) > >>>>>> > >>>>>> Sure! > >>>>> > >>>>> Hmm. Looking to it now, it stopepd to gave sense to me. > >>>>> > >>>>> The cahe si already selectable via XDG variables. Why to make it more > >>>>> complicated by completly custom value? > >>>>> > >>>>> Same is valid for logging. > >>>>> > >>>>> Is the chengable target of those two really desirable? > >>>> > >>>> > >>>> ping?? > >>>> > >>>> I really am for dropping support of dual-setup-able cache and config. > >>>> However > >>>> it is definitely not something minor. > >>> > >>> Hello. > >>> > >>> I'm not sure what to say to continue this discussion :\ I think that the > >>> ability for users to set a custom location for their cache is useful and > >>> good to have. > >> > >> for what? You can set it ia xdg variables. Its standartized behaviour. > > > > It's been said before, when you set xdg variables you are changing the > > cache for not only icedtea-web but every other application that uses xdg's > > standard file locations. > > nope - yo can set variabnle per application... But thats metter of taste I > see. Can you provide an example? I can't find any documentation for this. > > > > If a user wants to change their cache in 1.6, they must change their cache > > for every other program? But in 1.5 you could change just icedtea-web > > cache to any location. How is this a good thing to do? > > > >> > >> > Prior to this patch we had this feature, but now it's not working so I > >> > think a fix would be nice. > >> What's wrong with allowing users to choose custom locations? We had this > >> feature before already, I > >> am just asking for a fix that makes it work again. > >>> Otherwise, if you want to to remove this feature, a patch that removes it > >>> all would be nice. Just leaving it broken is the main issue for me. > >> > >> Sure. I will fix it or remove it. this+localizations is main blocker for > >> release. Also Lukas's fix > >> for attributes is awaited. > >>> > >>>> > >>>> The resurrection of setupable paths may be tricky, but should be doable. > >>>> Stil > >>>> it do not gave sense for me.... > >>> > >>> CacheUtil tests will test the caching system and will deal with the cache > >>> on the filesystem. I think it makes sense to use a temporary cache > >>> location to do this. > >>> ResourceTracker/ResourceDownloader/PluginBridge/other tests that touch > >>> resources in the cache will deal with the cache on the filesystem. I > >>> think > >>> it also makes sense to use a temporary cache location to do this. > >>> > >>> The main reason for setupable paths is for these tests. > >> > >> > >> yes. But those test can now use fake instance of the singleton, or not? > > > > At the moment, no. > > > > An example is CacheUtil.clearCache:. > > > > public static boolean clearCache() { > > [...] > > CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); > > CacheLRUWrapper lruHandler = new CacheLRUWrapper.(paths1,path2) Uh... what? The clearCache code contains the call to CacheLRUWrapper.getInstance()... you can't just replace the code with a different call. > > > [...] > > > > How can you test this function with a temporary cache? Otherwise, as soon > > as you test it by calling CacheUtil.clearCache(), you delete the user > > cache. The instance is acquired inside, and getInstance() defaults to the > > one using IT-W's cache. > > > The issue with clearing sounds like an bug. That logic should be probably > encapsulated somewhere else. This is just one example. CacheUtil provides utility functions for the cache. Nearly every function in this class has the same issue as clearCache when it comes to writing a test that modifies a temporary cache instead of the user's current cache. > > A lot of changes will need to be made to inject fake instances here, but > > you also have to consider things like ResourceDownloader.downloadResource, > > and making sure they can use temporary caches too, instead of downloading > > into user cache. > > In thsi case I would say > > > @beforeclass > original = CacheLRUWrapper.getInsatnce() > CacheLRUWrapper.setInsatnce(new CacheLRUWrapper(your desired patsh again)) ? > > @afterclass > CacheLRUWrapper.setInsatnce(original) CacheLRUWrapper.setInstance(...)? So, now you have a setter/getter for the entire instance, how is this any better than using a setter/getter for the cache directory itself? Regards, > > ? > > Then you consider, how much effort you need to go through to change all > > this instead of 1 getter/setter. Is it worth it? > > > > > > Regards, > > > >>> > >>> Thoughts? I am open to alternatives; > >>> > >>> > >>> Regards, > >>> > >>>>> > >>>>> J. > >>>>>> > >>>>>>> > >>>>>>> 2) for unit tests : we need to be able to set cache to a temporary > >>>>>>> location : CacheUtil unit tests need to test caching functions > >>>>>>> (clearCache, etc.), but not in user's cache. > >>>>>> > >>>>>> I thought you were working on this? I guess I made this a bit more > >>>>>> complicated now... > >>>>>> > >>>>>> I'm not sure if this feature is desirable, however Most easy solution > >>>>>> will > >>>>>> be to create false CacheLruWrapper, or not? (Now I guess You know why > >>>>>> it > >>>>>> s probably better to not copy its value into static field...) > >>>>>> J. > >>>>> > >>>> > >>>> > >>> > >> > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 23 14:17:58 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 23 Mar 2015 15:17:58 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <2120291230.335581.1426858425585.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <54F72BAD.6010606@redhat.com> <54F73D2E.4070902@redhat.com> <5509A38E.3030507@redhat.com> <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> <550BED22.9080404@redhat.com> <1191515581.305479.1426855665119.JavaMail.zimbra@redhat.com> <550C1F11.70204@redhat.com> <2120291230.335581.1426858425585.JavaMail.zimbra@redhat.com> Message-ID: <55102096.3090005@redhat.com> >>>>>>>>> 1) user changes cachedir to custom location using itweb-settings : >>>>>>>>> this >>>>>>>>> is broken with your patch (bug in PathsAndFiles?) >>>>>>>> >>>>>>>> Sure! >>>>>>> >>>>>>> Hmm. Looking to it now, it stopepd to gave sense to me. >>>>>>> >>>>>>> The cahe si already selectable via XDG variables. Why to make it more >>>>>>> complicated by completly custom value? >>>>>>> >>>>>>> Same is valid for logging. >>>>>>> >>>>>>> Is the chengable target of those two really de sirable? >>>>>> >>>>>> >>>>>> ping?? >>>>>> >>>>>> I really am for dropping support of dual-setup-able cache and config. >>>>>> However >>>>>> it is definitely not something minor. >>>>> >>>>> Hello. >>>>> >>>>> I'm not sure what to say to continue this discussion :\ I think that the >>>>> ability for users to set a custom location for their cache is useful and >>>>> good to have. >>>> >>>> for what? You can set it ia xdg variables. Its standartized behaviour. >>> >>> It's been said before, when you set xdg variables you are changing the >>> cache for not only icedtea-web but every other application that uses xdg's >>> standard file locations. >> >> nope - yo can set variabnle per application... But thats metter of taste I >> see. > > Can you provide an example? I can't find any documentation for this. VAR=val app... > >>> >>> If a user wants to change their cache in 1.6, they must change their cache >>> for every other program? But in 1.5 you could change just icedtea-web >>> cache to any location. How is this a good thing to do? >>> >>>> >>>> > Prior to this patch we had this feature, but now it's not working so I >>>> > think a fix would be nice. >>>> What's wrong with allowing users to choose custom locations? We had this >>>> feature before already, I >>>> am just asking for a fix that makes it work again. >>>>> Otherwise, if you want to to remove this feature, a patch that removes it >>>>> all would be nice. Just leaving it broken is the main issue for me. >>>> >>>> Sure. I will fix it or remove it. this+localizations is main blocker for >>>> release. Also Lukas's fix >>>> for attributes is awaited. >>>>> >>>>>> >>>>>> The resurrection of setupable paths may be tricky, but should be doable. >>>>>> Stil >>>>>> it do not gave sense for me.... >>>>> >>>>> CacheUtil tests will test the caching system and will deal with the cache >>>>> on the filesystem. I think it makes sense to use a temporary cache >>>>> location to do this. >>>>> ResourceTracker/ResourceDownloader/PluginBridge/other tests that touch >>>>> resources in the cache will deal with the cache on the filesystem. I >>>>> think >>>>> it also makes sense to use a temporary cache location to do this. >>>>> >>>>> The main reason for setupable paths is for these tests. >>>> >>>> >>>> yes. But those test can now use fake instance of the singleton, or not? >>> >>> At the moment, no. >>> >>> An example is CacheUtil.clearCache:. >>> >>> public static boolean clearCache() { >>> [...] >>> CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); >> >> CacheLRUWrapper lruHandler = new CacheLRUWrapper.(paths1,path2) > > Uh... what? The clearCache code contains the call to CacheLRUWrapper.getInstance()... you can't just replace the code with a different call. No. Bud you can substitue fake object. > >> >>> [...] >>> >>> How can you test this function with a temporary cache? Otherwise, as soon >>> as you test it by calling CacheUtil.clearCache(), you delete the user >>> cache. The instance is acquired inside, and getInstance() defaults to the >>> one using IT-W's cache. >>> >> The issue with clearing sounds like an bug. That logic should be probably >> encapsulated somewhere else. > > This is just one example. CacheUtil provides utility functions for the cache. > Nearly every function in this class has the same issue as clearCache when it > comes to writing a test that modifies a temporary cache instead of the user's current cache. > Then it is even more buggy then I expected and have to be fixed >>> A lot of changes will need to be made to inject fake instances here, but >>> you also have to consider things like ResourceDownloader.downloadResource, >>> and making sure they can use temporary caches too, instead of downloading >>> into user cache. >> >> In thsi case I would say >>> >> @beforeclass >> original = CacheLRUWrapper.getInsatnce() >> CacheLRUWrapper.setInsatnce(new CacheLRUWrapper(your desired patsh again)) ? >> >> @afterclass >> CacheLRUWrapper.setInsatnce(original) > > CacheLRUWrapper.setInstance(...)? So, now you have a setter/getter for the entire instance, > how is this any better than using a setter/getter for the cache directory itself? I do not care how it will be done, but what must be kept: changed variable (in your case cache/config path) on one place - everything will get this value (path) .. This afaik was not possible with previous implementation. Nor is done .. previous impl was full of hardcoded or copied values. Current impl is - yes - not much better. But at least the issue is visible. So step one - make everything using the only (and accurate) source of truth Step two , make it modifiable Dos not metter what instance will be injected then... Thanx for ideas! J. > > > Regards, > >> >> ? >>> Then you consider, how much effort you need to go through to change all >>> this instead of 1 getter/setter. Is it worth it? >>> >>> >>> Regards, >>> >>>>> >>>>> Thoughts? I am open to alternatives; >>>>> >>>>> >>>>> Regards, >>>>> >>>>>>> >>>>>>> J. >>>>>>>> >>>>>>>>> >>>>>>>>> 2) for unit tests : we need to be able to set cache to a temporary >>>>>>>>> location : CacheUtil unit tests need to test caching functions >>>>>>>>> (clearCache, etc.), but not in user's cache. >>>>>>>> >>>>>>>> I thought you were working on this? I guess I made this a bit more >>>>>>>> complicated now... >>>>>>>> >>>>>>>> I'm not sure if this feature is desirable, however Most easy solution >>>>>>>> will >>>>>>>> be to create false CacheLruWrapper, or not? (Now I guess You know why >>>>>>>> it >>>>>>>> s probably better to not copy its value into static field...) >>>>>>>> J. >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> >>> >> >> > From jkang at redhat.com Mon Mar 23 14:47:15 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 23 Mar 2015 10:47:15 -0400 (EDT) Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <55102096.3090005@redhat.com> References: <54F4923C.3030302@redhat.com> <5509A38E.3030507@redhat.com> <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> <550BED22.9080404@redhat.com> <1191515581.305479.1426855665119.JavaMail.zimbra@redhat.com> <550C1F11.70204@redhat.com> <2120291230.335581.1426858425585.JavaMail.zimbra@redhat.com> <55102096.3090005@redhat.com> Message-ID: <1652655687.1347120.1427122035579.JavaMail.zimbra@redhat.com> ----- Original Message ----- > >>>>>>>>> 1) user changes cachedir to custom location using itweb-settings : > >>>>>>>>> this > >>>>>>>>> is broken with your patch (bug in PathsAndFiles?) > >>>>>>>> > >>>>>>>> Sure! > >>>>>>> > >>>>>>> Hmm. Looking to it now, it stopepd to gave sense to me. > >>>>>>> > >>>>>>> The cahe si already selectable via XDG variables. Why to make it more > >>>>>>> complicated by completly custom value? > >>>>>>> > >>>>>>> Same is valid for logging. > >>>>>>> > >>>>>>> Is the chengable target of those two really de sirable? > >>>>>> > >>>>>> > >>>>>> ping?? > >>>>>> > >>>>>> I really am for dropping support of dual-setup-able cache and config. > >>>>>> However > >>>>>> it is definitely not something minor. > >>>>> > >>>>> Hello. > >>>>> > >>>>> I'm not sure what to say to continue this discussion :\ I think that > >>>>> the > >>>>> ability for users to set a custom location for their cache is useful > >>>>> and > >>>>> good to have. > >>>> > >>>> for what? You can set it ia xdg variables. Its standartized behaviour. > >>> > >>> It's been said before, when you set xdg variables you are changing the > >>> cache for not only icedtea-web but every other application that uses > >>> xdg's > >>> standard file locations. > >> > >> nope - yo can set variabnle per application... But thats metter of taste I > >> see. > > > > Can you provide an example? I can't find any documentation for this. > > VAR=val app... Uh... What kind of example is this? Do you mean exporting the variable before running the application? I don't expect the average user to know to do this :\ So in 1.5, 1.4, users can set the cache using itweb-settings. They update to 1.6 and they can no longer set the cache. Why? Are there any benefits to this? > > > >>> > >>> If a user wants to change their cache in 1.6, they must change their > >>> cache > >>> for every other program? But in 1.5 you could change just icedtea-web > >>> cache to any location. How is this a good thing to do? > >>> > >>>> > >>>> > Prior to this patch we had this feature, but now it's not working > >>>> > so I > >>>> > think a fix would be nice. > >>>> What's wrong with allowing users to choose custom locations? We had this > >>>> feature before already, I > >>>> am just asking for a fix that makes it work again. > >>>>> Otherwise, if you want to to remove this feature, a patch that removes > >>>>> it > >>>>> all would be nice. Just leaving it broken is the main issue for me. > >>>> > >>>> Sure. I will fix it or remove it. this+localizations is main blocker for > >>>> release. Also Lukas's fix > >>>> for attributes is awaited. > >>>>> > >>>>>> > >>>>>> The resurrection of setupable paths may be tricky, but should be > >>>>>> doable. > >>>>>> Stil > >>>>>> it do not gave sense for me.... > >>>>> > >>>>> CacheUtil tests will test the caching system and will deal with the > >>>>> cache > >>>>> on the filesystem. I think it makes sense to use a temporary cache > >>>>> location to do this. > >>>>> ResourceTracker/ResourceDownloader/PluginBridge/other tests that touch > >>>>> resources in the cache will deal with the cache on the filesystem. I > >>>>> think > >>>>> it also makes sense to use a temporary cache location to do this. > >>>>> > >>>>> The main reason for setupable paths is for these tests. > >>>> > >>>> > >>>> yes. But those test can now use fake instance of the singleton, or not? > >>> > >>> At the moment, no. > >>> > >>> An example is CacheUtil.clearCache:. > >>> > >>> public static boolean clearCache() { > >>> [...] > >>> CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); > >> > >> CacheLRUWrapper lruHandler = new CacheLRUWrapper.(paths1,path2) > > > > Uh... what? The clearCache code contains the call to > > CacheLRUWrapper.getInstance()... you can't just replace the code with a > > different call. > > No. Bud you can substitue fake object. I'm sorry but that does not seem possible to me. Show me some code. I don't think you can do this with the current implementation. > > > >> > >>> [...] > >>> > >>> How can you test this function with a temporary cache? Otherwise, as soon > >>> as you test it by calling CacheUtil.clearCache(), you delete the user > >>> cache. The instance is acquired inside, and getInstance() defaults to the > >>> one using IT-W's cache. > >>> > >> The issue with clearing sounds like an bug. That logic should be probably > >> encapsulated somewhere else. > > > > This is just one example. CacheUtil provides utility functions for the > > cache. > > Nearly every function in this class has the same issue as clearCache when > > it > > comes to writing a test that modifies a temporary cache instead of the > > user's current cache. > > > Then it is even more buggy then I expected and have to be fixed It was fixed by my patch [rfc][icedtea-web] Allow cache directory to be changed during runtime. > > >>> A lot of changes will need to be made to inject fake instances here, but > >>> you also have to consider things like > >>> ResourceDownloader.downloadResource, > >>> and making sure they can use temporary caches too, instead of downloading > >>> into user cache. > >> > >> In thsi case I would say > >>> > >> @beforeclass > >> original = CacheLRUWrapper.getInsatnce() > >> CacheLRUWrapper.setInsatnce(new CacheLRUWrapper(your desired patsh again)) > >> ? > >> > >> @afterclass > >> CacheLRUWrapper.setInsatnce(original) > > > > CacheLRUWrapper.setInstance(...)? So, now you have a setter/getter for the > > entire instance, > > how is this any better than using a setter/getter for the cache directory > > itself? > > I do not care how it will be done, but what must be kept: So why did you reject the previous attempt at this? > > changed variable (in your case cache/config path) on one place - everything > will get this value (path) > .. This afaik was not possible with previous implementation. Nor is done This was definitely already done in the patch I posted: [rfc][icedtea-web] Allow cache directory to be changed during runtime > .. > > previous impl was full of hardcoded or copied values. Current impl is - yes - > not much better. > But at least the issue is visible. > > So step one - make everything using the only (and accurate) source of truth > Step two , make it modifiable Once again, both step one and two were achieved in [rfc][icedtea-web] Allow cache directory to be changed during runtime. Please consider re-reviewing the changes there. What you say you need here was already achieved there, without breaking functionality. Please, please in the future don't rush patches like this and push them without full review. Now the situation is even more complicated than before. Regards, > > Dos not metter what instance will be injected then... > > > Thanx for ideas! > > J. > > > > > > > Regards, > > > >> > >> ? > >>> Then you consider, how much effort you need to go through to change all > >>> this instead of 1 getter/setter. Is it worth it? > >>> > >>> > >>> Regards, > >>> > >>>>> > >>>>> Thoughts? I am open to alternatives; > >>>>> > >>>>> > >>>>> Regards, > >>>>> > >>>>>>> > >>>>>>> J. > >>>>>>>> > >>>>>>>>> > >>>>>>>>> 2) for unit tests : we need to be able to set cache to a temporary > >>>>>>>>> location : CacheUtil unit tests need to test caching functions > >>>>>>>>> (clearCache, etc.), but not in user's cache. > >>>>>>>> > >>>>>>>> I thought you were working on this? I guess I made this a bit more > >>>>>>>> complicated now... > >>>>>>>> > >>>>>>>> I'm not sure if this feature is desirable, however Most easy > >>>>>>>> solution > >>>>>>>> will > >>>>>>>> be to create false CacheLruWrapper, or not? (Now I guess You know > >>>>>>>> why > >>>>>>>> it > >>>>>>>> s probably better to not copy its value into static field...) > >>>>>>>> J. > >>>>>>> > >>>>>> > >>>>>> > >>>>> > >>>> > >>>> > >>> > >> > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 23 14:59:46 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 23 Mar 2015 15:59:46 +0100 Subject: [rfc][icedtea-web] fixing CacheReproducerTest and improving VersionedJarTest In-Reply-To: <1652655687.1347120.1427122035579.JavaMail.zimbra@redhat.com> References: <54F4923C.3030302@redhat.com> <5509A38E.3030507@redhat.com> <1633435606.14193.1426797153089.JavaMail.zimbra@redhat.com> <550BED22.9080404@redhat.com> <1191515581.305479.1426855665119.JavaMail.zimbra@redhat.com> <550C1F11.70204@redhat.com> <2120291230.335581.1426858425585.JavaMail.zimbra@redhat.com> <55102096.3090005@redhat.com> <1652655687.1347120.1427122035579.JavaMail.zimbra@redhat.com> Message-ID: <55102A62.5030903@redhat.com> On 03/23/2015 03:47 PM, Jie Kang wrote: > > > ----- Original Message ----- >>>>>>>>>>> 1) user changes cachedir to custom location using itweb-settings : >>>>>>>>>>> this >>>>>>>>>>> is broken with your patch (bug in PathsAndFiles?) >>>>>>>>>> >>>>>>>>>> Sure! >>>>>>>>> >>>>>>>>> Hmm. Looking to it now, it stopepd to gave sense to me. >>>>>>>>> >>>>>>>>> The cahe si already selectable via XDG variables. Why to make it more >>>>>>>>> complicated by completly custom value? >>>>>>>>> >>>>>>>>> Same is valid for logging. >>>>>>>>> >>>>>>>>> Is the chengable target of those two really de sirable? >>>>>>>> >>>>>>>> >>>>>>>> ping?? >>>>>>>> >>>>>>>> I really am for dropping support of dual-setup-able cache and config. >>>>>>>> However >>>>>>>> it is definitely not something minor. >>>>>>> >>>>>>> Hello. >>>>>>> >>>>>>> I'm not sure what to say to continue this discussion :\ I think that >>>>>>> the >>>>>>> ability for users to set a custom location for their cache is useful >>>>>>> and >>>>>>> good to have. >>>>>> >>>>>> for what? You can set it ia xdg variables. Its standartized behaviour. >>>>> >>>>> It's been said before, when you set xdg variables you are changing the >>>>> cache for not only icedtea-web but every other application that uses >>>>> xdg's >>>>> standard file locations. >>>> >>>> nope - yo can set variabnle per application... But thats metter of taste I >>>> see. >>> >>> Can you provide an example? I can't find any documentation for this. >> >> VAR=val app... > > > Uh... What kind of example is this? > > Do you mean exporting the variable before running the application? I don't expect the average user to know to do this :\ And will he dig through settings and change the dirs? > > So in 1.5, 1.4, users can set the cache using itweb-settings. They update to 1.6 and they can no longer set the cache. Why? Are there any benefits to this? The question is different - is it really useful to have it? For me it seems quite confusing to have two mechanisms to change *nearly* same thing. The nearly is doing it even more confusing. To prevent misunderstanding - I agree with your points. But I'm Trying to find some another point to keep it in (except backward compatibility) > >>> >>>>> >>>>> If a user wants to change their cache in 1.6, they must change their >>>>> cache >>>>> for every other program? But in 1.5 you could change just icedtea-web >>>>> cache to any location. How is this a good thing to do? >>>>> >>>>>> >>>>>> > Prior to this patch we had this feature, but now it's not working >>>>>> > so I >>>>>> > think a fix would be nice. >>>>>> What's wrong with allowing users to choose custom locations? We had this >>>>>> feature before already, I >>>>>> am just asking for a fix that makes it work again. >>>>>>> Otherwise, if you want to to remove this feature, a patch that removes >>>>>>> it >>>>>>> all would be nice. Just leaving it broken is the main issue for me. >>>>>> >>>>>> Sure. I will fix it or remove it. this+localizations is main blocker for >>>>>> release. Also Lukas's fix >>>>>> for attributes is awaited. >>>>>>> >>>>>>>> >>>>>>>> The resurrection of setupable paths may be tricky, but should be >>>>>>>> doable. >>>>>>>> Stil >>>>>>>> it do not gave sense for me.... >>>>>>> >>>>>>> CacheUtil tests will test the caching system and will deal with the >>>>>>> cache >>>>>>> on the filesystem. I think it makes sense to use a temporary cache >>>>>>> location to do this. >>>>>>> ResourceTracker/ResourceDownloader/PluginBridge/other tests that touch >>>>>>> resources in the cache will deal with the cache on the filesystem. I >>>>>>> think >>>>>>> it also makes sense to use a temporary cache location to do this. >>>>>>> >>>>>>> The main reason for setupable paths is for these tests. >>>>>> >>>>>> >>>>>> yes. But those test can now use fake instance of the singleton, or not? >>>>> >>>>> At the moment, no. >>>>> >>>>> An example is CacheUtil.clearCache:. >>>>> >>>>> public static boolean clearCache() { >>>>> [...] >>>>> CacheLRUWrapper lruHandler = CacheLRUWrapper.getInstance(); >>>> >>>> CacheLRUWrapper lruHandler = new CacheLRUWrapper.(paths1,path2) >>> >>> Uh... what? The clearCache code contains the call to >>> CacheLRUWrapper.getInstance()... you can't just replace the code with a >>> different call. >> >> No. Bud you can substitue fake object. > > I'm sorry but that does not seem possible to me. Show me some code. I don't think you can do this with the current implementation. Then my impl was even more terrible then I thought. Still it made big bug visible. > >>> >>>> >>>>> [...] >>>>> >>>>> How can you test this function with a temporary cache? Otherwise, as soon >>>>> as you test it by calling CacheUtil.clearCache(), you delete the user >>>>> cache. The instance is acquired inside, and getInstance() defaults to the >>>>> one using IT-W's cache. >>>>> >>>> The issue with clearing sounds like an bug. That logic should be probably >>>> encapsulated somewhere else. >>> >>> This is just one example. CacheUtil provides utility functions for the >>> cache. >> > Nearly every function in this class has the same issue as clearCache when >> > it >> > comes to writing a test that modifies a temporary cache instead of the >> > user's current cache. >>> >> Then it is even more buggy then I expected and have to be fixed > > It was fixed by my patch [rfc][icedtea-web] Allow cache directory to be changed during runtime. It was fixing the disease. Not the reasons of this sickness. I know the patch. And it was good patch. But was patching rotten roots. > >> >>>>> A lot of changes will need to be made to inject fake instances here, but >>>>> you also have to consider things like >>>>> ResourceDownloader.downloadResource, >>>>> and making sure they can use temporary caches too, instead of downloading >>>>> into user cache. >>>> >>>> In thsi case I would say >>>>> >>>> @beforeclass >>>> original = CacheLRUWrapper.getInsatnce() >>>> CacheLRUWrapper.setInsatnce(new CacheLRUWrapper(your desired patsh again)) >>>> ? >>>> >>>> @afterclass >>>> CacheLRUWrapper.setInsatnce(original) >>> >>> CacheLRUWrapper.setInstance(...)? So, now you have a setter/getter for the >>> entire instance, >>> how is this any better than using a setter/getter for the cache directory >>> itself? >> >> I do not care how it will be done, but what must be kept: > > So why did you reject the previous attempt at this? see above. > >> >> changed variable (in your case cache/config path) on one place - everything >> will get this value (path) >> .. This afaik was not possible with previous implementation. Nor is done > > This was definitely already done in the patch I posted: [rfc][icedtea-web] Allow cache directory to be changed during runtime It was not. The only way how it was posisble before was by changing the property. Still - half of the insides had already stored something like dir=System.getProperty(cahce/config) so even if you had changed the property, then the varianles were not adjusted. No help also by changing the fields - the value was already copied on many places. > >> .. >> >> previous impl was full of hardcoded or copied values. Current impl is - yes - >> not much better. >> But at least the issue is visible. >> >> So step one - make everything using the only (and accurate) source of truth >> Step two , make it modifiable > > Once again, both step one and two were achieved in [rfc][icedtea-web] Allow cache directory to be changed during runtime. explained above. > > Please consider re-reviewing the changes there. What you say you need here was already achieved there, without breaking functionality. no - the change to this, must go via PathsAndFiles, and everything in itw had to read this in runtime. > > Please, please in the future don't rush patches like this and push them without full review. Now the situation is even more complicated than before. Maybe:( But at least things had moved bit... Again, thanx for thought! J. From ldracz at icedtea.classpath.org Mon Mar 23 16:01:36 2015 From: ldracz at icedtea.classpath.org (ldracz at icedtea.classpath.org) Date: Mon, 23 Mar 2015 16:01:36 +0000 Subject: /hg/icedtea-web: Fix itweb-settings set command to allow duplica... Message-ID: changeset 7895d4fc25aa in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7895d4fc25aa author: Lukasz Dracz date: Mon Mar 23 12:01:40 2015 -0400 Fix itweb-settings set command to allow duplicate strings 2015-03-23 Lukasz Dracz Fix itweb-settings set command to allow duplicate strings * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java: Fixed a bug where the set command would only use the first of duplicate strings due to the use of index for sorting into keys and values * tests/netx/unit/net/sourceforge/jnlp/controlpanel/CommandLineTest.java: Added tests for set command diffstat: ChangeLog | 10 + netx/net/sourceforge/jnlp/controlpanel/CommandLine.java | 35 +- tests/netx/unit/net/sourceforge/jnlp/controlpanel/CommandLineTest.java | 221 ++++++++++ 3 files changed, 248 insertions(+), 18 deletions(-) diffs (299 lines): diff -r 716fc6d1463a -r 7895d4fc25aa ChangeLog --- a/ChangeLog Wed Mar 18 12:43:51 2015 -0400 +++ b/ChangeLog Mon Mar 23 12:01:40 2015 -0400 @@ -1,3 +1,13 @@ +2015-03-23 Lukasz Dracz + + Fix itweb-settings set command to allow duplicate strings + * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java: + Fixed a bug where the set command would only use the first of + duplicate strings due to the use of index for sorting into + keys and values + * tests/netx/unit/net/sourceforge/jnlp/controlpanel/CommandLineTest.java: + Added tests for set command + 2015-03-18 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: (main) diff -r 716fc6d1463a -r 7895d4fc25aa netx/net/sourceforge/jnlp/controlpanel/CommandLine.java --- a/netx/net/sourceforge/jnlp/controlpanel/CommandLine.java Wed Mar 18 12:43:51 2015 -0400 +++ b/netx/net/sourceforge/jnlp/controlpanel/CommandLine.java Mon Mar 23 12:01:40 2015 -0400 @@ -213,24 +213,28 @@ List args = optionParser.getParams(OptionsDefinitions.OPTIONS.SET); - String key = ""; + String key = null; String value; + boolean isArgKey = false; for (String arg : args) { - if (isKey(arg)) { + isArgKey = !isArgKey; + + if (isArgKey) { key = arg; + continue; + } + + value = arg; + + if (configContains(key)) { + if (validateValue(key, value) == ERROR) { + return ERROR; + } + config.setProperty(key, value); } else { - value = arg; - - if (configContains(key)) { - if (validateValue(key, value) == ERROR) { - return ERROR; - } - config.setProperty(key, value); - } else { - OutputController.getLogger().printOutLn(R("CLWarningUnknownProperty", key)); - config.setProperty(key, value); - } + OutputController.getLogger().printOutLn(R("CLWarningUnknownProperty", key)); + config.setProperty(key, value); } } @@ -244,11 +248,6 @@ return SUCCESS; } - private boolean isKey(final String arg) { - List args = optionParser.getParams(OptionsDefinitions.OPTIONS.SET); - return args.indexOf(arg) % 2 == 0; - } - private boolean configContains(final String arg) { return config.getRaw().containsKey(arg); } diff -r 716fc6d1463a -r 7895d4fc25aa tests/netx/unit/net/sourceforge/jnlp/controlpanel/CommandLineTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/unit/net/sourceforge/jnlp/controlpanel/CommandLineTest.java Mon Mar 23 12:01:40 2015 -0400 @@ -0,0 +1,221 @@ +/* CommandLine.java -- command line interface to icedtea-web's deployment settings. +Copyright (C) 2010 Red Hat + +This program 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 of the License, or +(at your option) any later version. + +This program 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 this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +package net.sourceforge.jnlp.controlpanel; + +import static net.sourceforge.jnlp.runtime.Translator.R; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.PrintStream; +import java.nio.file.Files; + +import net.sourceforge.jnlp.OptionsDefinitions; +import net.sourceforge.jnlp.config.PathsAndFiles; +import net.sourceforge.jnlp.util.logging.OutputController; +import net.sourceforge.jnlp.util.optionparser.OptionParser; +import net.sourceforge.jnlp.util.optionparser.UnevenParameterException; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class CommandLineTest { + + public static final int ERROR = 1; + public static final int SUCCESS = 0; + private static File userDeployFile; + private static String userDeployContents; + + @BeforeClass + public static void setup() throws IOException { + userDeployFile = PathsAndFiles.USER_DEPLOYMENT_FILE.getFile(); + userDeployContents = new String(Files.readAllBytes(userDeployFile.toPath())); + clearDeployFile(); + } + + @AfterClass + public static void afterClass() throws IOException { + Files.write(userDeployFile.toPath(), userDeployContents.getBytes()); + } + + private static void clearDeployFile() throws IOException { + String clear = ""; + Files.write(userDeployFile.toPath(), clear.getBytes()); + } + + private ByteArrayOutputStream getOutputControllerStream() { + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + PrintStream outPrintStream = new PrintStream(outStream); + OutputController.getLogger().setOut(outPrintStream); + + return outStream; + } + + @Test + public void testHandleSetCommand() throws IOException { + ByteArrayOutputStream outStream = getOutputControllerStream(); + + String[] args = { + "set", "deployment.security.level", "ALLOW_UNSIGNED" + }; + OptionParser optionParser = new OptionParser(args, OptionsDefinitions.getItwsettingsCommands()); + CommandLine commandLine = new CommandLine(optionParser); + int status = commandLine.handleSetCommand(); + + assertTrue(outStream.toString().isEmpty()); + assertEquals(SUCCESS, status); + + clearDeployFile(); + } + + @Test + public void testHandleSetCommandDisplaysWarningOnUknownProperty() throws IOException { + ByteArrayOutputStream outStream = getOutputControllerStream(); + + String[] args = { + "set", "unknown", "ALLOW_UNSIGNED" + }; + OptionParser optionParser = new OptionParser(args, OptionsDefinitions.getItwsettingsCommands()); + CommandLine commandLine = new CommandLine(optionParser); + int status = commandLine.handleSetCommand(); + + String output = outStream.toString(); + assertEquals(output, R("CLWarningUnknownProperty", "unknown") + "\n"); + assertEquals(SUCCESS, status); + + clearDeployFile(); + } + + @Test + public void testSetWithDuplicateKeyValuePair() throws IOException { + ByteArrayOutputStream outStream = getOutputControllerStream(); + + String[] args = { + "set", "blah", "blah" + }; + OptionParser optionParser = new OptionParser(args, OptionsDefinitions.getItwsettingsCommands()); + CommandLine commandLine = new CommandLine(optionParser); + int status = commandLine.handleSetCommand(); + String contents = new String(Files.readAllBytes(userDeployFile.toPath())); + + String output = outStream.toString(); + assertEquals(output, R("CLWarningUnknownProperty", "blah") + "\n"); + assertEquals(SUCCESS, status); + assertTrue(contents.contains("blah=blah")); + + clearDeployFile(); + } + + @Test + public void testSetWithDuplicateKeyValue() throws IOException { + ByteArrayOutputStream outStream = getOutputControllerStream(); + + String[] args = { + "set", "blue", "blah", "blah", "green" + }; + + OptionParser optionParser = new OptionParser(args, OptionsDefinitions.getItwsettingsCommands()); + CommandLine commandLine = new CommandLine(optionParser); + int status = commandLine.handleSetCommand(); + String contents = new String(Files.readAllBytes(userDeployFile.toPath())); + + String output = outStream.toString(); + assertTrue(output.contains(R("CLWarningUnknownProperty", "blue") + "\n")); + assertTrue(output.contains(R("CLWarningUnknownProperty", "blah") + "\n")); + assertTrue(contents.contains("blue=blah")); + assertTrue(contents.contains("blah=green")); + assertEquals(SUCCESS, status); + + clearDeployFile(); + } + + @Test + public void testSetPropertyWithIncorrectValue() throws IOException { + String[] args = { + "set", "deployment.security.level", "ALLOW_ONLY_SAFE_APPLETS" + }; + + OptionParser optionParser = new OptionParser(args, OptionsDefinitions.getItwsettingsCommands()); + CommandLine commandLine = new CommandLine(optionParser); + int status = commandLine.handleSetCommand(); + + assertEquals(ERROR, status); + + clearDeployFile(); + } + + @Test(expected = UnevenParameterException.class) + public void testSetOddNumberOfParams() throws IOException { + ByteArrayOutputStream outStream = getOutputControllerStream(); + + String[] args = { + "set", "blue", "blah", "purple" + }; + + OptionParser optionParser = new OptionParser(args, OptionsDefinitions.getItwsettingsCommands()); + CommandLine commandLine = new CommandLine(optionParser); + int status = commandLine.handleSetCommand(); + + clearDeployFile(); + } + + @Test + public void testSetWithValueHavingSpace() throws IOException { + ByteArrayOutputStream outStream = getOutputControllerStream(); + + String[] args = { + "set", "blue", "blah red" + }; + + OptionParser optionParser = new OptionParser(args, OptionsDefinitions.getItwsettingsCommands()); + CommandLine commandLine = new CommandLine(optionParser); + int status = commandLine.handleSetCommand(); + String contents = new String(Files.readAllBytes(userDeployFile.toPath())); + + String output = outStream.toString(); + assertTrue(output.contains(R("CLWarningUnknownProperty", "blue") + "\n")); + assertTrue(contents.contains("blue=blah red")); + assertEquals(SUCCESS, status); + + clearDeployFile(); + } + + @Test + public void testSetWithKeyHavingSpace() throws IOException { + ByteArrayOutputStream outStream = getOutputControllerStream(); + + String[] args = { + "set", "blue green", "blah" + }; + + OptionParser optionParser = new OptionParser(args, OptionsDefinitions.getItwsettingsCommands()); + CommandLine commandLine = new CommandLine(optionParser); + int status = commandLine.handleSetCommand(); + String contents = new String(Files.readAllBytes(userDeployFile.toPath())); + + String output = outStream.toString(); + assertTrue(output.contains(R("CLWarningUnknownProperty", "blue green") + "\n")); + assertTrue(contents.contains("blue\\ green=blah")); + assertEquals(SUCCESS, status); + + clearDeployFile(); + } +} From bugzilla-daemon at icedtea.classpath.org Mon Mar 23 17:02:26 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 23 Mar 2015 17:02:26 +0000 Subject: [Bug 1326] JVM crashes on JavaThread "Java2D Disposer" In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1326 --- Comment #8 from Andrew John Hughes --- Yes, 8020190 is in 2.5.4. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 23 18:23:07 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 23 Mar 2015 18:23:07 +0000 Subject: [Bug 1905] SIGSEGV in PL_HashTableLookupConst+0xf In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1905 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |DUPLICATE --- Comment #4 from Andrew John Hughes --- Looks like a dupe of PR2123. Re-open if not. *** This bug has been marked as a duplicate of bug 2123 *** -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 23 18:23:07 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 23 Mar 2015 18:23:07 +0000 Subject: [Bug 2123] [IcedTea7] SunEC provider crashes when built using system NSS In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2123 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |openjdk at karolherbst.de --- Comment #5 from Andrew John Hughes --- *** Bug 1905 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: From martinrb at google.com Mon Mar 23 18:54:09 2015 From: martinrb at google.com (Martin Buchholz) Date: Mon, 23 Mar 2015 11:54:09 -0700 Subject: IcedTea Build Failures using self as book JDK In-Reply-To: <20150323184824.B19CDE3B4A@aojmv0009> References: <20150323184824.B19CDE3B4A@aojmv0009> Message-ID: [+distro-pkg-dev] On Mon, Mar 23, 2015 at 11:47 AM, Styx, Aaron (US SSA) < aaron.styx at baesystems.com> wrote: > I'm working on porting Java 7 (using IcedTea 2.5.4) to a new OS. I've > completed the build once, but when I install what was built to use as the > bootstrap JDK and start a fresh build , it fails with a seg fault when it > gets into openjdk/jdk/make/com/sun/jmx running openjdk.build/bin/java. Log > file points to problematic frame of ~BufferBlob::flush_icache_stub > > So my question is: should you be able to build IcedTea 2.5.4 using IcedTea > 2.5.4 as the bootstrap JDK? I'm just trying to figure out if it's a problem > I introduced in the port (or our OS), or if I'm trying to do something with > it that it was never meant to do. > > Just for reference, the first build of IcedTea seems to work and run just > fine. All the demos and test programs work great. The only thing I haven't > been able to with it is build itself. > > Thanks, > Aaron > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ldracz at redhat.com Mon Mar 23 19:15:48 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Mon, 23 Mar 2015 15:15:48 -0400 (EDT) Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <55005DDC.7000205@redhat.com> References: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> <54F80A49.2090804@redhat.com> <1776700863.16897075.1425592331325.JavaMail.zimbra@redhat.com> <54F9B5AE.0@redhat.com> <714891563.19481756.1426017273098.JavaMail.zimbra@redhat.com> <55005DDC.7000205@redhat.com> Message-ID: <2037835558.1591045.1427138147999.JavaMail.zimbra@redhat.com> Hello, I have attached the updated patch. > > I have attached a patch to show, what I was thinking of as a potential fix. > > > > maybe a bit of owerkill, but why not. > > > I made a new BasicValueValidator that allows combination of options > > alongside single options. > > I changed attributes check property from a boolean to an enum > > with the following options ALL, NONE, PERMISSIONS, TRUSTED, CODEBASE, ALAC > > With the new MultipleStringValueValidator I have made it that > > attributes check property can either be ALL, NONE or a > > combination of PERMISSIONS, TRUSTED, CODEBASE, ALAC (delimited by "," no > > spaces) > > Please add ENTRYPOINT okay > > > > In this way it can be specified which checks you want to do > > for ex. only TRUSTED and CODEBASE attributes would look like > > deployment.manifest.attributes.check=TRUSTED,CODEBASE > > > > The fix for the tests is also included that changes the > > deployment.manifest.attributes.check in the beforeClass > > and puts back the previous value afterClass. Also deployment.security.level > > is changed to ALLOW_UNSIGNED and back in > > the same fashion for the Partially Signed tests. > > > > I have mostly attached the full patch to get feedback on this direction of > > a fix ? > > Any comments or thoughts would be great. > > > > For review I think it would be best if I split this patch into two, for > > easier reviewing > > > > - The MultipleStringValueValidator > > - The Fix with Manifest Attributes Check and in the tests > > > > Other option is to go with the original suggestion of just an enum with > > true, false, permissions_only with the same > > changing the deployment.properties BeforeClass fix. In this case, I would > > prefer the enum to be ALL, NONE or > > PERMISSIONS (/PERMISSIONS_ONLY) instead. > > if this fixs the testsm then +1 from me for what you have done here. It is > allowing good versatility and actually to test what is necessary. > > > > > Thoughts ? > > few inline. > > > > > > Thank you, > > Lukasz Dracz > > > > ----- Original Message ----- > >> >From: "Jiri Vanek" > >> >To: "Lukasz Dracz" > >> >Cc: "IcedTea Distro List" > >> >Sent: Friday, March 6, 2015 9:11:58 AM > >> >Subject: Re: [rfc][icedteaweb] Add comments about permission attributes > >> >not being checked in reproducers > >> > > >> >On 03/05/2015 10:52 PM, Lukasz Dracz wrote: > >>> > >Hello, > >>> > > > >>> > >----- Original Message ----- > >>>> > >>From: "Jiri Vanek" > >>>> > >>To: "Lukasz Dracz", "IcedTea Distro List" > >>>> > >> > >>>> > >>Sent: Thursday, March 5, 2015 2:48:25 AM > >>>> > >>Subject: Re: [rfc][icedteaweb] Add comments about permission > >>>> > >>attributes > >>>> > >>not being checked in reproducers > >>>> > >> > >>>> > >>On 03/04/2015 10:00 PM, Lukasz Dracz wrote: > >>>>> > >>>Hello, > >>>>> > >>> > >>>>> > >>>I have been looking into why certain reproducers are failing. For > >>>>> > >>>the > >>>>> > >>>following tests > >>>>> > >>> > >>>>> > >>>testPartiallySignedAppletWithSandboxPermissionsInManifestLaunchWithSignedHTMLApp > >>>>> > >>>testPartiallySignedJNLPAppletWithSandboxPermissionsInManifestLaunchWithSignedApp > >>>>> > >>>testSignedAppletWithSandboxPermissionsInManifestHtml > >>>>> > >>>testSignedAppletWithSandboxPermissionsInManifestHtmlJnlpHref > >>>>> > >>>testSignedAppletWithSandboxPermissionsInManifestJnlpApplet > >>>>> > >>>testSignedAppletWithSandboxPermissionsInManifestJnlpApplication > >>>>> > >>> > >>>>> > >>>I found that changeset 1129:0284eb954ebc is reason. > >>>>> > >>> > >>>>> > >>>The reason why is that the permissions attributes check has been > >>>>> > >>>moved > >>>>> > >>>from > >>>>> > >>>always being checked into an if statement > >>>>> > >>>where they are only checked when > >>>>> > >>>deployment.manifest.attributes.check is > >>>>> > >>>set to true. I have tested and found the tests to pass when this > >>>>> > >>>deployment.manifest.attributes.check is set to true. > >>>>> > >>> > >>>>> > >>>This patch just adds comments to the tests for reference to help > >>>>> > >>>explain > >>>>> > >>>to > >>>>> > >>>anyone in the future looking at the tests. At the moment I don't > >>>>> > >>>have a > >>>>> > >>>solution, does anyone have an idea on how to properly fix this or > >>>>> > >>>handle > >>>>> > >>>this ? > >>>>> > >>>I had tried to set the property to true for the tests and revert > >>>>> > >>>it back > >>>>> > >>>after to no avail. I will try to think more on this problem. > >>>>> > >>> > >>>> > >> > >>>> > >>Hi! > >>>> > >> > >>>> > >>So yes - the testsuite is running with > >>>> > >>deployment.manifest.attributes.check=false. > >>>> > >> > >>>> > >>IMHO best would be to tune it to run without any > >>>> > >>deployment.manifest.attributes.check. > >>>> > >> > >>>> > >> > >>>> > >>For your group of tests - I think the best way to go is : > >>>> > >>@beforeclass ensure that no deployment.manifest.attributes.check is > >>>> > >>present > >>>> > >>in > >>>> > >>deploymnet.properties. If it is, remove it. > >>>> > >>@afterclass return it back, if it was here. > >>>> > >> > >>>> > >> > >>>> > >>What do you think? Note - tehre is plenty util methods which loads > >>>> > >>file > >>>> > >>to > >>>> > >>string or save string to > >>>> > >>file. Just do not add more :) > >>> > > > >>> > >I have tested the @beforeclass @afterclass method of editing the > >>> > >deployment.properties file and well it works somewhat, some of the > >>> > >tests > >>> > >pass now > >>> > >but the other ones will prompt a pop-up and if you click to proceed it > >>> > >passes but obviously failing to click proceed it fails. > >> >Maybe instead of beforeclass and after class use this setup only for > >> >specified tests? > >> > > >>> > > > >>> > >This defeats the purpose of the manifest attributes check being set to > >>> > >false. > >>> > >I can't seem to think of a solution I would like. > >> >yes:( > >>> > >I suppose we could split the deployment.manifest.attributes.check into > >>> > >two > >>> > >properties, by adding a new one that decides whether to check the > >>> > >Permissions Attribute and the default > >>> > >deployment.manifest.attributes.check > >>> > >would check all the other attributes. > >>> > > > >>> > >For the test we would edit the manifest like you mentioned with > >>> > >@beforeclass to change the > >>> > >deployment.manifest.permissions.attributes.check to true and keep > >>> > >deployment.manifest.attributes.check false. > >>> > >What do you think about this solution ? > >>> > >Do you have any other ideas ? > >> > > >> >The only other idea of mine is to make > >> >deployment.manifest.attributes.check > >> >tri state (enum TRUE > >> >FALSE PERMISSIONS_ONLY) instead of boolean an new attribute - true (all > >> >are > >> >tests) false (none is > >> >tested) all_but_permissions - then only permission s attribnute is check. > >> > > >> >The deployment.manifest.attributes.check is itw Internal, so we can do > >> >moreover whatever we need > >> >with it. And the code is documentation itself . > >> > > >> >imho - the tristate is better to impl. maintain read. But instead of it, > >> >go > >> >with any option you wont > >> >to fix those tests. > >>> > > > >>> > >I suppose we could also try to make it possible to edit the property > >>> > >directly and having that change updated when done. I would need to > >>> > >look > >>> > >into how feasible this is. > >> > > >> >Not sure If I understood:( > >>> > > > >>> > >Thoughts ? > >>> > > > >>> > >Thank you, > >>> > >Lukasz Dracz > >>> > > > >>> > > > >>> > > > >>> > > > >>>> > >>Thank you! > >>>> > >> > >>>> > >>J. > >>>> > >> > >>>> > >> > >>>> > >> > >>>> > >> > >>>> > >> > >>>> > >> > >>>> > >> > >> > > >> > > > > > combinationManifestAttributesCheck-2.patch > > > > > > diff --git a/netx/net/sourceforge/jnlp/config/BasicValueValidators.java > > b/netx/net/sourceforge/jnlp/config/BasicValueValidators.java > > --- a/netx/net/sourceforge/jnlp/config/BasicValueValidators.java > > +++ b/netx/net/sourceforge/jnlp/config/BasicValueValidators.java > > @@ -202,6 +202,69 @@ > > } > > > > /** > > + * Checks that the value is one of the acceptable single String values > > + * or an acceptable combination of String values > > + */ > > + private static class MultipleStringValueValidator implements > > ValueValidator { > > + String[] singleOptions = null; > > + String[] comboOptions = null; > > make them final. > > They may be set in constructor only. Okay > > + > > + public MultipleStringValueValidator(String[] singleOptions, > > String[] comboOptions) { > > + this.singleOptions = singleOptions; > > + this.comboOptions = comboOptions; > > + } > > + > > + @Override > > + public void validate(Object value) throws IllegalArgumentException > > { > > + Object possibleValue = value; > > + if (!(possibleValue instanceof String)) { > > + throw new IllegalArgumentException("Must be a string"); > > + } > > + > > + String stringVal = (String) possibleValue; > > + boolean found = false; > > + for (String knownVal : singleOptions) { > > + if (knownVal.equals(stringVal)) { > > + found = true; > > + break; > > + } > > + } > > + > > + if (!found) { > > + String[] possibleCombo = stringVal.split(","); > > separate this split in into static method in this class. and move the "," to > constant. okay > See the reasons for this later in code > > > + for (String val : possibleCombo) { > > + if (comboOptionsContains(val)) { > > + found = true; > > + } else { > > + throw new IllegalArgumentException(); > > + } > > + } > > + } > > + > > + if (!found) { > > + throw new IllegalArgumentException(); > > + } > > + } > > + > > + private boolean comboOptionsContains(String possibleVal) { > > + for (String value : comboOptions) { > > + if (value.equals(possibleVal)) { > > + return true; > > + } > > + } > > + return false; > > + } > > + > > + @Override > > + public String getPossibleValues() { > > + String message = "(Values that can be used alone only): " + > > Arrays.toString(singleOptions) + > > + " (Values that can be used in combination): " + > > Arrays.toString(comboOptions); > Mention in second one that the constant of above is an delimiter. and no > space expected > Also it can behave nicer if one of the arrays is null or empty... > > > + return message; > > + } > > Except this one, use also > > ManifestAttributeCheckValidator extends MultipleStringValueValidator > > public ManifestAttributeCheckValidator(){ > super(youKNowTheValues1,youKNowTheValues2) > > Check the behaviour with > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2015-March/031043.html okay > } > > + > > + } > > + > > + /** > > * Checks that the value is a URL > > */ > > private static class UrlValidator implements ValueValidator { > > @@ -262,6 +325,18 @@ > > } > > > > /** > > + * Returns a {@link ValueValidator} that checks if an object is a > > string from > > + * one of the provided single option Strings or a combination from > > + * the provided combination Strings. > > + * @param singleValues an array of Strings which are considered valid > > only by themselves > > + * @param comboValues an array of Strings which are considered valid > > in any combination > > + * with themselves > > + */ > > + public static ValueValidator getMultipleStringValidator(String[] > > singleValues, String[] comboValues) { > > + return new MultipleStringValueValidator(singleValues, > > comboValues); > > + } > > > add getter also for the ManifestAttributeCheckValidator sure > > > > + > > + /** > > * @return a {@link ValueValidator} that checks if an object > > represents a > > * valid url > > */ > > 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 > > @@ -43,6 +43,8 @@ > > import net.sourceforge.jnlp.ShortcutDesc; > > import static net.sourceforge.jnlp.config.PathsAndFiles.*; > > import net.sourceforge.jnlp.runtime.JNLPProxySelector; > > +import net.sourceforge.jnlp.runtime.ManifestAttributesChecker; > > + > > import static net.sourceforge.jnlp.runtime.Translator.R; > > > > /** > > @@ -409,8 +411,16 @@ > > //enable manifest-attributes checks > > { > > DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, > > - BasicValueValidators.getBooleanValidator(), > > - String.valueOf(true) > > + > > BasicValueValidators.getMultipleStringValidator(new > > String[] { > > + > > ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALL.toString(), > > + > > ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.NONE.toString() > > + }, new String[] { > > + > > ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.PERMISSIONS.toString(), > > + > > ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString(), > > + > > ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.TRUSTED.toString(), > > + > > ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALAC.toString() > > USe the ManifestAttributeCheckValidator > > + }), > > + String.valueOf("ALL") > > } > > }; > > > > diff --git > > a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > > b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > > --- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > > +++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > > @@ -37,7 +37,9 @@ > > package net.sourceforge.jnlp.runtime; > > > > import java.net.URL; > > +import java.util.Arrays; > > import java.util.HashSet; > > +import java.util.List; > > import java.util.Set; > > > > import net.sourceforge.jnlp.ExtensionDesc; > > @@ -75,21 +77,45 @@ > > this.securityDelegate = securityDelegate; > > } > > > > + public enum MANIFEST_ATTRIBUTES_CHECK { > > + ALL, > > + NONE, > > + PERMISSIONS, > > + CODEBASE, > > + TRUSTED, > > + ALAC > > Please add also ENTRYPOINT (or I will forget it in next patch) Yes > > + } > > + > > void checkAll() throws LaunchException { > > - if (isCheckEnabled()) { > > - checkPermissionsAttribute(); > > + List attributesCheck = getAttributesCheck(); > > + if > > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALL.toString())) { > > checkTrustedOnlyAttribute(); > > checkCodebaseAttribute(); > > checkPermissionsAttribute(); > > checkApplicationLibraryAllowableCodebaseAttribute(); > > } else { > > - > > OutputController.getLogger().log(OutputController.Level.WARNING_ALL, > > MANIFEST_CHECK_DISABLED_MESSAGE); > > + if > > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.TRUSTED.toString())) { > > + checkTrustedOnlyAttribute(); > > + } > > + if > > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString())) > > { > > + checkCodebaseAttribute(); > > + } > > + if > > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.PERMISSIONS.toString())) > > { > > + checkPermissionsAttribute(); > > + } > > + if > > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALAC.toString())) { > > + checkApplicationLibraryAllowableCodebaseAttribute(); > > + } > > + if > > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.NONE.toString())) { > > + > > OutputController.getLogger().log(OutputController.Level.WARNING_ALL, > > MANIFEST_CHECK_DISABLED_MESSAGE); > > + } > > > I would rewrite this hunk a bit: > > List attributesCheck = getAttributesCheck(); > if > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALL.toString())) > { > checkTrustedOnlyAttribute(); > checkCodebaseAttribute(); > checkPermissionsAttribute(); > checkApplicationLibraryAllowableCodebaseAttribute(); > } else { > if > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.TRUSTED.toString())) > { > checkTrustedOnlyAttribute(); > } > if > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString())) > { > checkCodebaseAttribute(); > } > if > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.PERMISSIONS.toString())) > { > checkPermissionsAttribute(); > } > if > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALAC.toString())) > { > checkApplicationLibraryAllowableCodebaseAttribute(); > } > if > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.NONE.toString())) > { > OutputController.getLogger().log(OutputController.Level.WARNING_ALL, > MANIFEST_CHECK_DISABLED_MESSAGE); > } > } > > => > > List attributesCheck = getAttributesCheck(); > *maybe this can be done on enum level rather then on Sting level? > > if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.TRUSTED) > OR attributesCheck.haveOnlyAll) { > checkTrustedOnlyAttribute(); > } else { > OutputController.getLogger().log(OutputController.Level.WARNING_ALL, > "check on Trusted-Only skipped because properrty of > enable.manifest... have value(s) of: reprint that); > if > (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString())) > { > checkCodebaseAttribute(); > } > ... same for rest. What do you think? I rewrote it, I think it follows what you outlined. > } > > > } > > } > > > > - public static boolean isCheckEnabled() { > > + public static List getAttributesCheck() { > > final String deploymentProperty = > > JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); > > - return Boolean.parseBoolean(deploymentProperty); > > + String[] attributesCheck = deploymentProperty.split(","); > > + return Arrays.asList(attributesCheck); > > Well, map back to ENUM rather. Okay > > } > > > > /** > > diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java > > b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java > > --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java > > +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java > > @@ -65,7 +65,7 @@ > > @BeforeClass > > public static void setPermissions() { > > level = > > AppletStartupSecuritySettings.getInstance().getSecurityLevel(); > > - attCheckValue = ManifestAttributesChecker.isCheckEnabled(); > > + attCheckValue = ManifestAttributesChecker.getAttributesCheck(); > > JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_LEVEL, > > AppletSecurityLevel.ALLOW_UNSIGNED.toChars()); > > JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, > > String.valueOf(true)); > > Are you sure that this is the only change needed here? > > JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, > String.valueOf(attCheckValue)); > > sounds more fragile... Ahh I used the IDE switch method name every occurrence but I didn't look at the occurrences to see if more changes where needed. I have fixed that, good catch ! > > } > > Please add one or two simple unittests for new (two!) validators > > diff --git > > a/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java > > b/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java > > --- > > a/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java > > +++ > > b/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java > > @@ -36,6 +36,10 @@ > > */ > > > > import static org.junit.Assert.assertTrue; > > + > > +import java.io.File; > > +import java.io.IOException; > > + > > import net.sourceforge.jnlp.ProcessResult; > > import net.sourceforge.jnlp.annotations.Bug; > > import net.sourceforge.jnlp.annotations.NeedsDisplay; > > @@ -44,6 +48,9 @@ > > import net.sourceforge.jnlp.browsertesting.Browsers; > > import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; > > > > +import net.sourceforge.jnlp.util.FileUtils; > > +import org.junit.AfterClass; > > +import org.junit.BeforeClass; > > import org.junit.Test; > > > > public class PartiallySignedAppletManifestSpecifiesSandboxTests extends > > BrowserTest { > > @@ -56,6 +63,67 @@ > > private static final String STACKTRACE_NOT_GRANT_PERMISSIONS_TYPE = > > "Cannot grant permissions to unsigned jars"; > > private static final String USER_HOME = > > System.getProperty("user.home"); > > > > + private static File deployFile; > > + private static String attributesCheck; > > + private static String securityLevel; > > + private static boolean foundAttributesCheck = false; > > + private static boolean foundSecurityLevel = false; > > + > > + @BeforeClass > > + public static void setupDeploymentProperties() throws IOException { > > + String location = System.getProperty("user.home") + > > "/.config/icedtea-web/deployment.properties"; > > NO! use PathsAndFiles!!! > > > + deployFile = new File(location); > > + String properties = FileUtils.loadFileAsString(deployFile); > > + String deployProperties = ""; > > + > > Please simplify this: Yes, I have simplified it and I used PathsAndFiles now. Sorry wasn't aware of PathsAndFiles. > > > > + for (String line : properties.split("\n")) { > > + if (line.contains("deployment.manifest.attributes.check")) { > > + attributesCheck = line; > > + deployProperties += > > "deployment.manifest.attributes.check=PERMISSIONS\n"; > > + foundAttributesCheck = true; > > not needed, or not? You can use attributesCheck and null/not null > > + } else if (line.contains("deployment.security.level")) { > > + securityLevel = line; > > + deployProperties += > > "deployment.security.level=ALLOW_UNSIGNED\n"; > > + foundSecurityLevel = true; > same here, or not? > > + } else { > > + deployProperties += line + "\n"; > > + } > > + } > > + > > + if (!foundAttributesCheck) { > > + deployProperties += > > "deployment.manifest.attributes.check=PERMISSIONS\n"; > > + } > > + if (!foundSecurityLevel) { > > + deployProperties += > > "deployment.security.level=ALLOW_UNSIGNED\n"; > > + } > > + > > + FileUtils.saveFile(deployProperties, deployFile); > > + } > > + > > + @AfterClass > > + public static void setbackDeploymentProperties() throws IOException { > > + String location = System.getProperty("user.home") + > > "/.config/icedtea-web/deployment.properties"; > > NO! use PathsAndFiles!!! > > > + deployFile = new File(location); > > + String properties = FileUtils.loadFileAsString(deployFile); > > + String deployProperties = ""; > > + > > + for (String line : properties.split("\n")) { > > + if (line.contains("deployment.manifest.attributes.check")) { > > + if (foundAttributesCheck) { > > + deployProperties += attributesCheck + "\n"; > > + } > > + } else if (line.contains("deployment.security.level")) { > > + if (foundSecurityLevel) { > > + deployProperties += securityLevel + "\n"; > > + } > > + } else { > > + deployProperties += line + "\n"; > > + } > > + } > > + > > + FileUtils.saveFile(deployProperties, deployFile); > > + } > > + > > @Test > > @NeedsDisplay > > @TestInBrowsers(testIn={Browsers.one}) > > diff --git > > a/tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > > b/tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > > --- > > a/tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > > +++ > > b/tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > > @@ -36,6 +36,10 @@ > > */ > > > > import static org.junit.Assert.assertTrue; > > + > > +import java.io.File; > > +import java.io.IOException; > > + > > import net.sourceforge.jnlp.ProcessResult; > > import net.sourceforge.jnlp.annotations.Bug; > > import net.sourceforge.jnlp.annotations.NeedsDisplay; > > @@ -44,6 +48,9 @@ > > import net.sourceforge.jnlp.browsertesting.Browsers; > > import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; > > > > +import net.sourceforge.jnlp.util.FileUtils; > > +import org.junit.AfterClass; > > +import org.junit.BeforeClass; > > import org.junit.Test; > > > > public class SignedAppletManifestSpecifiesSandboxTests extends > > BrowserTest { > > @@ -56,6 +63,54 @@ > > private static final String JNLP_EXPECTED_STDOUT = "Initialization > > Error"; > > private static final String JNLP_EXPECTED_STDERR = > > "net.sourceforge.jnlp.LaunchException"; > > > > + private static File deployFile; > > + private static String attributesCheck; > > + private static boolean foundAttributesCheck = false; > > + > > + @BeforeClass > > + public static void setupDeploymentProperties() throws IOException { > > + String location = System.getProperty("user.home") + > > "/.config/icedtea-web/deployment.properties"; > > + deployFile = new File(location); > > + String properties = FileUtils.loadFileAsString(deployFile); > > + String deployProperties = ""; > > + > > + for (String line : properties.split("\n")) { > > + if (line.contains("deployment.manifest.attributes.check")) { > > + attributesCheck = line; > > + deployProperties += > > "deployment.manifest.attributes.check=PERMISSIONS\n"; > > + foundAttributesCheck = true; > > + } else { > > + deployProperties += line + "\n"; > > + } > > + } > > + > > + if (!foundAttributesCheck) { > > + deployProperties += > > "deployment.manifest.attributes.check=PERMISSIONS\n"; > > + } > > + > > + FileUtils.saveFile(deployProperties, deployFile); > > + } > > + > > + @AfterClass > > + public static void setbackDeploymentProperties() throws IOException { > > + String location = System.getProperty("user.home") + > > "/.config/icedtea-web/deployment.properties"; > > + deployFile = new File(location); > > + String properties = FileUtils.loadFileAsString(deployFile); > > + String deployProperties = ""; > > + > > + for (String line : properties.split("\n")) { > > + if (line.contains("deployment.manifest.attributes.check")) { > > + if (foundAttributesCheck) { > > + deployProperties += attributesCheck + "\n"; > > + } > > + } else { > > + deployProperties += line + "\n"; > > + } > > + } > > + > > + FileUtils.saveFile(deployProperties, deployFile); > > + } > > + > > @Test > > @NeedsDisplay > > @TestInBrowsers(testIn={Browsers.one}) > > > > Great work! > > J. > Thank you for the review ! Regards, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: combinationManifestAttributesCheck-3.patch Type: text/x-patch Size: 25692 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 24 16:01:57 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 24 Mar 2015 16:01:57 +0000 Subject: [Bug 2282] New: [Test bug] Caciocavallo tests fail with JDK 8 u40 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2282 Bug ID: 2282 Summary: [Test bug] Caciocavallo tests fail with JDK 8 u40 Product: Thermostat Version: hg Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P5 Component: Thermostat Assignee: unassigned at icedtea.classpath.org Reporter: sgehwolf at redhat.com CC: thermostat at icedtea.classpath.org In latest thermostat HEAD all tests using Caciocavallo fail on JDK 8u40. $ java -version openjdk version "1.8.0_40" OpenJDK Runtime Environment (build 1.8.0_40-b12) OpenJDK 64-Bit Server VM (build 25.40-b16, mixed mode) Example trace from addRadioMenu(com.redhat.thermostat.client.swing.MenuHelperTest): java.lang.NullPointerException at com.redhat.thermostat.client.swing.MenuHelperTest.tearDown(MenuHelperTest.java:102) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:36) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:24) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at org.junit.runner.JUnitCore.run(JUnitCore.java:136) at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:62) at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:139) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74) On stdout I see this message "Exception in thread "AWT-EventQueue-0" java.lang.VerifyError: Cannot inherit from final class". See also this post from the caciocavallo dev list: http://mail.openjdk.java.net/pipermail/caciocavallo-dev/2015-February/000517.html It would be nice to be able to skip gui tests which use caiciocavallo since this would give us a clearer idea what other test issues there are with JDK 9. See bug 2157. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Tue Mar 24 16:07:10 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 24 Mar 2015 17:07:10 +0100 Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <2037835558.1591045.1427138147999.JavaMail.zimbra@redhat.com> References: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> <54F80A49.2090804@redhat.com> <1776700863.16897075.1425592331325.JavaMail.zimbra@redhat.com> <54F9B5AE.0@redhat.com> <714891563.19481756.1426017273098.JavaMail.zimbra@redhat.com> <55005DDC.7000205@redhat.com> <2037835558.1591045.1427138147999.JavaMail.zimbra@redhat.com> Message-ID: <55118BAE.2070005@redhat.com> On 03/23/2015 08:15 PM, Lukasz Dracz wrote: > Hello, > > I have attached the updated patch. > >>> I have attached a patch to show, what I was thinking of as a potential fix. >>> >> >> maybe a bit of owerkill, but why not. >> >>> I made a new BasicValueValidator that allows combination of options >>> alongside single options. >>> I changed attributes check property from a boolean to an enum >>> with the following options ALL, NONE, PERMISSIONS, TRUSTED, CODEBASE, ALAC >>> With the new MultipleStringValueValidator I have made it that >>> attributes check property can either be ALL, NONE or a >>> combination of PERMISSIONS, TRUSTED, CODEBASE, ALAC (delimited by "," no >>> spaces) >> >> Please add ENTRYPOINT > > okay > >>> >>> In this way it can be specified which checks you want to do >>> for ex. only TRUSTED and CODEBASE attributes would look like >>> deployment.manifest.attributes.check=TRUSTED,CODEBASE >>> >>> The fix for the tests is also included that changes the >>> deployment.manifest.attributes.check in the beforeClass >>> and puts back the previous value afterClass. Also deployment.security.level >>> is changed to ALLOW_UNSIGNED and back in >>> the same fashion for the Partially Signed tests. >>> >>> I have mostly attached the full patch to get feedback on this direction of >>> a fix ? >>> Any comments or thoughts would be great. >>> >>> For review I think it would be best if I split this patch into two, for >>> easier reviewing >>> >>> - The MultipleStringValueValidator >>> - The Fix with Manifest Attributes Check and in the tests >>> >>> Other option is to go with the original suggestion of just an enum with >>> true, false, permissions_only with the same >>> changing the deployment.properties BeforeClass fix. In this case, I would >>> prefer the enum to be ALL, NONE or >>> PERMISSIONS (/PERMISSIONS_ONLY) instead. >> >> if this fixs the testsm then +1 from me for what you have done here. It is >> allowing good versatility and actually to test what is necessary. >> >>> >>> Thoughts ? >> >> few inline. >>> >>> + String[] attributesCheck = deploymentProperty.split(","); Something duplicated here? :) Assuming it fixed the tests, after fixing the minor above, please push. thank you! From ldracz at redhat.com Tue Mar 24 18:07:19 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 24 Mar 2015 14:07:19 -0400 (EDT) Subject: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers In-Reply-To: <55118BAE.2070005@redhat.com> References: <813148125.16199874.1425502829509.JavaMail.zimbra@redhat.com> <54F80A49.2090804@redhat.com> <1776700863.16897075.1425592331325.JavaMail.zimbra@redhat.com> <54F9B5AE.0@redhat.com> <714891563.19481756.1426017273098.JavaMail.zimbra@redhat.com> <55005DDC.7000205@redhat.com> <2037835558.1591045.1427138147999.JavaMail.zimbra@redhat.com> <55118BAE.2070005@redhat.com> Message-ID: <1547125605.2210182.1427220439653.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Jiri Vanek" > To: "Lukasz Dracz" > Cc: "IcedTea Distro List" > Sent: Tuesday, March 24, 2015 12:07:10 PM > Subject: Re: [rfc][icedteaweb] Add comments about permission attributes not being checked in reproducers > > On 03/23/2015 08:15 PM, Lukasz Dracz wrote: > > Hello, > > > > I have attached the updated patch. > > > >>> I have attached a patch to show, what I was thinking of as a potential > >>> fix. > >>> > >> > >> maybe a bit of owerkill, but why not. > >> > >>> I made a new BasicValueValidator that allows combination of options > >>> alongside single options. > >>> I changed attributes check property from a boolean to an enum > >>> with the following options ALL, NONE, PERMISSIONS, TRUSTED, CODEBASE, > >>> ALAC > >>> With the new MultipleStringValueValidator I have made it that > >>> attributes check property can either be ALL, NONE or a > >>> combination of PERMISSIONS, TRUSTED, CODEBASE, ALAC (delimited by "," no > >>> spaces) > >> > >> Please add ENTRYPOINT > > > > okay > > > >>> > >>> In this way it can be specified which checks you want to do > >>> for ex. only TRUSTED and CODEBASE attributes would look like > >>> deployment.manifest.attributes.check=TRUSTED,CODEBASE > >>> > >>> The fix for the tests is also included that changes the > >>> deployment.manifest.attributes.check in the beforeClass > >>> and puts back the previous value afterClass. Also > >>> deployment.security.level > >>> is changed to ALLOW_UNSIGNED and back in > >>> the same fashion for the Partially Signed tests. > >>> > >>> I have mostly attached the full patch to get feedback on this direction > >>> of > >>> a fix ? > >>> Any comments or thoughts would be great. > >>> > >>> For review I think it would be best if I split this patch into two, for > >>> easier reviewing > >>> > >>> - The MultipleStringValueValidator > >>> - The Fix with Manifest Attributes Check and in the tests > >>> > >>> Other option is to go with the original suggestion of just an enum with > >>> true, false, permissions_only with the same > >>> changing the deployment.properties BeforeClass fix. In this case, I would > >>> prefer the enum to be ALL, NONE or > >>> PERMISSIONS (/PERMISSIONS_ONLY) instead. > >> > >> if this fixs the testsm then +1 from me for what you have done here. It is > >> allowing good versatility and actually to test what is necessary. > >> > >>> > >>> Thoughts ? > >> > >> few inline. > >>> > >>> Hello, > + String[] attributesCheck = deploymentProperty.split(","); > Something duplicated here? :) I am not sure what exactly is duplicated, if you could explain further it would be helpful. If you mean that there is a split here, it is needed since the line above where it gets the property it just gets the full string of the property that might contain the combination properties separated by "," as one string. > Assuming it fixed the tests, after fixing the minor above, please push. > > thank you! > Thank you, Lukasz Dracz From gnu.andrew at redhat.com Wed Mar 25 01:39:10 2015 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Tue, 24 Mar 2015 21:39:10 -0400 (EDT) Subject: IcedTea Build Failures using self as book JDK In-Reply-To: References: <20150323184824.B19CDE3B4A@aojmv0009> Message-ID: <1737274334.3184298.1427247550120.JavaMail.zimbra@redhat.com> ----- Original Message ----- > [+distro-pkg-dev] > > On Mon, Mar 23, 2015 at 11:47 AM, Styx, Aaron (US SSA) < > aaron.styx at baesystems.com> wrote: > > > I'm working on porting Java 7 (using IcedTea 2.5.4) to a new OS. I've > > completed the build once, but when I install what was built to use as the > > bootstrap JDK and start a fresh build , it fails with a seg fault when it > > gets into openjdk/jdk/make/com/sun/jmx running openjdk.build/bin/java. Log > > file points to problematic frame of ~BufferBlob::flush_icache_stub > > > > So my question is: should you be able to build IcedTea 2.5.4 using IcedTea > > 2.5.4 as the bootstrap JDK? I'm just trying to figure out if it's a problem > > I introduced in the port (or our OS), or if I'm trying to do something with > > it that it was never meant to do. Yes, in fact, it's part of the build unless you explicitly turn it off. > > > > Just for reference, the first build of IcedTea seems to work and run just > > fine. All the demos and test programs work great. The only thing I haven't > > been able to with it is build itself. In my experience, building the JDK with itself is one of the best tests there is. We've had builds that pass the TCK before, but aren't able to build themselves. > > > > Thanks, > > Aaron > > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 PGP Key: rsa4096/248BDC07 (hkp://keys.gnupg.net) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ldracz at icedtea.classpath.org Wed Mar 25 18:33:39 2015 From: ldracz at icedtea.classpath.org (ldracz at icedtea.classpath.org) Date: Wed, 25 Mar 2015 18:33:39 +0000 Subject: /hg/icedtea-web: Change Manifest Attributes Checker to check com... Message-ID: changeset 7dc1ec5da8c5 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7dc1ec5da8c5 author: Lukasz Dracz date: Wed Mar 25 14:33:42 2015 -0400 Change Manifest Attributes Checker to check combinations of attributes 2015-03-25 Lukasz Dracz Change Manifest Attributes Checker to check combinations of attributes * netx/net/sourceforge/jnlp/config/BasicValueValidators.java: Added MultipleStringValueValidator that validates single and combination of string values. Added ManifestAttributesCheckValidator uses MultipleStringValueValidator with the appropriate Manifest Attributes options * netx/net/sourceforge/jnlp/config/Defaults.java: Changed manifest attributes check validator to ManifestAttributesCheckValidator and made have default value of ALL * netx/net/sourceforge/jnlp/resources/Messages.properties: (MACDisabledMessage, MACCheckSkipped): added * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java: MANIFEST_ATTRIBUTES_CHECK enum added, changed logic to allow combinations of attributes to be checked, Translator.R made into static import * tests/netx/unit/net/sourceforge/jnlp/config/BasicValueValidatorsTests.java: (testMultipleStringValueValidator, testMultipleStringValueValidatorCantMixSingleAndComboValues, testManifestAttributesCheckValidator): added * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java: Changed to work with new ManifestAttributesChecker, set to ALL which is equivalent to the old value of true * tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java: Added BeforeClass and AfterClass handling of deployment.properties file to ensure PERMISSIONS and ALLOW_UNSIGNED are active for tests to pass then reverted to previous values for next tests * tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: Added BeforeClass and AfterClass handling of deployment.properties file to ensure PERMISSIONS is set for tests to pass then reverted to previous values for next tests diffstat: ChangeLog | 30 ++ netx/net/sourceforge/jnlp/config/BasicValueValidators.java | 107 ++++++++++ netx/net/sourceforge/jnlp/config/Defaults.java | 6 +- netx/net/sourceforge/jnlp/resources/Messages.properties | 4 + netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java | 92 ++++++-- tests/netx/unit/net/sourceforge/jnlp/config/BasicValueValidatorsTests.java | 51 ++++ tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java | 7 +- tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java | 54 +++++ tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java | 43 ++++ 9 files changed, 366 insertions(+), 28 deletions(-) diffs (truncated from 605 to 500 lines): diff -r 7895d4fc25aa -r 7dc1ec5da8c5 ChangeLog --- a/ChangeLog Mon Mar 23 12:01:40 2015 -0400 +++ b/ChangeLog Wed Mar 25 14:33:42 2015 -0400 @@ -1,3 +1,33 @@ +2015-03-25 Lukasz Dracz + + Change Manifest Attributes Checker to check combinations of attributes + * netx/net/sourceforge/jnlp/config/BasicValueValidators.java: + Added MultipleStringValueValidator that validates single and combination + of string values. Added ManifestAttributesCheckValidator uses + MultipleStringValueValidator with the appropriate Manifest Attributes + options + * netx/net/sourceforge/jnlp/config/Defaults.java: + Changed manifest attributes check validator to ManifestAttributesCheckValidator + and made have default value of ALL + * netx/net/sourceforge/jnlp/resources/Messages.properties: + (MACDisabledMessage, MACCheckSkipped): added + * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java: + MANIFEST_ATTRIBUTES_CHECK enum added, + changed logic to allow combinations of attributes to be checked, + Translator.R made into static import + * tests/netx/unit/net/sourceforge/jnlp/config/BasicValueValidatorsTests.java: + (testMultipleStringValueValidator, testMultipleStringValueValidatorCantMixSingleAndComboValues, + testManifestAttributesCheckValidator): added + * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java: + Changed to work with new ManifestAttributesChecker, set to ALL which is equivalent to + the old value of true + * tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java: + Added BeforeClass and AfterClass handling of deployment.properties file to ensure PERMISSIONS + and ALLOW_UNSIGNED are active for tests to pass then reverted to previous values for next tests + * tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: + Added BeforeClass and AfterClass handling of deployment.properties file to ensure PERMISSIONS + is set for tests to pass then reverted to previous values for next tests + 2015-03-23 Lukasz Dracz Fix itweb-settings set command to allow duplicate strings diff -r 7895d4fc25aa -r 7dc1ec5da8c5 netx/net/sourceforge/jnlp/config/BasicValueValidators.java --- a/netx/net/sourceforge/jnlp/config/BasicValueValidators.java Mon Mar 23 12:01:40 2015 -0400 +++ b/netx/net/sourceforge/jnlp/config/BasicValueValidators.java Wed Mar 25 14:33:42 2015 -0400 @@ -37,6 +37,8 @@ package net.sourceforge.jnlp.config; +import net.sourceforge.jnlp.runtime.ManifestAttributesChecker; + import java.io.File; import static net.sourceforge.jnlp.runtime.Translator.R; @@ -202,6 +204,91 @@ } /** + * Checks that the value is one of the acceptable single String values + * or an acceptable combination of String values + */ + private static class MultipleStringValueValidator implements ValueValidator { + private final String[] singleOptions; + private final String[] comboOptions; + + public MultipleStringValueValidator(String[] singleOptions, String[] comboOptions) { + this.singleOptions = singleOptions; + this.comboOptions = comboOptions; + } + + @Override + public void validate(Object value) throws IllegalArgumentException { + Object possibleValue = value; + if (!(possibleValue instanceof String)) { + throw new IllegalArgumentException("Must be a string"); + } + + String stringVal = (String) possibleValue; + boolean found = false; + for (String knownVal : singleOptions) { + if (knownVal.equals(stringVal)) { + found = true; + break; + } + } + + if (!found) { + String[] possibleCombo = splitCombination(stringVal); + for (String val : possibleCombo) { + if (comboOptionsContains(val)) { + found = true; + } else { + throw new IllegalArgumentException(); + } + } + } + + if (!found) { + throw new IllegalArgumentException(); + } + } + + private boolean comboOptionsContains(String possibleVal) { + for (String value : comboOptions) { + if (value.equals(possibleVal)) { + return true; + } + } + return false; + } + + @Override + public String getPossibleValues() { + String message = "(Values that can be used alone only): " + Arrays.toString(singleOptions) + + " (Values that can be used in combination separated by the delimiter \"" + + DELIMITER + "\" with no space expected ): " + Arrays.toString(comboOptions); + return message; + } + + } + + private final static String DELIMITER = ","; + + public static String[] splitCombination(String val) { + return val.split(DELIMITER); + } + + private static class ManifestAttributeCheckValidator extends MultipleStringValueValidator { + + public ManifestAttributeCheckValidator() { + super(new String[] { + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALL.toString(), + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.NONE.toString() + }, new String[] { + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALAC.toString(), + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.CODEBASE.toString(), + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ENTRYPOINT.toString(), + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.PERMISSIONS.toString(), + ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.TRUSTED.toString() + }); + } + } + /** * Checks that the value is a URL */ private static class UrlValidator implements ValueValidator { @@ -262,6 +349,26 @@ } /** + * Returns a {@link ValueValidator} that checks if an object is a string from + * one of the provided single option Strings or a combination from + * the provided combination Strings. + * @param singleValues an array of Strings which are considered valid only by themselves + * @param comboValues an array of Strings which are considered valid in any combination + * with themselves + */ + public static ValueValidator getMultipleStringValidator(String[] singleValues, String[] comboValues) { + return new MultipleStringValueValidator(singleValues, comboValues); + } + + /** + * Returns a {@link ValueValidator} that checks if an object is a string + * from the possible single or combination ManifestAttributeCheck values + */ + public static ValueValidator getManifestAttributeCheckValidator() { + return new ManifestAttributeCheckValidator(); + } + + /** * @return a {@link ValueValidator} that checks if an object represents a * valid url */ diff -r 7895d4fc25aa -r 7dc1ec5da8c5 netx/net/sourceforge/jnlp/config/Defaults.java --- a/netx/net/sourceforge/jnlp/config/Defaults.java Mon Mar 23 12:01:40 2015 -0400 +++ b/netx/net/sourceforge/jnlp/config/Defaults.java Wed Mar 25 14:33:42 2015 -0400 @@ -43,6 +43,8 @@ import net.sourceforge.jnlp.ShortcutDesc; import static net.sourceforge.jnlp.config.PathsAndFiles.*; import net.sourceforge.jnlp.runtime.JNLPProxySelector; +import net.sourceforge.jnlp.runtime.ManifestAttributesChecker; + import static net.sourceforge.jnlp.runtime.Translator.R; /** @@ -409,8 +411,8 @@ //enable manifest-attributes checks { DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, - BasicValueValidators.getBooleanValidator(), - String.valueOf(true) + BasicValueValidators.getManifestAttributeCheckValidator(), + String.valueOf("ALL") } }; diff -r 7895d4fc25aa -r 7dc1ec5da8c5 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Mon Mar 23 12:01:40 2015 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Mar 25 14:33:42 2015 -0400 @@ -95,6 +95,10 @@ and
    \ Preventing the Repurposing of an Application +MACDisabledMessage=Manifest attribute checks are disabled. +MACCheckSkipped=check on {0} skipped because property of deployment.manifest.attributes.check \ +was not set to ALL or includes {1} in the combination of options + # LS - Severity LSMinor=Minor LSFatal=Fatal diff -r 7895d4fc25aa -r 7dc1ec5da8c5 netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java --- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java Mon Mar 23 12:01:40 2015 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java Wed Mar 25 14:33:42 2015 -0400 @@ -37,7 +37,9 @@ package net.sourceforge.jnlp.runtime; import java.net.URL; +import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Set; import net.sourceforge.jnlp.ExtensionDesc; @@ -59,13 +61,15 @@ import net.sourceforge.jnlp.util.UrlUtils; import net.sourceforge.jnlp.util.logging.OutputController; +import static net.sourceforge.jnlp.config.BasicValueValidators.splitCombination; +import static net.sourceforge.jnlp.runtime.Translator.R; + public class ManifestAttributesChecker { private final SecurityDesc security; private final JNLPFile file; private final SigningState signing; private final SecurityDelegate securityDelegate; - public static final String MANIFEST_CHECK_DISABLED_MESSAGE = "Manifest attribute checks are disabled."; public ManifestAttributesChecker(final SecurityDesc security, final JNLPFile file, final SigningState signing, final SecurityDelegate securityDelegate) throws LaunchException { @@ -75,24 +79,66 @@ this.securityDelegate = securityDelegate; } + public enum MANIFEST_ATTRIBUTES_CHECK { + ALL, + NONE, + PERMISSIONS, + CODEBASE, + TRUSTED, + ALAC, + ENTRYPOINT + } + void checkAll() throws LaunchException { - if (isCheckEnabled()) { - checkPermissionsAttribute(); - checkTrustedOnlyAttribute(); - checkCodebaseAttribute(); - checkPermissionsAttribute(); - checkApplicationLibraryAllowableCodebaseAttribute(); - checkEntryPoint(); + List attributesCheck = getAttributesCheck(); + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.NONE)) { + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, R("MACDisabledMessage")); } else { - OutputController.getLogger().log(OutputController.Level.WARNING_ALL, MANIFEST_CHECK_DISABLED_MESSAGE); + + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.TRUSTED) || + attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALL)) { + checkTrustedOnlyAttribute(); + } else { + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, R("MACCheckSkipped", "Trusted-Only", "TRUSTED")); + } + + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.CODEBASE) || + attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALL)) { + checkCodebaseAttribute(); + } else { + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, R("MACCheckSkipped", "Codebase", "CODEBASE")); + } + + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.PERMISSIONS) || + attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALL)) { + checkPermissionsAttribute(); + } else { + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, R("MACCheckSkipped", "Permissions", "PERMISSIONS")); + } + + if (attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALAC) || + attributesCheck.contains(MANIFEST_ATTRIBUTES_CHECK.ALL)) { + checkApplicationLibraryAllowableCodebaseAttribute(); + } else { + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, R("MACCheckSkipped", "Application Library Allowable Codebase", "ALAC")); + } + } } - public static boolean isCheckEnabled() { + public static List getAttributesCheck() { final String deploymentProperty = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); - return Boolean.parseBoolean(deploymentProperty); + String[] attributesCheck = splitCombination(deploymentProperty); + List manifestAttributesCheckList = new ArrayList<>(); + for (String attribute : attributesCheck) { + for (MANIFEST_ATTRIBUTES_CHECK manifestAttribute : MANIFEST_ATTRIBUTES_CHECK.values()) { + if (manifestAttribute.toString().equals(attribute)) { + manifestAttributesCheckList.add(manifestAttribute); + } + } + } + return manifestAttributesCheckList; } - /* * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#entry_pt */ @@ -159,16 +205,16 @@ || (isSandboxed && SecurityDesc.SANDBOX_PERMISSIONS.equals(desc)); final String signedMsg; if (isFullySigned && !isSandboxed) { - signedMsg = Translator.R("STOAsignedMsgFully"); + signedMsg = R("STOAsignedMsgFully"); } else if (isFullySigned && isSandboxed) { - signedMsg = Translator.R("STOAsignedMsgAndSandbox"); + signedMsg = R("STOAsignedMsgAndSandbox"); } else { - signedMsg = Translator.R("STOAsignedMsgPartiall"); + signedMsg = R("STOAsignedMsgPartiall"); } OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Trusted Only manifest attribute is \"true\". " + signedMsg + " and requests permission level: " + securityType); if (!(isFullySigned && requestsCorrectPermissions)) { - throw new LaunchException(Translator.R("STrustedOnlyAttributeFailure", signedMsg, securityType)); + throw new LaunchException(R("STrustedOnlyAttributeFailure", signedMsg, securityType)); } } @@ -177,30 +223,30 @@ */ private void checkCodebaseAttribute() throws LaunchException { if (file.getCodeBase() == null || file.getCodeBase().getProtocol().equals("file")) { - OutputController.getLogger().log(OutputController.Level.WARNING_ALL, Translator.R("CBCheckFile")); + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, R("CBCheckFile")); return; } final Object securityType = security.getSecurityType(); final URL codebase = UrlUtils.guessCodeBase(file); final ClasspathMatchers codebaseAtt = file.getManifestsAttributes().getCodebase(); if (codebaseAtt == null) { - OutputController.getLogger().log(OutputController.Level.WARNING_ALL, Translator.R("CBCheckNoEntry")); + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, R("CBCheckNoEntry")); return; } if (securityType.equals(SecurityDesc.SANDBOX_PERMISSIONS)) { if (codebaseAtt.matches(codebase)) { - OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("CBCheckUnsignedPass")); + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, R("CBCheckUnsignedPass")); } else { - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, Translator.R("CBCheckUnsignedFail")); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("CBCheckUnsignedFail")); } } else { if (codebaseAtt.matches(codebase)) { - OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("CBCheckOkSignedOk")); + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, R("CBCheckOkSignedOk")); } else { if (file instanceof PluginBridge) { - throw new LaunchException(Translator.R("CBCheckSignedAppletDontMatchException", file.getManifestsAttributes().getCodebase().toString(), codebase)); + throw new LaunchException(R("CBCheckSignedAppletDontMatchException", file.getManifestsAttributes().getCodebase().toString(), codebase)); } else { - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, Translator.R("CBCheckSignedFail")); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("CBCheckSignedFail")); } } } diff -r 7895d4fc25aa -r 7dc1ec5da8c5 tests/netx/unit/net/sourceforge/jnlp/config/BasicValueValidatorsTests.java --- a/tests/netx/unit/net/sourceforge/jnlp/config/BasicValueValidatorsTests.java Mon Mar 23 12:01:40 2015 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/config/BasicValueValidatorsTests.java Wed Mar 25 14:33:42 2015 -0400 @@ -130,4 +130,55 @@ Assert.assertTrue(ex instanceof IllegalArgumentException); } } + + @Test + public void testMultipleStringValueValidator() { + String[] singleValues = { + "SINGLE", "ONLY", "NONE" + }; + String[] multipleValues = { + "MULTIPLE", "COMBO", "ONE", "TWO", "THREE" + }; + ValueValidator multipleValidator = BasicValueValidators.getMultipleStringValidator(singleValues, multipleValues); + + multipleValidator.validate("SINGLE"); + multipleValidator.validate("ONLY"); + multipleValidator.validate("NONE"); + multipleValidator.validate("MULTIPLE"); + multipleValidator.validate("MULTIPLE,COMBO,TWO"); + multipleValidator.validate("THREE,ONE,COMBO,MULTIPLE"); + } + + @Test(expected = IllegalArgumentException.class) + public void testMultipleStringValueValidatorCantMixSingleAndComboValues() { + String[] singleValues = { + "SINGLE", "ONLY", "NONE" + }; + String[] multipleValues = { + "MULTIPLE", "COMBO", "ONE", "TWO", "THREE" + }; + ValueValidator multipleValidator = BasicValueValidators.getMultipleStringValidator(singleValues, multipleValues); + + multipleValidator.validate("SINGLE,COMBO"); + } + + @Test + public void testManifestAttributeCheckValidator() { + ValueValidator multipleValidator = BasicValueValidators.getManifestAttributeCheckValidator(); + + multipleValidator.validate("ALL"); + multipleValidator.validate("PERMISSIONS"); + multipleValidator.validate("NONE"); + multipleValidator.validate("ALAC"); + multipleValidator.validate("CODEBASE"); + multipleValidator.validate("CODEBASE,ALAC,PERMISSIONS"); + multipleValidator.validate("TRUSTED,ALAC,CODEBASE"); + } + + @Test(expected = IllegalArgumentException.class) + public void testManifestAttributeCheckValidatorCantMixSingleAndComboValues() { + ValueValidator multipleValidator = BasicValueValidators.getManifestAttributeCheckValidator(); + + multipleValidator.validate("ALL,CODEBASE,NONE"); + } } diff -r 7895d4fc25aa -r 7dc1ec5da8c5 tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java Mon Mar 23 12:01:40 2015 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java Wed Mar 25 14:33:42 2015 -0400 @@ -39,6 +39,7 @@ import java.io.File; import java.net.URL; import java.util.Arrays; +import java.util.List; import java.util.Locale; import java.util.jar.Attributes; import java.util.jar.Manifest; @@ -60,14 +61,14 @@ public class JNLPFileTest extends NoStdOutErrTest { private static AppletSecurityLevel level; - private static boolean attCheckValue; + private static List attCheckValue; @BeforeClass public static void setPermissions() { level = AppletStartupSecuritySettings.getInstance().getSecurityLevel(); - attCheckValue = ManifestAttributesChecker.isCheckEnabled(); + attCheckValue = ManifestAttributesChecker.getAttributesCheck(); JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_LEVEL, AppletSecurityLevel.ALLOW_UNSIGNED.toChars()); - JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, String.valueOf(true)); + JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, String.valueOf(ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.ALL)); } @AfterClass diff -r 7895d4fc25aa -r 7dc1ec5da8c5 tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java --- a/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java Mon Mar 23 12:01:40 2015 -0400 +++ b/tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/testcases/PartiallySignedAppletManifestSpecifiesSandboxTests.java Wed Mar 25 14:33:42 2015 -0400 @@ -36,6 +36,10 @@ */ import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; + import net.sourceforge.jnlp.ProcessResult; import net.sourceforge.jnlp.annotations.Bug; import net.sourceforge.jnlp.annotations.NeedsDisplay; @@ -44,6 +48,10 @@ import net.sourceforge.jnlp.browsertesting.Browsers; import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; +import net.sourceforge.jnlp.config.PathsAndFiles; +import net.sourceforge.jnlp.util.FileUtils; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; public class PartiallySignedAppletManifestSpecifiesSandboxTests extends BrowserTest { @@ -56,6 +64,52 @@ private static final String STACKTRACE_NOT_GRANT_PERMISSIONS_TYPE = "Cannot grant permissions to unsigned jars"; private static final String USER_HOME = System.getProperty("user.home"); + private static File deployFile; + private static String attributesCheck; + private static String securityLevel; + + @BeforeClass + public static void setupDeploymentProperties() throws IOException { + deployFile = PathsAndFiles.USER_DEPLOYMENT_FILE.getFile(); + String properties = FileUtils.loadFileAsString(deployFile); + + for (String line : properties.split("\n")) { + if (line.contains("deployment.manifest.attribute.check")) { From bugzilla-daemon at icedtea.classpath.org Wed Mar 25 23:25:41 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 25 Mar 2015 23:25:41 +0000 Subject: [Bug 2137] IcedTea Web no longer works with Dell Poweredge Remote Access Consoles as of 1.5.1 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2137 E.Reyes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |erchbox at gmail.com --- Comment #1 from E.Reyes --- I'm experiencing the same issue. No fix yet? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Mar 25 23:38:50 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 25 Mar 2015 23:38:50 +0000 Subject: [Bug 2137] IcedTea Web no longer works with Dell Poweredge Remote Access Consoles as of 1.5.1 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2137 --- Comment #2 from E.Reyes --- Created attachment 1277 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1277&action=edit JNLP file from Dell iDRAC6 v1.98 ERROR in Java Console net.sourceforge.jnlp.LaunchException: Fatal: Read Error: Could not read or parse the JNLP file. You can try to download this file manually and send it as bug report to IcedTea-Web team. ????at net.sourceforge.jnlp.Launcher.fromUrl(Launcher.java:484) ????at net.sourceforge.jnlp.Launcher.launch(Launcher.java:279) ????at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:246) ????at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:58) ????at java.security.AccessController.doPrivileged(Native Method) ????at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:213) Caused by: java.io.IOException: name can't be null ????at net.sourceforge.jnlp.JNLPFile.openURL(JNLPFile.java:309) ????at net.sourceforge.jnlp.JNLPFile. (JNLPFile.java:229) ????at net.sourceforge.jnlp.JNLPFile. (JNLPFile.java:213) ????at net.sourceforge.jnlp.JNLPFile. (JNLPFile.java:198) ????at net.sourceforge.jnlp.JNLPFile. (JNLPFile.java:184) ????at net.sourceforge.jnlp.Launcher.fromUrl(Launcher.java:453) ????... 5 more netx: Read Error: Could not read or parse the JNLP file. (name can't be null) @ /tmp/viewer.jnlp(drac1 at 0@idrac-CVLGXP1,+PowerEdge+R610,+User_root at 1427321507585) +(CONNECTED DOWNLOADED STARTED) Status: CONNECTED DOWNLOADED STARTED JNLP file location: /tmp/viewer.jnlp(drac1 at 0@idrac-CVLGXP1,+PowerEdge+R610,+User_root at 1427321507585) Read 1516 entries from Firefox's preferences Found preferences file: /home/ereyes/.mozilla/firefox/p1wdkds6.default/prefs.js Using firefox's profiles file: /home/ereyes/.mozilla/firefox/profiles.ini Starting security dialog thread WARNING: key deployment.system.cachedir has no value, setting to default value Loading User level properties from: /home/ereyes/.config/icedtea-web/deployment.properties cache: /home/ereyes/.cache/icedtea-web file exists:true config: /home/ereyes/.config/icedtea-web file exists: true System is already following XDG .cache and .config specifications MEMORY INFO ---- ? ? Free Memory:? ? 4230136 ? ? Total Memory:? 13631488 ? Max Memory:? ? 620756992 ? Memory Info: ----- SYSTEM PROPERTIES ---- deployment.system.security.jssecacerts: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/security/jssecacerts deployment.proxy.same: false java.specification.version: 1.8 deployment.user.logdir: /home/ereyes/.config/icedtea-web/log deployment.console.startup.mode: HIDE deployment.javapi.cache.enabled: false deployment.user.security.trusted.jssecerts: /home/ereyes/.config/icedtea-web/security/trusted.jssecerts file.encoding: UTF-8 deployment.manifest.attributes.check: true deployment.javaws.autodownload: false java.vm.name: OpenJDK 64-Bit Server VM line.separator: deployment.system.security.trusted.clientautcerts: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/security/trusted.clientcerts icedtea-web.bin.name: javaws user.dir: /tmp java.ext.dirs: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/ext:/usr/java/packages/lib/ext java.awt.graphicsenv: sun.awt.X11GraphicsEnvironment os.arch: amd64 deployment.user.pcachedir: /home/ereyes/.cache/icedtea-web/pcache deployment.user.locksdir: /tmp/ereyes/netx/locks java.vendor.url.bug: http://bugreport.sun.com/bugreport/ deployment.proxy.type: 3 java.io.tmpdir: /tmp sun.os.patch.level: unknown sun.cpu.endian: little java.vm.specification.version: 1.8 java.vm.specification.name: Java Virtual Machine Specification java.class.path: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/rt.jar sun.java.command: net.sourceforge.jnlp.runtime.Boot /tmp/viewer.jnlp(drac1 at 0@idrac-CVLGXP1,+PowerEdge+R610,+User_root at 1427321507585) deployment.user.tmp: /home/ereyes/.cache/icedtea-web/tmp java.runtime.name: OpenJDK Runtime Environment deployment.user.security.policy: file:///home/ereyes/.config/icedtea-web/security/java.policy deployment.security.askgrantdialog.show: true java.vm.vendor: Oracle Corporation deployment.cache.max.size: -1 java.vendor.url: http://java.oracle.com/ java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib java.specification.vendor: Oracle Corporation user.home: /home/ereyes deployment.security.level: ASK_UNSIGNED awt.toolkit: sun.awt.X11.XToolkit sun.io.unicode.encoding: UnicodeLittle deployment.system.security.trusted.certs: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/security/trusted.certs java.awt.printerjob: sun.print.PSPrinterJob sun.awt.enableExtraMouseButtons: true icedtea-web.bin.location: /usr/lib64/java-1_8_0-openjdk-plugin/bin/javaws deployment.log.system: true deployment.user.security.trusted.jssecacerts: /home/ereyes/.config/icedtea-web/security/trusted.jssecacerts deployment.user.runningfile: /tmp/ereyes/netx/locks/netx_running java.vm.version: 25.40-b25 deployment.user.security.trusted.cacerts: /home/ereyes/.config/icedtea-web/security/trusted.cacerts path.separator: : sun.font.fontmanager: sun.awt.X11FontManager deployment.system.security.trusted.jssecerts: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/security/trusted.jssecerts os.version: 3.16.7-7-desktop java.vm.info: mixed mode deployment.security.authenticator: true java.home: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre deployment.security.sandbox.awtwarningwindow: true user.country: US deployment.cache.jarcompression: 0 java.class.version: 52.0 deployment.javaws.shortcut: ASK_IF_HINTED deployment.javaws.associations: 2 java.specification.name: Java Platform API Specification file.separator: / file.encoding.pkg: sun.io deployment.log.file: false sun.jnu.encoding: UTF-8 deployment.log: false sun.cpu.isalist: deployment.security.sandbox.jnlp.enhanced: true java.endorsed.dirs: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/endorsed deployment.security.expired.warning: true sun.arch.data.model: 64 user.timezone: America/Toronto java.version: 1.8.0_40 javawebstart.version: javaws-1.8.0_40 deployment.javaws.update.timeout: 500 deployment.user.cachedir: /home/ereyes/.cache/icedtea-web/cache deployment.security.jsse.hostmismatch.warning: true sun.boot.library.path: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64 user.language: en deployment.user.security.trusted.clientauthcerts: /home/ereyes/.config/icedtea-web/security/trusted.clientcerts deployment.log.stdstreams: true deployment.security.askgrantdialog.notinca: true user.name: ereyes deployment.security.notinca.warning: true java.runtime.version: 1.8.0_40-b25 deployment.system.security.cacerts: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/security/cacerts deployment.log.headers: false java.vm.specification.vendor: Oracle Corporation sun.boot.class.path: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/resources.jar:/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/rt.jar:/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/sunrsasign.jar:/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/jsse.jar:/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/jce.jar:/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/charsets.jar:/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/jfr.jar:/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/classes:/usr/lib64/java-1_8_0-openjdk-plugin/share/icedtea-web/netx.jar:/usr/share/java/js.jar: os.name: Linux sun.management.compiler: HotSpot 64-Bit Tiered Compilers sun.java.launcher: SUN_STANDARD deployment.user.security.trusted.certs: /home/ereyes/.config/icedtea-web/security/trusted.certs java.vendor: Oracle Corporation System Properties: ---- AVAILABLE CLASSLOADERS ---- No Classloader info exists in system ---- THREAD LIST ---- ? java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157) ? java.lang.Object.wait(Object.java:502) ? java.lang.Object.wait(Native Method) Thread 2: Reference Handler ? java.lang.Thread.run(Thread.java:745) ? sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295) ? java.lang.Object.wait(Object.java:502) ? java.lang.Object.wait(Native Method) Thread 16: AWT-Shutdown ? java.awt.EventDispatchThread.run(EventDispatchThread.java:82) ? java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) ? java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ? java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) ? java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) ? java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) ? java.awt.EventQueue.dispatchEvent(EventQueue.java:719) ? java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ? java.security.AccessController.doPrivileged(Native Method) ? java.awt.EventQueue$3.run(EventQueue.java:696) ? java.awt.EventQueue$3.run(EventQueue.java:702) ? java.awt.EventQueue.access$500(EventQueue.java:97) ? java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) ? java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ? net.sourceforge.jnlp.GuiLaunchHandler$1.run(GuiLaunchHandler.java:76) ? net.sourceforge.jnlp.util.BasicExceptionDialog.show(BasicExceptionDialog.java:145) ? java.awt.Dialog.setVisible(Dialog.java:1005) ? java.awt.Window.setVisible(Window.java:1014) ? java.awt.Component.setVisible(Component.java:1606) ? java.awt.Component.show(Component.java:1654) ? java.awt.Dialog.show(Dialog.java:1084) ? java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227) ? java.security.AccessController.doPrivileged(Native Method) ? java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227) ? java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229) ? java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184) ? java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109) ? java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) ? java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) ? java.awt.EventQueue.dispatchEvent(EventQueue.java:719) ? java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ? java.security.AccessController.doPrivileged(Native Method) ? java.awt.EventQueue$3.run(EventQueue.java:696) ? java.awt.EventQueue$3.run(EventQueue.java:702) ? java.awt.EventQueue.access$500(EventQueue.java:97) ? java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) ? java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ? net.sourceforge.jnlp.util.logging.JavaConsole$11.run(JavaConsole.java:411) ? net.sourceforge.jnlp.util.logging.JavaConsole.showConsole(JavaConsole.java:389) ? java.awt.Dialog.setVisible(Dialog.java:1005) ? java.awt.Window.setVisible(Window.java:1014) ? java.awt.Component.setVisible(Component.java:1606) ? java.awt.Component.show(Component.java:1654) ? java.awt.Dialog.show(Dialog.java:1084) ? java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227) ? java.security.AccessController.doPrivileged(Native Method) ? java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227) ? java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229) ? java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184) ? java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109) ? java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) ? java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) ? java.awt.EventQueue.dispatchEvent(EventQueue.java:721) ? java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ? java.security.AccessController.doPrivileged(Native Method) ? java.awt.EventQueue$4.run(EventQueue.java:722) ? java.awt.EventQueue$4.run(EventQueue.java:724) ? java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) ? java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ? java.security.AccessController.doPrivileged(Native Method) ? java.awt.EventQueue$3.run(EventQueue.java:696) ? java.awt.EventQueue$3.run(EventQueue.java:702) ? java.awt.EventQueue.access$500(EventQueue.java:97) ? java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751) ? java.awt.Component.dispatchEvent(Component.java:4703) ? java.awt.Window.dispatchEventImpl(Window.java:2750) ? java.awt.Container.dispatchEventImpl(Container.java:2278) ? java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) ? java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) ? java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) ? java.awt.Component.dispatchEvent(Component.java:4703) ? java.awt.Container.dispatchEventImpl(Container.java:2292) ? java.awt.Component.dispatchEventImpl(Component.java:4881) ? java.awt.Container.processEvent(Container.java:2234) ? java.awt.Component.processEvent(Component.java:6290) ? javax.swing.JComponent.processMouseEvent(JComponent.java:3324) ? java.awt.Component.processMouseEvent(Component.java:6525) ? javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) ? javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) ? javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) ? javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) ? javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) ? net.sourceforge.jnlp.util.logging.JavaConsole$7.actionPerformed(JavaConsole.java:328) ? net.sourceforge.jnlp.util.logging.JavaConsole.access$700(JavaConsole.java:87) ? net.sourceforge.jnlp.util.logging.JavaConsole.printThreadInfo(JavaConsole.java:474) ? java.lang.Thread.getAllStackTraces(Thread.java:1603) ? java.lang.Thread.dumpThreads(Native Method) Thread 15: AWT-EventQueue-0 Thread 4: Signal Dispatcher ? java.lang.Thread.run(Thread.java:745) ? sun.awt.X11.XToolkit.run(XToolkit.java:532) ? sun.awt.X11.XToolkit.run(XToolkit.java:568) ? sun.awt.X11.XToolkit.waitForEvents(Native Method) Thread 13: AWT-XAWT ? java.lang.Thread.run(Thread.java:745) ? javax.swing.TimerQueue.run(TimerQueue.java:171) ? java.util.concurrent.DelayQueue.take(DelayQueue.java:211) ? java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) ? java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) ? sun.misc.Unsafe.park(Native Method) Thread 20: TimerQueue ? java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) ? java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) ? java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) ? java.lang.Object.wait(Native Method) Thread 3: Finalizer ? java.lang.Thread.run(Thread.java:745) ? sun.java2d.Disposer.run(Disposer.java:148) ? java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) ? java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) ? java.lang.Object.wait(Native Method) Thread 11: Java2D Disposer ? java.lang.Thread.run(Thread.java:745) ? net.sourceforge.jnlp.security.SecurityDialogMessageHandler.run(SecurityDialogMessageHandler.java:80) ? java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) ? java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) ? java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) ? sun.misc.Unsafe.park(Native Method) Thread 14: NetxSecurityThread Thread 17: DestroyJavaVM ? java.lang.Thread.run(Thread.java:745) ? net.sourceforge.jnlp.util.logging.OutputController$MessageQueConsumer.run(OutputController.java:117) ? java.lang.Object.wait(Native Method) Thread 9: Output controller consumer daemon -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Mar 26 10:23:54 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 26 Mar 2015 10:23:54 +0000 Subject: [Bug 2285] New: A fatal error has been detected by the Java Runtime Environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2285 Bug ID: 2285 Summary: A fatal error has been detected by the Java Runtime Environment Product: IcedTea Version: 6-hg Hardware: x86_64 OS: Linux Status: NEW Severity: blocker Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: meriam.bouguerra at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1278 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1278&action=edit the log file the bug occured when I tried to add an image in my report. I am using ireport 5.6.0 for linux -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Thu Mar 26 13:32:17 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 26 Mar 2015 14:32:17 +0100 Subject: [rfc][icedtea-web] strange false in version in docs Message-ID: <55140A61.5080102@redhat.com> Hi! I noted there is strange false in headers. I belive it is caused by this quoted false I fixed in this pacth. oook ? J. -------------- next part -------------- A non-text attachment was scrubbed... Name: strangeFalseInVersion.patch Type: text/x-patch Size: 1101 bytes Desc: not available URL: From jkang at redhat.com Thu Mar 26 13:38:56 2015 From: jkang at redhat.com (Jie Kang) Date: Thu, 26 Mar 2015 09:38:56 -0400 (EDT) Subject: [rfc][icedtea-web] strange false in version in docs In-Reply-To: <55140A61.5080102@redhat.com> References: <55140A61.5080102@redhat.com> Message-ID: <289430458.3338531.1427377136271.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hi! > > I noted there is strange false in headers. I belive it is caused by this > quoted false I fixed in > this pacth. > > > oook ? Looks fine to me. Regards, > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From ldracz at redhat.com Thu Mar 26 15:19:43 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Thu, 26 Mar 2015 11:19:43 -0400 (EDT) Subject: [rfc][icedtea-web] fix clean to replace new Manifest Attributes messages In-Reply-To: <639217705.3422436.1427383012715.JavaMail.zimbra@redhat.com> Message-ID: <1373364081.3424344.1427383183345.JavaMail.zimbra@redhat.com> Hello, This patch fixes the clean method to replace properly the new Messages for Manifest Attributes Checker. The old message was deleted in a previous patch, and I missed the usage of it here. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: fixCleanToReplaceProperly.patch Type: text/x-patch Size: 1246 bytes Desc: not available URL: From jvanek at redhat.com Thu Mar 26 15:22:47 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 26 Mar 2015 16:22:47 +0100 Subject: [rfc][icedtea-web] fix clean to replace new Manifest Attributes messages In-Reply-To: <1373364081.3424344.1427383183345.JavaMail.zimbra@redhat.com> References: <1373364081.3424344.1427383183345.JavaMail.zimbra@redhat.com> Message-ID: <55142447.8010202@redhat.com> On 03/26/2015 04:19 PM, Lukasz Dracz wrote: > Hello, > > This patch fixes the clean method to replace properly the new Messages for Manifest Attributes Checker. > The old message was deleted in a previous patch, and I missed the usage of it here. > > Thank you, > Lukasz Dracz > Assuming the hack with .R("MACCheckSkipped", ".*", ".*") works, ok for had. ty! J. From ldracz at icedtea.classpath.org Thu Mar 26 15:37:10 2015 From: ldracz at icedtea.classpath.org (ldracz at icedtea.classpath.org) Date: Thu, 26 Mar 2015 15:37:10 +0000 Subject: /hg/icedtea-web: fix clean to replace new Manifest Attributes me... Message-ID: changeset 3a1ad6a916a8 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=3a1ad6a916a8 author: Lukasz Dracz date: Thu Mar 26 11:37:18 2015 -0400 fix clean to replace new Manifest Attributes messages 2015-03-26 Lukasz Dracz fix clean to replace new Manifest Attributes messages * tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java: Changed clean to replace the two new Manifest Attributes Checker messages instead of the old deleted Manifest Attributes Checker message diffstat: ChangeLog | 7 +++++++ tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java | 6 ++---- 2 files changed, 9 insertions(+), 4 deletions(-) diffs (41 lines): diff -r 7dc1ec5da8c5 -r 3a1ad6a916a8 ChangeLog --- a/ChangeLog Wed Mar 25 14:33:42 2015 -0400 +++ b/ChangeLog Thu Mar 26 11:37:18 2015 -0400 @@ -1,3 +1,10 @@ +2015-03-26 Lukasz Dracz + + fix clean to replace new Manifest Attributes messages + * tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java: + Changed clean to replace the two new Manifest Attributes Checker messages + instead of the old deleted Manifest Attributes Checker message + 2015-03-25 Lukasz Dracz Change Manifest Attributes Checker to check combinations of attributes diff -r 7dc1ec5da8c5 -r 3a1ad6a916a8 tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java --- a/tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java Wed Mar 25 14:33:42 2015 -0400 +++ b/tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java Thu Mar 26 11:37:18 2015 -0400 @@ -41,13 +41,10 @@ import java.util.List; import net.sourceforge.jnlp.JNLPFile; import net.sourceforge.jnlp.ProcessResult; -import net.sourceforge.jnlp.runtime.ManifestAttributesChecker; import net.sourceforge.jnlp.runtime.Translator; import org.junit.Assert; import org.junit.Test; -; - public class RemoteApplicationSettings { public static final String mustEmpty = "must be empty, was not"; @@ -78,7 +75,8 @@ URL u; public String clean(String s){ - s = s.replace(ManifestAttributesChecker.MANIFEST_CHECK_DISABLED_MESSAGE,""); + s = s.replace(Translator.R("MACDisabledMessage"),""); + s = s.replace(Translator.R("MACCheckSkipped", ".*", ".*"), ""); s = s.replace(JNLPFile.TITLE_NOT_FOUND, ""); s = s.replaceAll("Fontconfig warning.*", ""); return s.replaceAll("\\s*" + JNLPFile.TITLE_NOT_FOUND + "\\s*", "").trim(); From jvanek at redhat.com Thu Mar 26 17:00:14 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 26 Mar 2015 18:00:14 +0100 Subject: [rfc] [icedtea-web] make PAthsAndFilles to follow seted paths Message-ID: <55143B1E.7070206@redhat.com> Hi! This is first of at least three pathces tro make it work this one - i adding difference between getFile/Path and getDefaultFile/DefaultPAth + adapting few (the most important) PathsAndFiles So this one is especially about concept. There rised issue, that PathsandFiles become depnding on JnlpRuntime.getConfig() - the result of it is later-lazy loading of RECENTLY_USED_FILE. Also note the behaviour of deployment.user.security.policy Second part of this work will be focused on adapting missing "adjustable files" deployment.user.security.trusted.cacerts deployment.user.security.trusted.certs deployment.user.security.trusted.clientauthcerts deployment.user.security.trusted.jssecacerts deployment.user.security.trusted.jssecerts And ensure, that those are never ever used in itw - only the PathsAndFiles ThirdPart will be then focused on being sure, no dangling insatnces are around - taht everything is using PAthsAndFiles directly, and so runtime change to any InfrastructureFileDescriptor will take imidiate effect. (aka changing cache in runtime durng testing) But this this third part is far faraway... BAck to this patch: I let Defaults.java use CACHE_DIR.getDefaultFullPath() instead of CACHE_DIR.getFullPath(). Tahts actually very correct - because those are default values. Then I have added possibility to override getFullPath by get from properties + few small changes for docs generation. Thoughts? -------------- next part -------------- A non-text attachment was scrubbed... Name: makePathsAndFilesObeySetValues.patch Type: text/x-patch Size: 29624 bytes Desc: not available URL: From ldracz at redhat.com Thu Mar 26 18:58:06 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Thu, 26 Mar 2015 14:58:06 -0400 (EDT) Subject: [rfc][icedtea-web] fix TrustedOnlyAttributeTest by enabling Trusted Only check In-Reply-To: <1363363348.3536978.1427394794599.JavaMail.zimbra@redhat.com> Message-ID: <1620195385.3555048.1427396286742.JavaMail.zimbra@redhat.com> Hello, This patch fixes TrustedOnlyAttributeTest by changing the deployment.manifest.attributes.check to TRUSTED in BeforeClass and back to its previous value in AfterClass. The fix is similar to how SignedAppletManifestSpecifiesSandbox needed this done with PERMISSIONS. I had tracked the patch that "broke" the tests to http://icedtea.classpath.org/hg/icedtea-web/rev/26b5ec24ec08. The tests were written before the deployment.manifest.attributes.check was added. The tests expect checkTrustedOnlyAttribute() to be run, but since most of the time when reproducers are run the deployment.manifest.attributes.check is set to false, it would fail. The tests pass at the moment but only if run with deployment.manifest.attributes.check is set with TRUSTED in the combination or with only ALL. This patch makes it so tests can be run with deployment.manifest.attributes.check set to NONE as they typically are and still pass. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: fixTrustedOnlyAttributeTestByEnablingTrustedDeploymentProperty.patch Type: text/x-patch Size: 2477 bytes Desc: not available URL: From jvanek at icedtea.classpath.org Fri Mar 27 12:49:49 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 27 Mar 2015 12:49:49 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset dedecb2fff07 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=dedecb2fff07 author: Jiri Vanek date: Fri Mar 27 13:43:46 2015 +0100 Makefile.am: (stamps/generate-docs.stamp) fixed redundant false in version appearing in docs changeset d1b6ca2e899a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d1b6ca2e899a author: Jiri Vanek date: Fri Mar 27 13:49:10 2015 +0100 * tests/reproducers/custom/TrustedOnlyAttribute/testcases/TrustedOnlyAttributeTest.java: added BeforeClass and AfterClass hunks which adapt USER_DEPLOYMENT_FILE for test's needs. diffstat: ChangeLog | 11 ++ Makefile.am | 6 +- tests/reproducers/custom/TrustedOnlyAttribute/testcases/TrustedOnlyAttributeTest.java | 40 ++++++++++ 3 files changed, 54 insertions(+), 3 deletions(-) diffs (100 lines): diff -r 3a1ad6a916a8 -r d1b6ca2e899a ChangeLog --- a/ChangeLog Thu Mar 26 11:37:18 2015 -0400 +++ b/ChangeLog Fri Mar 27 13:49:10 2015 +0100 @@ -1,3 +1,14 @@ +2015-03-25 Lukasz Dracz + + * tests/reproducers/custom/TrustedOnlyAttribute/testcases/TrustedOnlyAttributeTest.java: + added BeforeClass and AfterClass hunks which adapt USER_DEPLOYMENT_FILE for + test's needs. + +2015-03-27 Jiri Vanek + + * Makefile.am: (stamps/generate-docs.stamp) fixed redundant false in version + appearing in docs + 2015-03-26 Lukasz Dracz fix clean to replace new Manifest Attributes messages diff -r 3a1ad6a916a8 -r d1b6ca2e899a Makefile.am --- a/Makefile.am Thu Mar 26 11:37:18 2015 -0400 +++ b/Makefile.am Fri Mar 27 13:49:10 2015 +0100 @@ -525,16 +525,16 @@ export LANG=$$LANG_ID; \ mkdir "$$HTML_DOCS_TARGET_DIR/$$ID" ; \ echo "
  • $$LANG_ID
  • " >> "$$HTML_DOCS_INDEX" ; \ - $$TP_COMMAND html "$$HTML_DOCS_TARGET_DIR/$$ID" false "$$TP_TAIL" ; \ + $$TP_COMMAND html "$$HTML_DOCS_TARGET_DIR/$$ID" $$TP_TAIL ; \ mkdir "$$PLAIN_DOCS_TARGET_DIR/$$ID" ; \ - $$TP_COMMAND plain "$$PLAIN_DOCS_TARGET_DIR/$$ID" 160 false "$$TP_TAIL"; \ + $$TP_COMMAND plain "$$PLAIN_DOCS_TARGET_DIR/$$ID" 160 $$TP_TAIL; \ if [ $$ID == "en" ] ; then \ MAN_DESC="$$MAN_DOCS_TARGET_DIR/man1" ; \ else \ MAN_DESC="$$MAN_DOCS_TARGET_DIR/$$ID/man1" ; \ fi ; \ mkdir -p "$$MAN_DESC" ; \ - $$TP_COMMAND man $$ENCOD "$$MAN_DESC" "$$TP_TAIL" ; \ + $$TP_COMMAND man $$ENCOD "$$MAN_DESC" $$TP_TAIL ; \ $$TP_COMMAND htmlIntro "$(NETX_DIR)/net/sourceforge/jnlp/resources/about_$$ID.html" "$$TP_TAIL"; \ done ; \ export LANG=$$LANG_BACKUP ; \ diff -r 3a1ad6a916a8 -r d1b6ca2e899a tests/reproducers/custom/TrustedOnlyAttribute/testcases/TrustedOnlyAttributeTest.java --- a/tests/reproducers/custom/TrustedOnlyAttribute/testcases/TrustedOnlyAttributeTest.java Thu Mar 26 11:37:18 2015 -0400 +++ b/tests/reproducers/custom/TrustedOnlyAttribute/testcases/TrustedOnlyAttributeTest.java Fri Mar 27 13:49:10 2015 +0100 @@ -45,15 +45,55 @@ import net.sourceforge.jnlp.browsertesting.Browsers; import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; +import net.sourceforge.jnlp.config.PathsAndFiles; +import net.sourceforge.jnlp.util.FileUtils; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; +import java.io.File; +import java.io.IOException; + public class TrustedOnlyAttributeTest extends BrowserTest { private static final String RUNNING_STRING = "TrustedOnlyAttribute applet running"; private static final String CLOSE_STRING = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; + private static File deployFile; + private static String attributesCheck; + + @BeforeClass + public static void setupDeploymentProperties() throws IOException { + deployFile = PathsAndFiles.USER_DEPLOYMENT_FILE.getFile(); + String properties = FileUtils.loadFileAsString(deployFile); + + for (String line : properties.split("\n")) { + if (line.contains("deployment.manifest.attribute.check")) { + attributesCheck = line; + properties = properties.replace(line, "deployment.manifest.attributes.check=TRUSTED\n"); + } + } + if (attributesCheck == null) { + properties += "deployment.manifest.attributes.check=TRUSTED\n"; + } + + FileUtils.saveFile(properties, deployFile); + } + + @AfterClass + public static void setbackDeploymentProperties() throws IOException { + String properties = FileUtils.loadFileAsString(deployFile); + if (attributesCheck != null) { + properties = properties.replace("deployment.manifest.attributes.check=TRUSTED\n", attributesCheck); + } else { + properties = properties.replace("deployment.manifest.attributes.check=TRUSTED\n", ""); + } + + FileUtils.saveFile(properties, deployFile); + } + @NeedsDisplay @Test @TestInBrowsers(testIn={Browsers.one}) From jvanek at redhat.com Fri Mar 27 12:50:43 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 27 Mar 2015 13:50:43 +0100 Subject: [rfc][icedtea-web] fix TrustedOnlyAttributeTest by enabling Trusted Only check In-Reply-To: <1620195385.3555048.1427396286742.JavaMail.zimbra@redhat.com> References: <1620195385.3555048.1427396286742.JavaMail.zimbra@redhat.com> Message-ID: <55155223.2020207@redhat.com> On 03/26/2015 07:58 PM, Lukasz Dracz wrote: > Hello, > > This patch fixes TrustedOnlyAttributeTest by changing the deployment.manifest.attributes.check to TRUSTED in BeforeClass and back to its previous value in AfterClass. The fix is similar to how SignedAppletManifestSpecifiesSandbox needed this done with PERMISSIONS. I had tracked the patch that "broke" the tests to http://icedtea.classpath.org/hg/icedtea-web/rev/26b5ec24ec08. > > The tests were written before the deployment.manifest.attributes.check was added. The tests expect checkTrustedOnlyAttribute() to be run, but since most of the time when reproducers are run the deployment.manifest.attributes.check is set to false, it would fail. The tests pass at the moment but only if run with deployment.manifest.attributes.check is set with TRUSTED in the combination or with only ALL. This patch makes it so tests can be run with deployment.manifest.attributes.check set to NONE as they typically are and still pass. > > Thank you, > Lukasz Dracz > Hi! Looks good. My apologies, I had pushed for you, to have this fix in todays test run. Hope it is ok. Thank you! J. From bugzilla-daemon at icedtea.classpath.org Fri Mar 27 14:01:39 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 27 Mar 2015 14:01:39 +0000 Subject: [Bug 2282] [Test bug] Caciocavallo tests fail with JDK 8 u40 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2282 Jie Kang changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jkang at redhat.com Assignee|unassigned at icedtea.classpat |jkang at redhat.com |h.org | -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Fri Mar 27 14:54:32 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 27 Mar 2015 15:54:32 +0100 Subject: [rfc] [icedtea-web] make PAthsAndFilles to follow seted paths II Message-ID: <55156F28.1060507@redhat.com> So this is part II It is moving remianing keys to paths and files. The cache, logs and so on are now correctly changeable. The setters into those fields, however, remained property based. Thinking about third part of this patch... Probably add setter to those setupable files will be best... And if dangling pointr will be done properly, then it should work perfectly without any hacking. J. > > Hi! > > This is first of at least three pathces tro make it work > this one - i adding difference between getFile/Path and getDefaultFile/DefaultPAth + adapting few > (the most important) PathsAndFiles > So this one is especially about concept. There rised issue, that PathsandFiles become depnding on > JnlpRuntime.getConfig() - the result of it is later-lazy loading of RECENTLY_USED_FILE. > Also note the behaviour of deployment.user.security.policy > > Second part of this work will be focused on adapting missing "adjustable files" > deployment.user.security.trusted.cacerts > deployment.user.security.trusted.certs > deployment.user.security.trusted.clientauthcerts > deployment.user.security.trusted.jssecacerts > deployment.user.security.trusted.jssecerts > > And ensure, that those are never ever used in itw - only the PathsAndFiles > > ThirdPart will be then focused on being sure, no dangling insatnces are around - taht everything > is using PAthsAndFiles directly, and so runtime change to any InfrastructureFileDescriptor will > take imidiate effect. (aka changing cache in runtime durng testing) > > But this this third part is far faraway... > > BAck to this patch: > I let Defaults.java use CACHE_DIR.getDefaultFullPath() instead of CACHE_DIR.getFullPath(). > Tahts actually very correct - because those are default values. Then I have added possibility to > override getFullPath by get from properties + few small changes for docs generation. > Thoughts? -------------- next part -------------- A non-text attachment was scrubbed... Name: restOfPropertiesEncapsulatedInPathsAndFiles.patch Type: text/x-patch Size: 34230 bytes Desc: not available URL: From andrew at icedtea.classpath.org Fri Mar 27 15:00:13 2015 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 27 Mar 2015 15:00:13 +0000 Subject: /hg/icedtea7: Add 2.5.4 release notes. Message-ID: changeset 5d905b7fe1ac in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=5d905b7fe1ac author: Andrew John Hughes date: Thu Mar 26 18:14:33 2015 +0000 Add 2.5.4 release notes. 2015-03-26 Andrew John Hughes * NEWS: Add 2.5.4 release notes. diffstat: ChangeLog | 5 + NEWS | 182 ++++++++++++++++++++++++++++++++++--------------------------- 2 files changed, 106 insertions(+), 81 deletions(-) diffs (484 lines): diff -r 10956f86c749 -r 5d905b7fe1ac ChangeLog --- a/ChangeLog Thu Feb 05 16:10:46 2015 +0000 +++ b/ChangeLog Thu Mar 26 18:14:33 2015 +0000 @@ -1,3 +1,8 @@ +2015-03-26 Andrew John Hughes + + * NEWS: + Add 2.5.4 release notes. + 2015-02-05 Andrew John Hughes * Makefile.am: diff -r 10956f86c749 -r 5d905b7fe1ac NEWS --- a/NEWS Thu Feb 05 16:10:46 2015 +0000 +++ b/NEWS Thu Mar 26 18:14:33 2015 +0000 @@ -14,22 +14,12 @@ New in release 2.6.0 (2014-XX-XX): -* Security fixes - - S8047125, CVE-2015-0395: (ref) More phantom object references - - S8047130: Fewer escapes from escape analysis - - S8049253: Better GC validation - - S8050807, CVE-2015-0383: Better performing performance data handling - - S8055479: TLAB stability - - S8058982, CVE-2014-6601: Better verification of an exceptional invokespecial * OpenJDK - S4792059: test/java/io/pathNames/GeneralSolaris.java fails on symbolic links - S4991647: PNGMetadata.getAsTree() sets bitDepth to invalid value - S5036554: unmarshal error on CORBA alias type in CORBA any - S6458027: Disabling IPv6 on a specific network interface causes problems - - S6461635: [TESTBUG] BasicTests.sh test fails intermittently - - S6545422: [TESTBUG] NativeErrors.java uses wrong path name in exec - S6642881: Improve performance of Class.getClassLoader() - - S6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems - S6695379: Copy method annotations and parameter annotations to synthetic bridge methods - S6883953: java -client -XX:ValueMapInitialSize=0 crashes - S6931564: Incorrect display name of Locale for south africa @@ -38,16 +28,12 @@ - S6993873: java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java test indicates ".a frame wasn't focused on click" jdk7 issue on linux - S7010989: Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets - S7017962: Obsolete link is used in URL class level spec - - S7028073: The currency symbol for Peru is wrong - S7033533: realSync() doesn't work with Xfce - S7036518: TEST_BUG: add cygwin support to test/java/nio/charset/coders/CheckSJISMappingProp.sh - - S7047033: (smartcardio) Card.disconnect(boolean reset) does not reset when reset is true - S7052170: javadoc -charset option generates wrong meta tag - S7058832: com/sun/net/httpserver/bugs/B6373555.java failing intermittently - S7076487: (sctp) SCTP API classes does not exist in JDK for Mac - - S7077119: remove past transition dates from CurrencyData.properties file - S7084032: test/java/net/Inet6Address/B6558853.java fails on Windows XP/2003 if IPv6 - - S7085757: Currency Data: ISO 4217 Amendment 152 - S7087021: TEST: com/sun/crypto/provider/Mac/MacClone.java failed on Solaris sparc 5.10 - S7090324: gclog rotation via external tool - S7095856: OutputStreamHook doesn't handle null values @@ -63,36 +49,28 @@ - S7160604: Using non-opaque windows - popups are initially not painted correctly - S7161320: TEST_BUG: java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java fails (Invalid key code) - S7164841: Improvements to the GC log file rotation - - S7169142: CookieHandler does not work with localhost - S7172176: test/sun/tools/jconsole/ImmutableResourceTest.sh failing - S7172865: PropertyDescriptor fails to work with setter method name if setter is non-void - S7180038: regression test failure, SSLEngineBadBufferArrayAccess.java - - S7185456: (ann) Optimize Annotation handling in java/sun.reflect.* code for small number of annotations - S7195480: javax.smartcardio does not detect cards on Mac OS X - - S7195759: ISO 4217 Amendment 154 - S7199674: (props) user.home property does not return an accessible location in sandboxed environment [macosx] - - S8001105: findVirtual of Object[].clone produces internal error - S8001472: api/java_awt/Window/indexTGF_* tests fail because expected colors aren't equal - S8001633: Wrong alt processing during switching between windows. - S8002148: [TEST_BUG] The four lines printed are not the bold typeface. - S8004488: wrong permissions checked in krb5 - - S8005232: (JEP-149) Class Instance size reduction - S8006023: Embedded Builds fail management test because of requirement for UsePerfData being enabled. - - S8006748: getISO3Country() returns wrong value - S8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp - S8008759: Do not let internal JDK zlib symbols leak out of fastdebug libzip.so - S8009258: TEST_BUG:java/io/pathNames/GeneralWin32.java fails intermittently - S8010738: G1: Output for full GCs with +PrintGCDetails should contain perm gen/meta data size change info - S8011646: SEGV in compiled code with loop predication - S8011795: DOM Serializer prints stack traces to System.err - - S8012026: [macosx] Component.getMousePosition() does not work in an applet on MacOS - S8012625: Incorrect handling of HTTP/1.1 " Expect: 100-continue " in HttpURLConnection - S8012941: JSR 292: too deep inlining might crash compiler because of stack overflow - S8013098: [macosx] localized aqua_xx.properties are not included in rt.jar - S8013485: javac can't handle annotations with a from a previous compilation unit - S8013849: Awt assert on Hashtable.cpp:124 - S8014254: Selector in HttpServer introduces a 1000 ms delay when using KeepAlive - - S8015421: NegativeArraySizeException occurs in ChunkedOutputStream() with Integer.MAX_VALUE - S8015586: [macosx] Test closed/java/awt/print/PrinterJob/PrintToDir.java fails on MacOSX - S8015628: Test Failure in closed/java/io/pathNames/GeneralSolaris.java - S8015780: java/lang/reflect/Method/GenericStringTest.java failing @@ -103,30 +81,23 @@ - S8019623: Lack of synchronization in AppContext.getAppContext() - S8019800: Test sun/tools/jcmd/jcmd-f.sh failing after JDK-8017011 - S8019834: InetAddress.getByName hangs for bad IPv6 literals - - S8020190, PR2160, RH1176718: Fatal: Bug in native code: jfieldID must match object - S8020675: invalid jar file in the bootclasspath could lead to jvm fatal error - S8020829: NMT tests fail on platforms if NMT detail is not supported - - S8021121: ISO 4217 Amendment Number 156 - - S8021372: NetworkInterface.getNetworkInterfaces() returns duplicate hardware address - S8021804: Certpath validation fails if validity period of root cert does not include validity period of intermediate cert - S8022070: Compilation error in stubGenerator_sparc.cpp with some compilers - S8022229: Intermittent test failures in sun/tools/jstatd - S8022531: [TEST_BUG] After double-click on the folder names , there is no 'OK' button in the dialog. - - S8022721: TEST_BUG: AnnotationTypeDeadlockTest.java throws java.lang.IllegalStateException: unexpected condition - S8022836: JVM crashes in JVMTIENVBASE::GET_CURRENT_CONTENDED_MONITOR and GET_OWNED_MONITOR - S8024061: Exception thrown when drag and drop between two components is executed quickly - S8024675: java/net/NetworkInterface/UniqueMacAddressesTest.java fails on Windows - S8024677: [TESTBUG] Move tests for classes in /testlibrary - S8024932: [TEST_BUG] [macosx] javax/swing/text/StyledEditorKit/8016833/bug8016833.java failed - - S8025051: Update resource files for TimeZone display names - S8025644: java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java fails with TestData): failure java.lang.AssertionError: expected [true] but found [false] - S8025710: Proxied HTTPS connections reused by HttpClient can send CONNECT to the server - S8025917: JDK demo applets not running with >=7u40 or (JDK 8 and JDK 9) - S8026303: CMS: JVM intermittently crashes with "FreeList of size 258 violates Conservation Principle" assert - - S8026792: HOTSPOT: licensee reports a JDK8 build failure after 8005849/8005008 fixes integrated. - S8027026: Change keytool -genkeypair to use -keyalg RSA - S8027348: (process) Enhancement of handling async close of ProcessInputStream - - S8027359: XML parser returns incorrect parsing results - S8027695: There should be a space before % sign in Swedish locale - S8028073: race condition in ObjectMonitor implementation causing deadlocks - S8028074: InetAddress.getByName fails with UHE "invalid IPv6 address" if host name starts with a-f @@ -135,9 +106,6 @@ - S8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails - S8028616: Htmleditorkit parser doesn't handle leading slash (/) - S8028617: Dvorak keyboard mapping not honored when ctrl key pressed - - S8028623: SA: hash codes in SymbolTable mismatching java_lang_String::hash_code for extended characters. - - S8028627: Unsynchronized code path from javax.crypto.Cipher to the WeakHashMap used by JceSecurity to store codebase mappings - - S8028726: (prefs) Check src/solaris/native/java/util/FileSystemPreferences.c for JNI pending exceptions - S8029073: (corba) New connection reclaimed when number of connection is greater than highwatermark - S8029190: VM_Version::determine_features() asserts on Fujitsu Sparc64 CPUs - S8029302: Performance regression in Math.pow intrinsic @@ -150,7 +118,6 @@ - S8030712: TEST_BUG : java/lang/ProcessBuilder/BasicLauncher.java fails if java output contains VM warning - S8030878: JConsole issues meaningless message if SSL connection fails - S8030976: Untaken paths should be more vigorously pruned at highest optimization level - - S8031046: Native Windows ccache might still get unsupported ticket - S8031061: new hotspot build - hs24.60-b07 - S8031068: java/util/logging/ParentLoggersTest.java: checkLoggers: getLoggerNames() returned unexpected loggers - S8031290: Adjust call to getisax() for additional words returned @@ -161,10 +128,7 @@ - S8031743: C2: loadI2L_immI broken for negative memory values - S8031764: tmtools/jmap/heap_config tests fail on Linux-ia32 because it Cant attach to the core file - S8031765: Child process error stream is not empty! - - S8032078: [macosx] CPlatformWindow.setWindowState throws RuntimeException, if windowState=ICONIFIED|MAXIMIZED_BOTH - S8032466: serviceability/sa/jmap-hashcode/Test8028623.java fails with compilation errors - - S8032669: Mouse release not being delivered to Swing component in 7u45 - - S8032788: ImageIcon constructor throws an NPE and hangs when passed a null String parameter - S8032808: Support Solaris SO_FLOW_SLA socket option - S8032832: Applet/browser deadlocks, when IIS integrated authentication is used - S8032864: [macosx] sigsegv (0Xb) Being Generated When Starting JDev With Voiceover Running @@ -173,7 +137,6 @@ - S8032878: Editable combos in table do not behave as expected - S8032901: WaitForMultipleObjects() return value not handled appropriately - S8032908: getTextContent doesn't return string in JAXP - - S8032909: XSLT string-length returns incorrect length when string includes complementary chars - S8033113: wsimport fails on WSDL:header parameter name customization - S8033524: Set minor version for hotspot in 7u80 to 80 and build number to b01 - S8033571: [parfait] warning from b128 for security/smartcardio/pcsc_md.c: JNI exception pending @@ -184,7 +147,6 @@ - S8038919: Requesting focus to a modeless dialog doesn't work on Safari - S8038966: JAX-WS handles wrongly xsd:any arguments for Web services - S8034118: [parfait] JNI exception pending in macosx/native/sun/awt/JavaComponentAccessibility.m - - S8034200: Test java/net/CookieHandler/LocalHostCookie.java fails after fix of JDK-7169142 - S8034262: Test java/lang/ProcessBuilder/CloseRace.java fails - S8034768: [parfait] JNI exception pending in jdk/src/macosx/native/sun/awt/JavaTextAccessibility.m - S8034920: new hotspot build - hs24.80-b03 @@ -196,7 +158,6 @@ - S8036778: new hotspot build - hs24.80-b05 - S8036819: JAB: mneumonics not read for textboxes - S8036823: Stack trace sometimes shows 'locked' instead of 'waiting to lock' - - S8036863: Update jdk7 testlibrary to match jdk8 in hotspot - S8036981: JAXB not preserving formatting for xsd:any Mixed content - S8036983: JAB:Multiselection Ctrl+CursorUp/Down and ActivateDescenderPropertyChanged event - S8037477: Reproducible hang of JAWS and webstart application with JAB 2.0.4 @@ -218,16 +179,11 @@ - S8039891: Remove ppcsflt builds from JPRT - S8039899: Missing licence headers in test for JDK-8033113 - S8040076: Memory leak: java.awt.List objects allowing multiple selections are not GC-ed. - - S8040168: Set hotspot version to hs24.66 and build to b01 for 7u66 - - S8040617: [macosx] Large JTable cell results in a OutOfMemoryException - S8040664: Revert temporary fix JDK-8038785 - S8040790: [TEST_BUG] tools/javac/innerClassFile/Driver.sh fails to cleanup files after it - - S8041132: Increment hsx 24.66 build to b02 for 7u66-b09 - S8041351: Crash in src/share/vm/opto/loopnode.cpp:3215 - assert(! had_error) failed: bad dominance - - S8041408: Increment hsx 24.55 build to b04 for 7u55-b34 - S8041451: com.sun.jndi.ldap.Connection:ReadTimeout should abandon ldap request - S8041507: Java Access Bridge version strings need to be fixed - - S8041572: [macosx] huge native memory leak in AWTWindow.m - S8041725: Nimbus JList selection colors persist across L&F changes - S8041791: String.toLowerCase regression - violates Unicode standard - S8041918: BootstrapMethods attribute cannot be empty. @@ -235,7 +191,6 @@ - S8041979: sun/jvmstat/monitor/MonitoredVm/CR6672135.java failing on all platforms - S8041980: (hotspot) sun/jvmstat/monitor/MonitoredVm/CR6672135.java failing on all platforms - S8041984: CompilerThread seems to occupy all CPU in a very rare situation - - S8041990: [macosx] Language specific keys does not work in applets when opened outside the browser - S8042052: assert(t != NULL) failed: must set before get - S8042059: Various fixes to linux/sparc - S8042235: redefining method used by multiple MethodHandles crashes VM @@ -254,11 +209,9 @@ - S8043354: OptimizePtrCompare too aggressive when allocations are present - S8043413: REGRESSION: Hotspot causes segmentation fault in jdk8ux, but not in jdk7ux - S8043507: javax.smartcardio.CardTerminals.list() fails on MacOSX - - S8043610: Sorting columns in JFileChooser fails with AppContext NPE - S8043720: (smartcardio) Native memory should be handled more accurately - S8044406: JVM crash with JDK8 (build 1.8.0-b132) with G1 GC - S8044602: Increment minor version of HSx for 7u72 and initialize the build number - - S8044603: Increment minor version of HSx for 7u71 and initialize the build number - S8044614: [macosx] Focus issue with 2 applets in firefox - S8044659: Java SecureRandom on SPARC T4 much slower than on x86/Linux - S8044725: Bug in zlib 1.2.5 prevents inflation of some gzipped files (zlib 1.2.8 port) @@ -269,7 +222,6 @@ - S8046275: Fastdebug build failing on jdk9/hs/ control jobs after pulling some hs-comp changes - S8046287: [TESTBUG] runtime/Thread/TestThreadDumpMonitorContention.java failed error_cnt=12 - S8046289: compiler/6340864/TestLongVect.java timeout with - - S8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX - S8046495: KeyEvent can not be accepted in quick mouse clicking - S8046516: Segmentation fault in JVM (easily reproducible) - S8046559: NPE when changing Windows theme @@ -289,23 +241,17 @@ - S8048506: [macosx] javax.swing.PopupFactory issue with null owner - S8048887: SortingFocusTraversalPolicy throws IllegalArgumentException from the sort method - S8049081: Increment hsx 24.72 build to b02 for 7u72-b03 - - S8049250: Need a flag to invert the Card.disconnect(reset) argument - - S8049343: (tz) Support tzdata2014g - S8049514: FEATURE_SECURE_PROCESSING can not be turned off on a validator through SchemaFactory - S8049542: C2: assert(size_in_words <= (julong)max_jint) failed: no overflow - S8049684: pstack crashes on java core dump - - S8049758: Increment minor version of HSx for 7u75 and initialize the build number - S8049787: Increment hsx 24.72 build to b03 for 7u72-b04 - S8050022: linux-sparcv9: assert(SharedSkipVerify || obj->is_oop()) failed: sanity check - S8050158: Introduce system property to maintain RC4 preference order - S8050165: linux-sparcv9: NMT detail causes assert((intptr_t*)younger_sp[FP->sp_offset_in_saved_window()] == (intptr_t*)((intptr_t)sp - STACK_BIAS)) failed: younger_sp must be valid - S8050167: linux-sparcv9: hs_err file does not show any stack information - S8050386: javac, follow-up of fix for JDK-8049305 - - S8050485: super() in a try block in a ctor causes VerifyError - S8050983: Misplaced parentheses in sun.net.www.http.HttpClient break HTTP PUT streaming - S8051004: javac, incorrect bug id in tests for JDK-8050386 - - S8051359: JPopupMenu creation in headless mode with JDK9b23 causes NPE - - S8051614: smartcardio TCK tests fail due to lack of 'reset' permission - S8051844: BootstrapMethods attribute cannot be empty again - S8051857: OperationTimedOut exception inside from XToolkit.syncNativeQueue call - S8052159: TEST_BUG: javax/swing/JTextField/8036819/bug8036819.java fails to compile @@ -317,7 +263,6 @@ - S8054817: File ccache only recognizes Linux and Solaris defaults - S8054841: (process) ProcessBuilder leaks native memory - S8054883: Segmentation error while running program - - S8055222: Currency update needed for ISO 4217 Amendment #159 - S8055304: More boxing for DirectoryComboBoxModel - S8055309: RMI needs better transportation considerations - S8055421: (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c @@ -327,12 +272,10 @@ - S8055949: ByteArrayOutputStream capacity should be maximal array size permitted by VM - S8056026: Debug security logging should print Provider used for each crypto operation - S8056156: [TEST_BUG] Test javax/swing/JFileChooser/8046391/bug8046391.java fails in Windows - - S8056211: api/java_awt/Event/InputMethodEvent/serial/index.html#Input[serial2002] failure - S8056264: Multicast support improvements - S8056276: Fontmanager feature improvements - S8056309: Set minor version for hotspot in 7u76 to 76 and build number to b01 - S8056914: Right Click Menu for Paste not showing after upgrading to java 7 - - S8057184: JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris - S8057530: (process) Runtime.exec throws garbled message in jp locale - S8057555: Less cryptic cipher suite management - S8057564: JVM hangs at getAgentProperties after attaching to VM with lower @@ -340,12 +283,10 @@ - S8058120: Rendering / caret errors with HTMLDocument - S8058473: "Comparison method violates its general contract" when using Clipboard - S8058583: Remove CompilationRepeat - - S8058715: stability issues when being launched as an embedded JVM via JNI - S8058927: ATG throws ClassNotFoundException - S8058932: java/net/InetAddress/IPv4Formats.java failed because hello.foo.bar does exist - S8058935: CPU detection gives 0 cores per cpu, 2 threads per core in Amazon EC2 environment - S8058936: hotspot/test/Makefile should use jtreg script from $JT_HOME/bin/jreg (instead of $JT_HOME/win32/bin/jtreg) - - S8059206: (tz) Support tzdata2014i - S8059216: Make PrintGCApplicationStoppedTime print information about stopping threads - S8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr - S8059327: XML parser returns corrupt attribute value @@ -353,45 +294,34 @@ - S8059563: (proxy) sun.misc.ProxyGenerator.generateProxyClass should create intermediate directories - S8060006: No Russian time zones mapping for Windows - S8060169: Update the Crash Reporting URL in the Java crash log - - S8060474: Resolve more parsing ambiguity - S8061210: Issues in TLS - S8061507: Increment hsx 24.76 build to b02 for 7u76-b05 - - S8061685: Increment hsx 24.75 build to b02 for 7u75-b06 - S8061694: Increment hsx 24.76 build to b03 for 7u76-b06 - - S8061785: [TEST_BUG] serviceability/sa/jmap-hashcode/Test8028623.java has utf8 character corrupted by earlier merge - - S8061826: Part of JDK-8060474 should be reverted - S8061954: 7u76 - deployment warning dialogs do not work on Linux - S8062021: NPE in sun/lwawt/macosx/CPlatformWindow::toFront after JDK-8060146 - S8062178: merge issue: Test closed/java/util/TimeZone/Bug6329116.java fails in 7u-cpu nightly - - S8062561: Test bug8055304 fails if file system default directory has read access - S8062608: BCEL corrupts debug data of methods that use generics - S8062672: JVM crashes during GC on various asserts which checks that HeapWord ptr is an oop - S8062744: jdk.net.Sockets.setOption/getOption does not support IP_TOS - S8062771: Core reflection should use final fields whenever possible - - S8062807: Exporting RMI objects fails when run under restrictive SecurityManager - - S8064300: Increment hsx 24.75 build to b03 for 7u75-b06 - S8064391: More thread safety problems in core reflection - S8064407: (fc) FileChannel transferTo should use TransmitFile on Windows - S8064493: Increment the build value to b04 for hs24.76 in 7u76-b08 - S8064516: BCEL still corrupts generic methods if bytecode offsets are modified - S8064532: 7u76 build failed with # 8041979 - S8064533: Remove and retag jdk7u76-b08 tag in 7u76/jdk repo - - S8064560: (tz) Support tzdata2014j - S8064667: Add -XX:+CheckEndorsedAndExtDirs flag to JDK 8 - S8064846: Lazy-init thread safety problems in core reflection - S8065098: JColorChooser no longer supports drag and drop between two JVM instances - S8065552: setAccessible(true) on fields of Class may throw a SecurityException - - S8065608: 7u75 l10n resource file translation update - S8065609: 7u76 l10n resource file translation update - S8065618: C2 RA incorrectly removes kill projections - S8065674: javac generates incorrect LVT table for trivial cases - S8065765: Missing space in output message from -XX:+CheckEndorsedAndExtDirs - - S8065787: Increment hsx 24.75 build to b04 for 7u75-b10 - S8066045: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8066103: C2's range check smearing allows out of bound array accesses - S8066612: Add a test that will call getDeclaredFields() on all classes and try to set them accessible. - S8066649: 8u backport for 8065618 is incorrect - - S8066747: Backing out Japanese translation change in awt_ja.properties - S8066756: Test test/sun/awt/dnd/8024061/bug8024061.java fails - S8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 - S8068338: Better message about incompatible zlib in Deflater.init @@ -400,25 +330,119 @@ - S8068639: Make certain annotation classfile warnings opt-in * Backports - S6584008, PR2193, RH1173326: jvmtiStringPrimitiveCallback should not be invoked when string value is null - - S7172012, PR2067: Make test-in-build an option (Queens) - - S8000897, RH1155012: VM crash in CompileBroker * Bug fixes - PR1786: Allow x86 build to occur on x86_64 using a previously built x86_64 build - PR1846: Build fails when using IcedTea7 as bootstrap JDK with native ecj - PR1847: Synchronise javac.in with IcedTea6 - PR2060: Fix warnings found by Gentoo ebuild QA with gcc 4.9.1 + - PR2144: make dist fails due to lack of HotSpot-specific patches + - PR2196, RH1164762: jhat man page has broken URL + - PR2200: Support giflib 5.1.0 + - PR2210: DGifCloseFile call should check the return value, not the error code, for failure +* AArch64 port + - Add java.lang.ref.Reference.get intrinsic to template interpreter + - Fix implementation of InterpreterMacroAssembler::increment_mdp_data_at(). + - Remove insanely large stack allocation in entry frame. + - S8072129: [AARCH64] missing fix for 8066900 + +New in release 2.5.4 (2015-01-21): + +* Security fixes + - S8046656: Update protocol support + - S8047125, CVE-2015-0395: (ref) More phantom object references + - S8047130: Fewer escapes from escape analysis + - S8048035, CVE-2015-0400: Ensure proper proxy protocols + - S8049253: Better GC validation + - S8050807, CVE-2015-0383: Better performing performance data handling + - S8054367, CVE-2015-0412: More references for endpoints + - S8055304, CVE-2015-0407: More boxing for DirectoryComboBoxModel + - S8055309, CVE-2015-0408: RMI needs better transportation considerations + - S8055479: TLAB stability + - S8055489, CVE-2014-6585: Better substitution formats + - S8056264, CVE-2014-6587: Multicast support improvements + - S8056276, CVE-2014-6591: Fontmanager feature improvements + - S8057555, CVE-2014-6593: Less cryptic cipher suite management + - S8058982, CVE-2014-6601: Better verification of an exceptional invokespecial + - S8059485, CVE-2015-0410: Resolve parsing ambiguity + - S8061210, CVE-2014-3566: Issues in TLS +* Backports + - S6461635: [TESTBUG] BasicTests.sh test fails intermittently + - S6545422: [TESTBUG] NativeErrors.java uses wrong path name in exec + - S6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems + - S7028073: The currency symbol for Peru is wrong + - S7047033: (smartcardio) Card.disconnect(boolean reset) does not reset when reset is true + - S7077119, PR2165, G534118: remove past transition dates from CurrencyData.properties file + - S7085757: Currency Data: ISO 4217 Amendment 152 + - S7169142: CookieHandler does not work with localhost + - S7172012, PR2067: Make test-in-build an option (Queens) + - S7183753: [TEST] Some colon in the diff for this test + - S7185456: (ann) Optimize Annotation handling in java/sun.reflect.* code for small number of annotations + - S7195759: ISO 4217 Amendment 154 + - S8000897, RH1155012: VM crash in CompileBroker + - S8001105: findVirtual of Object[].clone produces internal error + - S8005232: (JEP-149) Class Instance size reduction + - S8006748: getISO3Country() returns wrong value + - S8012026: [macosx] Component.getMousePosition() does not work in an applet on MacOS + - S8015421: NegativeArraySizeException occurs in ChunkedOutputStream() with Integer.MAX_VALUE + - S8020190, PR2160, RH1176718: Fatal: Bug in native code: jfieldID must match object + - S8021121: ISO 4217 Amendment Number 156 + - S8021372: NetworkInterface.getNetworkInterfaces() returns duplicate hardware address + - S8022721: TEST_BUG: AnnotationTypeDeadlockTest.java throws java.lang.IllegalStateException: unexpected condition + - S8025051: Update resource files for TimeZone display names + - S8026792: HOTSPOT: licensee reports a JDK8 build failure after 8005849/8005008 fixes integrated. + - S8027359: XML parser returns incorrect parsing results + - S8028623, PR2112, RH1168693: SA: hash codes in SymbolTable mismatching java_lang_String::hash_code for extended characters. + - S8028627: Unsynchronized code path from javax.crypto.Cipher to the WeakHashMap used by JceSecurity to store codebase mappings + - S8028726: (prefs) Check src/solaris/native/java/util/FileSystemPreferences.c for JNI pending exceptions + - S8029153: [TESTBUG] test/compiler/7141637/SpreadNullArg.java fails because it expects NullPointerException + - S8031046: Native Windows ccache might still get unsupported ticket + - S8031502: JSR292: IncompatibleClassChangeError in LambdaForm for CharSequence.toString() method handle type converter + - S8032078: [macosx] CPlatformWindow.setWindowState throws RuntimeException, if windowState=ICONIFIED|MAXIMIZED_BOTH + - S8032669: Mouse release not being delivered to Swing component in 7u45 + - S8032788: ImageIcon constructor throws an NPE and hangs when passed a null String parameter + - S8032909: XSLT string-length returns incorrect length when string includes complementary chars + - S8034200: Test java/net/CookieHandler/LocalHostCookie.java fails after fix of JDK-7169142 + - S8036863: Update jdk7 testlibrary to match jdk8 in hotspot + - S8040168: Set hotspot version to hs24.66 and build to b01 for 7u66 + - S8040617: [macosx] Large JTable cell results in a OutOfMemoryException + - S8041132: Increment hsx 24.66 build to b02 for 7u66-b09 + - S8041408: Increment hsx 24.55 build to b04 for 7u55-b34 + - S8041572: [macosx] huge native memory leak in AWTWindow.m + - S8041990: [macosx] Language specific keys does not work in applets when opened outside the browser + - S8043610: Sorting columns in JFileChooser fails with AppContext NPE + - S8044603: Increment minor version of HSx for 7u71 and initialize the build number + - S8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX + - S8049250: Need a flag to invert the Card.disconnect(reset) argument + - S8049343: (tz) Support tzdata2014g + - S8049758: Increment minor version of HSx for 7u75 and initialize the build number + - S8050485: super() in a try block in a ctor causes VerifyError + - S8051359: JPopupMenu creation in headless mode with JDK9b23 causes NPE + - S8051614: smartcardio TCK tests fail due to lack of 'reset' permission + - S8055222: Currency update needed for ISO 4217 Amendment #159 + - S8056211: api/java_awt/Event/InputMethodEvent/serial/index.html#Input[serial2002] failure + - S8057184: JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris + - S8058715: stability issues when being launched as an embedded JVM via JNI + - S8059206: (tz) Support tzdata2014i + - S8060474: Resolve more parsing ambiguity + - S8061685: Increment hsx 24.75 build to b02 for 7u75-b06 + - S8061785: [TEST_BUG] serviceability/sa/jmap-hashcode/Test8028623.java has utf8 character corrupted by earlier merge + - S8061826: Part of JDK-8060474 should be reverted + - S8062561: Test bug8055304 fails if file system default directory has read access + - S8062807: Exporting RMI objects fails when run under restrictive SecurityManager + - S8064300: Increment hsx 24.75 build to b03 for 7u75-b06 + - S8064560: (tz) Support tzdata2014j + - S8065608: 7u75 l10n resource file translation update + - S8065787: Increment hsx 24.75 build to b04 for 7u75-b10 + - S8066747: Backing out Japanese translation change in awt_ja.properties + - S8067364, PR2145, RH114622: Printing to Postscript doesn't support dieresis +* Bug fixes - PR2064: Unset OS before running OpenJDK build - PR2069: Type-punning warnings still evident on RHEL 5 - PR2094, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure - PR2123: SunEC provider crashes when built using system NSS - PR2124: Synchronise elliptic curves in sun.security.ec.NamedCurve with those listed by NSS - PR2135: Race condition in SunEC provider with system NSS - - PR2144: make dist fails due to lack of HotSpot-specific patches - - PR2145, RH114622: Printing to Postscript doesn't support dieresis - PR2161: RHEL 6 has a version of GIO which meets the version criteria, but has no g_settings_* - - PR2196, RH1164762: jhat man page has broken URL - - PR2200: Support giflib 5.1.0 - - PR2210: DGifCloseFile call should check the return value, not the error code, for failure * CACAO - PR2032: CACAO lacks JVM_FindClassFromCaller introduced by security patch in 2.5.3 * JamVM @@ -430,7 +454,6 @@ - Add char_array_equals intrinsic - Add CNEG and CNEGW to macro assembler. - Add frame anchor fences. - - Add java.lang.ref.Reference.get intrinsic to template interpreter - Add missing instruction synchronization barriers and cache flushes. - Add some memory barriers for object creation and runtime calls. - Add support for A53 multiply accumulate @@ -492,7 +515,6 @@ - Fixed various typos, overlooked cases and wrong accessors - Fix error introduced into profiling code - Fix guarantee failure in synchronizer.cpp - - Fix implementation of InterpreterMacroAssembler::increment_mdp_data_at(). - Fix more errors introduced into interpreter profile counter increment - Fix relocations - Fix several small typos @@ -525,7 +547,6 @@ - Removed redundant field use_XOR_for_compressed_class_base - Removed some errors in signal handling code - Removed undefined metadata case - - Remove insanely large stack allocation in entry frame. - Remove redundant bracket - Remove support for volatile load/store rules in ad file - Renamed emit_int32 to emit_long and added local emit_long64 in place of missing emit_int64 @@ -554,7 +575,6 @@ - Reverted os_cpu/linux_aarch64 code to conform to jdk7 - Reverted reloc info code to conform to jdk7 - Revert Method:: etc to methodOopDesc:: etc - - S8072129: [AARCH64] missing fix for 8066900 - Scripts to build aarch64-x86 hybrid and aarch64 native debug images - Some errors revealed when building debug image - Temporarily disable running test_gamma From andrew at icedtea.classpath.org Fri Mar 27 15:47:15 2015 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 27 Mar 2015 15:47:15 +0000 Subject: /hg/icedtea6: Add 1.13.6 release notes. Message-ID: changeset cc9dd4878fae in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cc9dd4878fae author: Andrew John Hughes date: Thu Mar 26 17:26:21 2015 +0000 Add 1.13.6 release notes. 2015-03-26 Andrew John Hughes * NEWS: Add 1.13.6 release notes. diffstat: ChangeLog | 5 +++++ NEWS | 27 +++++++++++++++++---------- 2 files changed, 22 insertions(+), 10 deletions(-) diffs (74 lines): diff -r 6f0c7f0ded92 -r cc9dd4878fae ChangeLog --- a/ChangeLog Thu Jan 22 00:48:41 2015 +0000 +++ b/ChangeLog Thu Mar 26 17:26:21 2015 +0000 @@ -1,3 +1,8 @@ +2015-03-26 Andrew John Hughes + + * NEWS: + Add 1.13.6 release notes. + 2015-01-21 Andrew John Hughes * Makefile.am: diff -r 6f0c7f0ded92 -r cc9dd4878fae NEWS --- a/NEWS Thu Jan 22 00:48:41 2015 +0000 +++ b/NEWS Thu Mar 26 17:26:21 2015 +0000 @@ -14,6 +14,20 @@ New in release 1.14.0 (201X-XX-XX): +* Backports + - S6611637: NullPointerException in sun.font.GlyphLayout$EngineRecord.init + - S6727719: Performance of TextLayout.getBounds() + - S6745225: Memory leak while drawing Attributed String + - S6904962: GlyphVector.getVisualBounds should not be affected by leading or trailing white space. + - S7151089: PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages + - S8013057: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory() + - S8026887: Make issues due to failed large pages allocations easier to debug +* Bug fixes + - PR1886: IcedTea does not checksum supplied tarballs + - PR2083: Add support for building Zero on AArch64 + +New in release 1.13.6 (2015-01-23): + * Security fixes - S8046656: Update protocol support - S8047125, CVE-2015-0395: (ref) More phantom object references @@ -168,34 +182,27 @@ - OJ52, PR2185: Application of 6786276 introduces compatibility issue - OJ53, PR2181: strict-aliasing warnings issued on PPC32 - OJ54, PR2182: 6911104 reintroduces test fragment removed in existing 6964018 backport - - S6611637: NullPointerException in sun.font.GlyphLayout$EngineRecord.init - - S6727719: Performance of TextLayout.getBounds() - S6730740, PR2186: Fix for 6729881 has apparently broken several 64 bit tests: "Bad address" - - S6745225: Memory leak while drawing Attributed String - - S6904962: GlyphVector.getVisualBounds should not be affected by leading or trailing white space. - S7031830, PR2183: bad_record_mac failure on TLSv1.2 enabled connection with SSLEngine - - S7151089: PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages - S8000897, PR2173, RH1155012: VM crash in CompileBroker - - S8013057: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory() - S8020190, PR2174, RH1176718: Fatal: Bug in native code: jfieldID must match object - - S8026887: Make issues due to failed large pages allocations easier to debug - S8028623, PR2177, RH1168693: SA: hash codes in SymbolTable mismatching java_lang_String::hash_code for extended characters. - S8061785, PR2177: [TEST_BUG] serviceability/sa/jmap-hashcode/Test8028623.java has utf8 character corrupted by earlier merge * Bug fixes - PR1831: Drop version requirement for LCMS 2 - PR1832, RH1022017: Report elliptic curves supported by NSS, not the SunEC library - - PR1886: IcedTea does not checksum supplied tarballs - PR2033: patches/ecj/jaxws-getdtdtype.patch no longer applies since removal of JAXWS drop - PR2062: Unset OS before running OpenJDK build - PR2070: Type-punning warnings still evident on RHEL 5 - PR2082: Cast should use same type as GCDrainStackTargetSize (uintx). - - PR2083: Add support for building Zero on AArch64 - PR2096, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure - PR2125: Synchronise elliptic curves in sun.security.ec.NamedCurve with those listed by NSS - PR2179: Avoid x86 workaround when running Zero rather than a JIT - PR2180: Old autotools dislike $(builddir)/fsg.sh * CACAO - - PR2184: CACAO lacks JVM_FindClassFromCaller introduced by security patch in 2.5.3 + - PR2184: CACAO lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 +* JamVM + - PR2190: JamVM lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 New in release 1.13.5 (2014-10-14): From jkang at redhat.com Fri Mar 27 20:01:30 2015 From: jkang at redhat.com (Jie Kang) Date: Fri, 27 Mar 2015 16:01:30 -0400 (EDT) Subject: [rfc] [icedtea-web] make PAthsAndFilles to follow seted paths In-Reply-To: <55143B1E.7070206@redhat.com> References: <55143B1E.7070206@redhat.com> Message-ID: <993790231.4283647.1427486490125.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hi! > > This is first of at least three pathces tro make it work > this one - i adding difference between getFile/Path and > getDefaultFile/DefaultPAth + adapting few > (the most important) PathsAndFiles > So this one is especially about concept. There rised issue, that > PathsandFiles become depnding on > JnlpRuntime.getConfig() - the result of it is later-lazy loading of > RECENTLY_USED_FILE. > Also note the behaviour of deployment.user.security.policy > > Second part of this work will be focused on adapting missing "adjustable > files" > deployment.user.security.trusted.cacerts > deployment.user.security.trusted.certs > deployment.user.security.trusted.clientauthcerts > deployment.user.security.trusted.jssecacerts > deployment.user.security.trusted.jssecerts > > And ensure, that those are never ever used in itw - only the PathsAndFiles > > ThirdPart will be then focused on being sure, no dangling insatnces are > around - taht everything is > using PAthsAndFiles directly, and so runtime change to any > InfrastructureFileDescriptor will take > imidiate effect. (aka changing cache in runtime durng testing) > > But this this third part is far faraway... > > BAck to this patch: > I let Defaults.java use CACHE_DIR.getDefaultFullPath() instead of > CACHE_DIR.getFullPath(). Tahts > actually very correct - because those are default values. Then I have added > possibility to override > getFullPath by get from properties + few small changes for docs generation. > > Thoughts? Hello, Nice! Review below: + this(PathsAndFiles.getRECENTLY_USED_FILE().getFile(), PathsAndFiles.CACHE_DIR.getFile()); Can you explain a little more on why there is a getter for recently used file. Where is the later-lazy loading and what problem is occurring that makes it so you need to have a getter? Also please don't capitalize words in the function: s/getRECENTLY_USED_FILE/getRecentlyUsedFile + return gcpd(DeploymentConfiguration.KEY_USER_CACHE_DIR); Please give the function gcpd(...) a descriptive name that gives me an idea of what it's doing without having to look at the function's implementation. + //its not recomanded to override default locations methods s/recomanded/recommended + public String getDefaultFullPath() { return clean(systemPathStub + File.separator + pathStub + File.separator + fileName); For the function clean(...), can you please either rename it to be more descriptive or add comments to the function. Just seeing the function name I have very little clue as to what it does. + private String getStub() { Can you add comments to this? I don't know what you mean by 'stub'. Other parts look okay, but please make sure you test this thoroughly. Are there tests for this? Regards, > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 30 12:52:24 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Mar 2015 14:52:24 +0200 Subject: [rfc] [icedtea-web] make PAthsAndFilles to follow seted paths In-Reply-To: <993790231.4283647.1427486490125.JavaMail.zimbra@redhat.com> References: <55143B1E.7070206@redhat.com> <993790231.4283647.1427486490125.JavaMail.zimbra@redhat.com> Message-ID: <55194708.1090601@redhat.com> On 03/27/2015 09:01 PM, Jie Kang wrote: > > > ----- Original Message ----- >> Hi! >> >> This is first of at least three pathces tro make it work >> this one - i adding difference between getFile/Path and >> getDefaultFile/DefaultPAth + adapting few >> (the most important) PathsAndFiles >> So this one is especially about concept. There rised issue, that >> PathsandFiles become depnding on >> JnlpRuntime.getConfig() - the result of it is later-lazy loading of >> RECENTLY_USED_FILE. >> Also note the behaviour of deployment.user.security.policy >> >> Second part of this work will be focused on adapting missing "adjustable >> files" >> deployment.user.security.trusted.cacerts >> deployment.user.security.trusted.certs >> deployment.user.security.trusted.clientauthcerts >> deployment.user.security.trusted.jssecacerts >> deployment.user.security.trusted.jssecerts >> >> And ensure, that those are never ever used in itw - only the PathsAndFiles >> >> ThirdPart will be then focused on being sure, no dangling insatnces are >> around - taht everything is >> using PAthsAndFiles directly, and so runtime change to any >> InfrastructureFileDescriptor will take >> imidiate effect. (aka changing cache in runtime durng testing) >> >> But this this third part is far faraway... >> >> BAck to this patch: >> I let Defaults.java use CACHE_DIR.getDefaultFullPath() instead of >> CACHE_DIR.getFullPath(). Tahts >> actually very correct - because those are default values. Then I have added >> possibility to override >> getFullPath by get from properties + few small changes for docs generation. >> >> Thoughts? > > Hello, > > Nice! Review below: > > > + this(PathsAndFiles.getRECENTLY_USED_FILE().getFile(), PathsAndFiles.CACHE_DIR.getFile()); > > Can you explain a little more on why there is a getter for recently used file. Where is the later-lazy loading and what problem is occurring that makes it so you need to have a getter? It is using PathsAndFiles.CACHE_DIR.getFile() for its creation. It is based on property value So in this moment the jnlpconfig have to exists, that means that deployment.properties must be read. So laxy loading menas as late as possible. Loading it in static phase, will create pretty nice initialization error. > > Also please don't capitalize words in the function: > s/getRECENTLY_USED_FILE/getRecentlyUsedFile > > will be done > + return gcpd(DeploymentConfiguration.KEY_USER_CACHE_DIR); > > Please give the function gcpd(...) a descriptive name that gives me an idea of what it's doing without having to look at the function's implementation. Itis just shortuct method getConfgiPropertyDescriptor. I think it will be removed in future iterations of this. I'm now working on PArt three, and it is already gone... > > + //its not recomanded to override default locations methods > > s/recomanded/recommended will be done. > > > + public String getDefaultFullPath() { > return clean(systemPathStub + File.separator + pathStub + File.separator + fileName); > > For the function clean(...), can you please either rename it to be more descriptive or add comments to the function. Just seeing the function name I have very little clue as to what it does. Javadoc will be added. > > + private String getStub() { > > Can you add comments to this? I don't know what you mean by 'stub'. I can't? :) Sure. I will write javadoc. It is method, which is providing the nice variable-like outputs to docs. > > Other parts look okay, but please make sure you test this thoroughly. Are there tests for this? > Hard to test in this time. I did as throughlky as I could. I think it is good approach to follow. With part two done (already on review) it is much more testable, and seems to be working fine. Thanx for check! J. From jvanek at redhat.com Mon Mar 30 14:01:42 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Mar 2015 16:01:42 +0200 Subject: [rfc] [icedtea-web] make PAthsAndFilles to follow seted paths II In-Reply-To: <55156F28.1060507@redhat.com> References: <55156F28.1060507@redhat.com> Message-ID: <55195746.5070004@redhat.com> On 03/27/2015 03:54 PM, Jiri Vanek wrote: > So this is part II > > It is moving remianing keys to paths and files. > > The cache, logs and so on are now correctly changeable. > > The setters into those fields, however, remained property based. > > Thinking about third part of this patch... Probably add setter to those setupable files will be > best... > > And if dangling pointr will be done properly, then it should work perfectly without any hacking. > little bit of update - removed unused imports. > > J. > > > > > Hi! > > > > This is first of at least three pathces tro make it work > > this one - i adding difference between getFile/Path and getDefaultFile/DefaultPAth + adapting few > > (the most important) PathsAndFiles > > So this one is especially about concept. There rised issue, that PathsandFiles become depnding on > > JnlpRuntime.getConfig() - the result of it is later-lazy loading of RECENTLY_USED_FILE. > > Also note the behaviour of deployment.user.security.policy > > > > Second part of this work will be focused on adapting missing "adjustable files" > > deployment.user.security.trusted.cacerts > > deployment.user.security.trusted.certs > > deployment.user.security.trusted.clientauthcerts > > deployment.user.security.trusted.jssecacerts > > deployment.user.security.trusted.jssecerts > > > > And ensure, that those are never ever used in itw - only the PathsAndFiles > > > > ThirdPart will be then focused on being sure, no dangling insatnces are around - taht everything > > is using PAthsAndFiles directly, and so runtime change to any InfrastructureFileDescriptor will > > take imidiate effect. (aka changing cache in runtime durng testing) > > > > But this this third part is far faraway... > > > > BAck to this patch: > > I let Defaults.java use CACHE_DIR.getDefaultFullPath() instead of CACHE_DIR.getFullPath(). > > Tahts actually very correct - because those are default values. Then I have added possibility to > > override getFullPath by get from properties + few small changes for docs generation. > > > Thoughts? > > -------------- next part -------------- A non-text attachment was scrubbed... Name: restOfPropertiesEncapsulatedInPathsAndFiles2.patch Type: text/x-patch Size: 34960 bytes Desc: not available URL: From jvanek at redhat.com Mon Mar 30 14:50:05 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Mar 2015 16:50:05 +0200 Subject: wrong sentence in properties Message-ID: <5519629D.4000903@redhat.com> Hi lukas! I guess this line: When specifying options, the name of the jnlp file must be the last argument to javaws - all the options must preceede it. The jnlp-file can either be a url or a local path. is no longer valid. May you fix it so it fits yours new parser? Also may you check the docs if there is no more of similar? J. From jvanek at redhat.com Mon Mar 30 14:56:06 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Mar 2015 16:56:06 +0200 Subject: [rfc][icedtea-web] change FILElogs contnet Message-ID: <55196406.2070008@redhat.com> In messages properties: -FILElogs=(may be set to different location by you) contains file log files (if enabled). itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else. +FILElogs=contains file log files (if enabled). itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else. Removed (may be set to different location by you) Now the output looks like: - (may be set to different location by you) contains file log files (if enabled). itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else. Controlled by deployment.user.logdir As Controlled by deployment.user.logdir is geenrated automatically, the preamble had no effect. Ok for head? J. From jkang at redhat.com Mon Mar 30 15:10:15 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 30 Mar 2015 11:10:15 -0400 (EDT) Subject: [rfc][icedtea-web] change FILElogs contnet In-Reply-To: <55196406.2070008@redhat.com> References: <55196406.2070008@redhat.com> Message-ID: <977220822.4991155.1427728215600.JavaMail.zimbra@redhat.com> ----- Original Message ----- > In messages properties: > > -FILElogs=(may be set to different location by you) contains file log files > (if enabled). > itw-cplugin-date_time.log for native part of plugin, > itw-javantx-date_time.log for everything else. > +FILElogs=contains file log files (if enabled). itw-cplugin-date_time.log > for native part of > plugin, itw-javantx-date_time.log for everything else. > > > Removed (may be set to different location by you) > > Now the output looks like: > - (may be set to different location by you) contains file log files (if > enabled). > itw-cplugin-date_time.log for native part of plugin, > itw-javantx-date_time.log for everything else. > Controlled by deployment.user.logdir This confuses me a little as the diff removed the "(may be set to different location by you)" but then you say the output looks like [...] which looks the same as before... Can't you attach a diff for viewing? Regards, > > As Controlled by deployment.user.logdir is geenrated automatically, the > preamble had no effect. > > Ok for head? Regards, > > J. > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 30 15:13:09 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Mar 2015 17:13:09 +0200 Subject: [rfc][icedtea-web] change FILElogs contnet In-Reply-To: <977220822.4991155.1427728215600.JavaMail.zimbra@redhat.com> References: <55196406.2070008@redhat.com> <977220822.4991155.1427728215600.JavaMail.zimbra@redhat.com> Message-ID: <55196805.1030102@redhat.com> On 03/30/2015 05:10 PM, Jie Kang wrote: > > > ----- Original Message ----- >> In messages properties: >> >> -FILElogs=(may be set to different location by you) contains file log files >> (if enabled). >> itw-cplugin-date_time.log for native part of plugin, >> itw-javantx-date_time.log for everything else. >> +FILElogs=contains file log files (if enabled). itw-cplugin-date_time.log >> for native part of >> plugin, itw-javantx-date_time.log for everything else. >> >> >> Removed (may be set to different location by you) >> >> Now the output looks like: >> - (may be set to different location by you) contains file log files (if >> enabled). >> itw-cplugin-date_time.log for native part of plugin, >> itw-javantx-date_time.log for everything else. >> Controlled by deployment.user.logdir > > This confuses me a little as the diff removed the "(may be set to different location by you)" but then you say the output looks like [...] which looks the same as before... > > Can't you attach a diff for viewing? ??? Why. It is removal of '(may be set to different location by you) ' from 'FILElogs' key from mesages.proeprties. There will be noting more in the diff... I don't have the working coppy of this anymore... > > > Regards, > >> >> As Controlled by deployment.user.logdir is geenrated automatically, the >> preamble had no effect. >> >> Ok for head? > > > Regards, > > >> >> J. >> > From jkang at redhat.com Mon Mar 30 15:19:40 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 30 Mar 2015 11:19:40 -0400 (EDT) Subject: [rfc][icedtea-web] change FILElogs contnet In-Reply-To: <55196805.1030102@redhat.com> References: <55196406.2070008@redhat.com> <977220822.4991155.1427728215600.JavaMail.zimbra@redhat.com> <55196805.1030102@redhat.com> Message-ID: <2126819935.4998321.1427728780847.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/30/2015 05:10 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >> In messages properties: > >> > >> -FILElogs=(may be set to different location by you) contains file log > >> files > >> (if enabled). > >> itw-cplugin-date_time.log for native part of plugin, > >> itw-javantx-date_time.log for everything else. > >> +FILElogs=contains file log files (if enabled). itw-cplugin-date_time.log > >> for native part of > >> plugin, itw-javantx-date_time.log for everything else. > >> > >> > >> Removed (may be set to different location by you) > >> > >> Now the output looks like: > >> - (may be set to different location by you) contains file log files (if > >> enabled). > >> itw-cplugin-date_time.log for native part of plugin, > >> itw-javantx-date_time.log for everything else. > >> Controlled by deployment.user.logdir > > > > This confuses me a little as the diff removed the "(may be set to different > > location by you)" but then you say the output looks like [...] which looks > > the same as before... > > > > Can't you attach a diff for viewing? > ??? > > Why. It is removal of '(may be set to different location by you) ' from > 'FILElogs' key from mesages.proeprties. > > There will be noting more in the diff... > > I don't have the working coppy of this anymore... Ff you plan to push it won't you get a copy of this? You say: > >> Removed (may be set to different location by you) but then you say: > >> Now the output looks like: > >> - (may be set to different location by you) contains file log files (if > >> enabled). This still has: (may be set to different location by you) So is it removed or not? If you had a diff file then it would be obvious. Regards, > > > > > > Regards, > > > >> > >> As Controlled by deployment.user.logdir is geenrated automatically, the > >> preamble had no effect. > >> > >> Ok for head? > > > > > > Regards, > > > > > >> > >> J. > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 30 15:23:25 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Mar 2015 17:23:25 +0200 Subject: [rfc][icedtea-web] change FILElogs contnet In-Reply-To: <2126819935.4998321.1427728780847.JavaMail.zimbra@redhat.com> References: <55196406.2070008@redhat.com> <977220822.4991155.1427728215600.JavaMail.zimbra@redhat.com> <55196805.1030102@redhat.com> <2126819935.4998321.1427728780847.JavaMail.zimbra@redhat.com> Message-ID: <55196A6D.6030502@redhat.com> >> >> I don't have the working coppy of this anymore... > > Ff you plan to push it won't you get a copy of this? Yah. i really donty. I found it during much bigger patch, exported diff, copied those two lines to this email, and reverted so it will not spam the bigger patch :( > > You say: > >>>> Removed (may be set to different location by you) > > but then you say: > >>>> Now the output looks like: yes now, like "before the patch" >>>> - (may be set to different location by you) contains file log files (if >>>> enabled). > > This still has: (may be set to different location by you) > > So is it removed or not? After the changeset, the output will be correct: - contains file log files (if enabled). Sorry for confusion with "now it looks like" J. > > If you had a diff file then it would be obvious. > > > Regards, > >>> >>> >>> Regards, >>> >>>> >>>> As Controlled by deployment.user.logdir is geenrated automatically, the >>>> preamble had no effect. >>>> >>>> Ok for head? >>> >>> >>> Regards, >>> >>> >>>> >>>> J. >>>> >>> >> >> > From jkang at redhat.com Mon Mar 30 15:39:41 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 30 Mar 2015 11:39:41 -0400 (EDT) Subject: [rfc][icedtea-web] change FILElogs contnet In-Reply-To: <55196A6D.6030502@redhat.com> References: <55196406.2070008@redhat.com> <977220822.4991155.1427728215600.JavaMail.zimbra@redhat.com> <55196805.1030102@redhat.com> <2126819935.4998321.1427728780847.JavaMail.zimbra@redhat.com> <55196A6D.6030502@redhat.com> Message-ID: <1361931754.5013467.1427729981758.JavaMail.zimbra@redhat.com> ----- Original Message ----- > >> > >> I don't have the working coppy of this anymore... > > > > Ff you plan to push it won't you get a copy of this? > > Yah. i really donty. Wait... so you don't want to push this? Or you do (since you sent it to list with [rfc])? I am confused now :\ > > I found it during much bigger patch, exported diff, copied those two lines to > this email, and > reverted so it will not spam the bigger patch :( > > > > You say: > > > >>>> Removed (may be set to different location by you) > > > > but then you say: > > > >>>> Now the output looks like: > > yes now, like "before the patch" > >>>> - (may be set to different location by you) contains file log files > >>>> (if > >>>> enabled). > > > > This still has: (may be set to different location by you) > > > > So is it removed or not? > > After the changeset, the output will be correct: > > - contains file log files (if enabled). > > Sorry for confusion with "now it looks like" I see. Okay, thanks for clearing it up. AFAIK you are able to change the log directory using itweb-settings or manually editing deployment.properties file with: deployment.user.logdir value + deployment.log.file=true. Is this not true any more for HEAD? s/file log files/log files or how about something like: "Directory containing log files, itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else." Regards, > > J. > > > > If you had a diff file then it would be obvious. > > > > > > Regards, > > > >>> > >>> > >>> Regards, > >>> > >>>> > >>>> As Controlled by deployment.user.logdir is geenrated automatically, the > >>>> preamble had no effect. > >>>> > >>>> Ok for head? > >>> > >>> > >>> Regards, > >>> > >>> > >>>> > >>>> J. > >>>> > >>> > >> > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 30 15:46:33 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Mar 2015 17:46:33 +0200 Subject: [rfc][icedtea-web] change FILElogs contnet In-Reply-To: <1361931754.5013467.1427729981758.JavaMail.zimbra@redhat.com> References: <55196406.2070008@redhat.com> <977220822.4991155.1427728215600.JavaMail.zimbra@redhat.com> <55196805.1030102@redhat.com> <2126819935.4998321.1427728780847.JavaMail.zimbra@redhat.com> <55196A6D.6030502@redhat.com> <1361931754.5013467.1427729981758.JavaMail.zimbra@redhat.com> Message-ID: <55196FD9.4090701@redhat.com> On 03/30/2015 05:39 PM, Jie Kang wrote: > > > ----- Original Message ----- >>>> >>>> I don't have the working coppy of this anymore... >>> >>> Ff you plan to push it won't you get a copy of this? >> >> Yah. i really donty. > > Wait... so you don't want to push this? Or you do (since you sent it to list with [rfc])? I am confused now :\ Oh today is some bad sun shining or I dont know :) I really dont have the physical diff. And I really do wont to push it :) > >> >> I found it during much bigger patch, exported diff, copied those two lines to >> this email, and >> reverted so it will not spam the bigger patch :( >>> >>> You say: >>> >>>>>> Removed (may be set to different location by you) >>> >>> but then you say: >>> >>>>>> Now the output looks like: >> >> yes now, like "before the patch" >>>>>> - (may be set to different location by you) contains file log files >>>>>> (if >>>>>> enabled). >>> >>> This still has: (may be set to different location by you) >>> >>> So is it removed or not? >> >> After the changeset, the output will be correct: >> >> - contains file log files (if enabled). >> >> Sorry for confusion with "now it looks like" > > I see. Okay, thanks for clearing it up. > > AFAIK you are able to change the log directory using itweb-settings or manually editing deployment.properties file with: deployment.user.logdir value + deployment.log.file=true. Is this not true any more for HEAD? Yes it is true, but deployment.log.file about enabling/disabling it deployment.user.logdir is specifing the location where it will be saved if it is enabled. And yes, it is also correct on head. The docs are clear bout it "Controled by deployment.user.logdir" as is on each line of setupable file. > > s/file log files/log files sure, this may be included. > > or how about something like: > > "Directory containing log files, itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else." ok. > > > Regards, > > >> >> J. >>> >>> If you had a diff file then it would be obvious. >>> >>> >>> Regards, >>> >>>>> >>>>> >>>>> Regards, >>>>> >>>>>> >>>>>> As Controlled by deployment.user.logdir is geenrated automatically, the >>>>>> preamble had no effect. >>>>>> >>>>>> Ok for head? >>>>> >>>>> >>>>> Regards, >>>>> >>>>> >>>>>> >>>>>> J. >>>>>> >>>>> >>>> >>>> >>> >> >> > From jkang at redhat.com Mon Mar 30 15:49:52 2015 From: jkang at redhat.com (Jie Kang) Date: Mon, 30 Mar 2015 11:49:52 -0400 (EDT) Subject: [rfc][icedtea-web] change FILElogs contnet In-Reply-To: <55196FD9.4090701@redhat.com> References: <55196406.2070008@redhat.com> <977220822.4991155.1427728215600.JavaMail.zimbra@redhat.com> <55196805.1030102@redhat.com> <2126819935.4998321.1427728780847.JavaMail.zimbra@redhat.com> <55196A6D.6030502@redhat.com> <1361931754.5013467.1427729981758.JavaMail.zimbra@redhat.com> <55196FD9.4090701@redhat.com> Message-ID: <1707259287.5020853.1427730592498.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 03/30/2015 05:39 PM, Jie Kang wrote: > > > > > > ----- Original Message ----- > >>>> > >>>> I don't have the working coppy of this anymore... > >>> > >>> Ff you plan to push it won't you get a copy of this? > >> > >> Yah. i really donty. > > > > Wait... so you don't want to push this? Or you do (since you sent it to > > list with [rfc])? I am confused now :\ > Oh today is some bad sun shining or I dont know :) > > I really dont have the physical diff. > And I really do wont to push it :) > > > >> > >> I found it during much bigger patch, exported diff, copied those two lines > >> to > >> this email, and > >> reverted so it will not spam the bigger patch :( > >>> > >>> You say: > >>> > >>>>>> Removed (may be set to different location by you) > >>> > >>> but then you say: > >>> > >>>>>> Now the output looks like: > >> > >> yes now, like "before the patch" > >>>>>> - (may be set to different location by you) contains file log > >>>>>> files > >>>>>> (if > >>>>>> enabled). > >>> > >>> This still has: (may be set to different location by you) > >>> > >>> So is it removed or not? > >> > >> After the changeset, the output will be correct: > >> > >> - contains file log files (if enabled). > >> > >> Sorry for confusion with "now it looks like" > > > > I see. Okay, thanks for clearing it up. > > > > AFAIK you are able to change the log directory using itweb-settings or > > manually editing deployment.properties file with: deployment.user.logdir > > value + deployment.log.file=true. Is this not true any more for HEAD? > > Yes it is true, but deployment.log.file about enabling/disabling it > deployment.user.logdir is specifing the location where it will be saved if > it is enabled. > > And yes, it is also correct on head. The docs are clear bout it "Controled by > deployment.user.logdir" as is on each line of setupable file. > > > > s/file log files/log files > sure, this may be included. > > > > > or how about something like: > > > > "Directory containing log files, itw-cplugin-date_time.log for native part > > of plugin, itw-javantx-date_time.log for everything else." > > ok. Sorry about all the misunderstandings. Thanks for explaining it all. Looks fine to push. Regards, > > > > > > > Regards, > > > > > >> > >> J. > >>> > >>> If you had a diff file then it would be obvious. > >>> > >>> > >>> Regards, > >>> > >>>>> > >>>>> > >>>>> Regards, > >>>>> > >>>>>> > >>>>>> As Controlled by deployment.user.logdir is geenrated automatically, > >>>>>> the > >>>>>> preamble had no effect. > >>>>>> > >>>>>> Ok for head? > >>>>> > >>>>> > >>>>> Regards, > >>>>> > >>>>> > >>>>>> > >>>>>> J. > >>>>>> > >>>>> > >>>> > >>>> > >>> > >> > >> > > > > -- Jie Kang OpenJDK Team - Software Engineering Intern From jvanek at redhat.com Mon Mar 30 15:56:21 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Mar 2015 17:56:21 +0200 Subject: [rfc] [icedtea-web] make PAthsAndFilles to follow seted paths III Message-ID: <55197225.3080401@redhat.com> Hi! This patch is adding setter to InfrastructureFileDescriptor 99% of code of it is moreover simple renaming. in PathsAndFiles Genrally I added getPropertiesKey "nearly abstract method" to InfrastructureFileDescriptor. If overriden, then file is setupable in runtime. And it is much more comfortable to use FILE.setValue then all this Runtime.getConfig.setproperty(somekey).... After this patch is in, last small work will be on the way. I'm going to change public CacheLRUWrapper(final File recentlyUsed, final File cacheDir) { to public CacheLRUWrapper(final InfrastructureFileDescriptor recentlyUsed, final InfrastructureFileDescriptor cacheDir) { It should do whole trick with setupable cache in unittests and finish the whole work about PathsAndFiles I hope. But it will need a lot of testing, so I'm keeping this second party of "[rfc] [icedtea-web] make PAthsAndFilles to follow seted paths III" for tomorrow Thank you for reviews! J. -------------- next part -------------- A non-text attachment was scrubbed... Name: addSettersForInfrastructureFileDescriptor.patch Type: text/x-patch Size: 17284 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 30 17:22:17 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Mar 2015 17:22:17 +0000 Subject: [Bug 2102] Thermostat 2.0: Merge AggregateQuery2 into AggregateQuery In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2102 Severin Gehwolf changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at icedtea.classpat |sgehwolf at redhat.com |h.org | -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ldracz at redhat.com Mon Mar 30 17:53:53 2015 From: ldracz at redhat.com (Lukasz Dracz) Date: Mon, 30 Mar 2015 13:53:53 -0400 (EDT) Subject: [rfc][icedtea-web] fix CodeBaseManifestEntrySignedMatching Tests by enabling Codebase check In-Reply-To: <1835174608.5087708.1427737056179.JavaMail.zimbra@redhat.com> Message-ID: <86987177.5095180.1427738033651.JavaMail.zimbra@redhat.com> Hello, I have been looking into why these tests fail: - ApplicationJNLPLocalTest - AppletJNLPRLocalTest - ApplicationJNLPRemoteTest - BrowserAppletLocalTest - BrowserJNLPHrefRemoteTest - BrowserJNLPHrefLocalTest - AppletJNLPRemoteTest - BrowserAppletRemoteTest - ApplicationJNLPLocalTestWithRemoteCodebase I have found that the changeset 984 where manifest attributes check property was introduced to be the problem. The tests pass regularly if the check is enabled to ALL or contains CODEBASE in the combination of attributes check. But since when the reproducers are typically run the attributes check flag is set to NONE, I have made this patch that adds a BeforeClass and AfterClass that changes the manifest attributes check property to CODEBASE and back to its previous value after the tests. This ensures the tests pass no matter what the deployment.manifest.attributes.check is set to. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: fixCodeBaseManifestEntrySignedMatchingTests.patch Type: text/x-patch Size: 2508 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 30 20:57:00 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Mar 2015 20:57:00 +0000 Subject: [Bug 2289] New: Internal Error (safepoint.cpp:321) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2289 Bug ID: 2289 Summary: Internal Error (safepoint.cpp:321) Product: IcedTea Version: 2.5.4 Hardware: x86_64 OS: Linux Status: NEW Severity: critical Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: xdagarwynn at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1279 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1279&action=edit Error Log Continue to get errors on building CyanogenMod and not sure why. Performed memtest and passed through all tests to rule out memory. Attaching one of 3 logs. Others I can send if necessary. This is a clean 15.04 Ubuntu install with all java purged and openjdk-7-jdk reinstalled. 5960X, 16GB DDR4, no overclock. Brand new CM12 sync and building for first time with cleared ccache. Hopefully this will help narrow it down. Thanks! -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 30 20:57:29 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Mar 2015 20:57:29 +0000 Subject: [Bug 2289] Internal Error (safepoint.cpp:321) In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2289 --- Comment #1 from Daniel Moran --- Created attachment 1280 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1280&action=edit Error Log 2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 30 20:57:51 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Mar 2015 20:57:51 +0000 Subject: [Bug 2289] Internal Error (safepoint.cpp:321) In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2289 --- Comment #2 from Daniel Moran --- Created attachment 1281 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1281&action=edit Error Log 3 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 30 20:58:44 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Mar 2015 20:58:44 +0000 Subject: [Bug 2289] Internal Error (safepoint.cpp:321) In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2289 Daniel Moran changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xdagarwynn at gmail.com --- Comment #3 from Daniel Moran --- Added the other 2 error logs. Summary at runtime: # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (safepoint.cpp:321), pid=27302, tid=139912864995072 # guarantee(PageArmed == 0) failed: invariant # # JRE version: OpenJDK Runtime Environment (7.0_75-b13) (build 1.7.0_75-b13) # Java VM: OpenJDK 64-Bit Server VM (24.75-b04 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea 2.5.4 # Distribution: Ubuntu Vivid Vervet (development branch), package 7u75-2.5.4-3 # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Mar 30 21:19:33 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Mar 2015 21:19:33 +0000 Subject: [Bug 2289] Internal Error (safepoint.cpp:321) In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2289 --- Comment #4 from Daniel Moran --- OK, now I'm even more stumped. I run it with the make command versus CM's brunch tool, specifically with no -j option, and it works. Could this be a error in parallel (multi-core/multi-thread) processing? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at icedtea.classpath.org Tue Mar 31 10:40:20 2015 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 31 Mar 2015 10:40:20 +0000 Subject: /hg/icedtea-web: Messages.properties: (FILElogs) adapted to more... Message-ID: changeset b7b28ec53a8b in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b7b28ec53a8b author: Jiri Vanek date: Tue Mar 31 12:39:54 2015 +0200 Messages.properties: (FILElogs) adapted to more suit current docs. diffstat: ChangeLog | 4 ++++ netx/net/sourceforge/jnlp/resources/Messages.properties | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) diffs (23 lines): diff -r d1b6ca2e899a -r b7b28ec53a8b ChangeLog --- a/ChangeLog Fri Mar 27 13:49:10 2015 +0100 +++ b/ChangeLog Tue Mar 31 12:39:54 2015 +0200 @@ -1,3 +1,7 @@ +2015-03-31 Jiri Vanek + + * Messages.properties: (FILElogs) adapted to more suit current docs. + 2015-03-25 Lukasz Dracz * tests/reproducers/custom/TrustedOnlyAttribute/testcases/TrustedOnlyAttributeTest.java: diff -r d1b6ca2e899a -r b7b28ec53a8b netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Mar 27 13:49:10 2015 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Mar 31 12:39:54 2015 +0200 @@ -1046,7 +1046,7 @@ FILEcache=Contains cached runtime entries (and my be changed by you). FILErecentlyUsed=Additional information about items in cache FILEappdata=Contains saved application data. -FILElogs=(may be set to different location by you) contains file log files (if enabled). itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else. +FILElogs=contains file-log files (if enabled), itw-cplugin-date_time.log for native part of plugin, itw-javantx-date_time.log for everything else. FILEicons=Location where icons of javaws applications desktp/menu launchers icons are stored FILEjnlps=Location where jnlps files generated from html pages for javaws applications desktp/menu launchers icons are stored FILEmenus=Subdirectory in users menus space, for placing custom menu shortcuts. From jvanek at redhat.com Tue Mar 31 11:23:56 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 31 Mar 2015 13:23:56 +0200 Subject: [rfc][icedtea-web] fix CodeBaseManifestEntrySignedMatching Tests by enabling Codebase check In-Reply-To: <86987177.5095180.1427738033651.JavaMail.zimbra@redhat.com> References: <86987177.5095180.1427738033651.JavaMail.zimbra@redhat.com> Message-ID: <551A83CC.7060508@redhat.com> On 03/30/2015 07:53 PM, Lukasz Dracz wrote: > Hello, > > I have been looking into why these tests fail: > > - ApplicationJNLPLocalTest > - AppletJNLPRLocalTest > - ApplicationJNLPRemoteTest > - BrowserAppletLocalTest > - BrowserJNLPHrefRemoteTest > - BrowserJNLPHrefLocalTest > - AppletJNLPRemoteTest > - BrowserAppletRemoteTest > - ApplicationJNLPLocalTestWithRemoteCodebase > > I have found that the changeset 984 where manifest attributes check property was introduced to be the problem. The tests pass regularly if the check is enabled to ALL or contains CODEBASE in the combination of attributes check. Thanx for investigations! Why they need the attributes at all? > But since when the reproducers are typically run the attributes check flag is set to NONE, I have made this patch that adds a BeforeClass and AfterClass that changes the manifest attributes check property to CODEBASE and back to its previous value after the tests. This ensures the tests pass no matter what the deployment.manifest.attributes.check is set to. > > Thank you, > Lukasz Dracz > The code seem to be.. pretty similar to one changeset ahead .. hmm?-) Do you mind to encapsulate his logic to new class in textextensions? Those two testcases can then use this class. In ideal world of APIs: public class DeploymentPropetiesModifier { public DeploymentPropetiesModifier(){ this (PathsAndFiles.USER_DEPLOYMENT_FILE) } DeploymentPropetiesModifier(InfrastructureDescriptor src){ this.src=src; } public void setProperties(ReasonableInput i){ if (setPropertiesCalled) throw new IllegalStateException ReasonableReturn originalState setPropertiesToDeploymentConfig(i, src.file){ saveState(originalState) } public void restoreProperties(){ if (!setPropertiesCalled) throw new IllegalStateException setPropertiesToDeploymentConfig(savedFile, src.getFile){ } public static ReasonableReturn setPropertiesToDeploymentConfig(ReasonableInput i, File config){ the actual logic :) } public static ReasonableReturn setPropertiesToDeploymentConfig(ReasonableInput i){ return setPropertiesToDeploymentConfig(i, PathsAndFiles.USER_DEPLOYMENT_FILE.getFile()); } } maybe you will need to have separate methods for set and restore.. but I hope not. Also please try to avoid hardcoded string like deployment.manifest.attributes.check=CODEBASE. Use the variables rather both. Not in impl, but in calls to impl :) Then the calls will be in testextensions-tests - DeploymentPropetiesModifierTest{ test ReasonableReturn setPropertiesToDeploymentConfig(ReasonableInput i, File config)s test DeploymentPropetiesModifier(tmpSource)s } in calling class: @BeforeClass public static void setupDeploymentProperties() throws IOException { deploymentPropetiesModifier = new DeploymentPropetiesModifier(); deploymentPropetiesModifier.setProperties({KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK,MANIFEST_ATTRIBUTES_CHECK.whatever}) [*] } [*]if that will occure to many times, feel free to intorduce shortcyt method in DeploymentPropetiesModifier ... public void setMAnifestAttributesToWhatever(){ setProperties({KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK,MANIFEST_ATTRIBUTES_CHECK.whatever) } ... @AfterClass public static void setbackDeploymentProperties() throws IOException { deploymentPropetiesModifier.restoreProperties() } Whole thos eis maybe overkill, but right thing to do. IF you will follow my ideas,t ry to come with better names and not so complex ReasonableInput/Output J. From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 13:47:19 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 13:47:19 +0000 Subject: [Bug 2289] Internal Error (safepoint.cpp:321) In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2289 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal --- Comment #5 from Andrew John Hughes --- This seems quite odd. Do other Java applications work? Do you have a simple test case to 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: From jvanek at redhat.com Tue Mar 31 13:51:29 2015 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 31 Mar 2015 15:51:29 +0200 Subject: [rfc] [icedtea-web] make PAthsAndFilles to follow seted paths IV - bubble to CacheLruWrapper Message-ID: <551AA661.60401@redhat.com> There are/were/reappeared two issues in LRUwrapper and CacheUtils First the file - however crated was as value,not as pointer. So whatever happened to original, had not bubbled to lruwrapper/utils. Second - the methods were using getters on field, whcch could change during the method invocation. This pathc should fix both of them. The main refactoring is - public CacheLRUWrapper(final File recentlyUsed, final File cacheDir) { - recentlyUsedPropertiesFile = new PropertiesFile(recentlyUsed); + public CacheLRUWrapper(final InfrastructureFileDescriptor recentlyUsed, final InfrastructureFileDescriptor cacheDir) { + recentlyUsedPropertiesFile = recentlyUsed; Now the cache lru wrapper is handling the "pointers" to sources. So any call to its "getFiles" get real value fromm PathsAndFiles When any method is using its getFile it alwasy save current copy, co during runtime, it will not be affected by possible change. The exception is - public PropertiesFile getRecentlyUsedPropertiesFile() { - return recentlyUsedPropertiesFile; + PropertiesFile getRecentlyUsedPropertiesFile() { + if (cachedPropertiesFile == null) { + //no properties file yet, create it + cachedPropertiesFile = new PropertiesFile(recentlyUsedPropertiesFile.getFile()); + return cachedPropertiesFile; + } + if (recentlyUsedPropertiesFile.getFile().equals(cachedPropertiesFile.getStoreFile())){ + //he underlying InfrastructureFileDescriptor is still poinitng to the same file, use current proeprties file + return cachedPropertiesFile; + } else { + //the InfrastructureFileDescriptor was set to different location, move to it + //is there something needed to close previous instance? + cachedPropertiesFile.store(); + cachedPropertiesFile.unlock(); + //above were just shotted here + cachedPropertiesFile = new PropertiesFile(recentlyUsedPropertiesFile.getFile()); + return cachedPropertiesFile; + } + When something change value path to properties file *and* call getRecentlyUsedPropertiesFile then the file will store and unlock. (note - I dont know for sure if those two are needed, but afaik yes). So actions upo previous Prop.File may misbehave. However .. The setter to the RECENTLY_USED_FILE and KEY_USER_CACHE_DIR is used *only* in tests (and should never be used in ITW itself) Afaik - whole those will work if you run javaws (keep running) change proeprties, run second javaws. I noticed no issues. Everything was correctly cached twice There is one aditional refactoring in this patch - sorry for that - InfrastructureFileDescriptor moved from inner class to outer class. With one change - + //simple constructor to allow testing instances base don overrides + protected InfrastructureFileDescriptor() { + this("nope", "nope", "nope", "nope"); + } At the end, I consider this 4 pathces + lrucaches singleton + PAthsAndFiles as reallly good thing which happend to itw. Jie - Is this enough for your "[rfc][icedtea-web] Use temporary cache in *" or is there something more to be done? J. From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:27:04 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:27:04 +0000 Subject: [Bug 2183] [IcedTea6] Complete backport of 7031830, accidentally included in 4873188 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2183 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Version|6-1.13.6 |6-hg Resolution|--- |FIXED Target Milestone|6-1.13.7 |6-1.13.6 --- Comment #3 from Andrew John Hughes --- http://bitly.com/it11306 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:41:35 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:41:35 +0000 Subject: [Bug 2289] Internal Error (safepoint.cpp:321) In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2289 --- Comment #6 from Daniel Moran --- Andrew, Other java applications, such as the signing of the OTA zip, run fine under the single thread. I'm truly stumped. I'm going to try and find a Java-based test bench that I can run in a much smaller regression test. I'll post those findings here once I complete that. Thank you for your support. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:52:33 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:52:33 +0000 Subject: [Bug 2290] New: [IcedTea8] 6730740 is incorrect Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2290 Bug ID: 2290 Summary: [IcedTea8] 6730740 is incorrect Product: IcedTea Version: 8-hg Hardware: all OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org >From PR2186: "The fix for jdk/src/solaris/native/java/net/linux_close.c is wrong because BLOCKING_IO_RETURN_INT() macro always returns before reaching '*fromlen = socklen' for NET_RecvFrom() and '*addrlen = socklen' for NET_Accept(). If it is really necessary to fix the warnings, you must introduce a new macro. In fact, the original warning fixes were completely wrong, i.e., it had to be 'socklen_t *', not 'socklen_t'." It appears to be fixed as part of: https://bugs.openjdk.java.net/browse/JDK-8034174 http://hg.openjdk.java.net/jdk9/dev/jdk/rev/24cde9527102 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:55:21 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:55:21 +0000 Subject: [Bug 1962] [IcedTea9] GHASH performance improvement In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1962 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #1 from Andrew John Hughes --- Upstream: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/054e5baae476 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:55:22 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:55:22 +0000 Subject: [Bug 1951] [TRACKER] IcedTea 4.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1951 Bug 1951 depends on bug 1962, which changed state. Bug 1962 Summary: [IcedTea9] GHASH performance improvement http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1962 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:55:22 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:55:22 +0000 Subject: [Bug 1952] [TRACKER] Upstream Bugs In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1952 Bug 1952 depends on bug 1962, which changed state. Bug 1962 Summary: [IcedTea9] GHASH performance improvement http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1962 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: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:56:44 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:56:44 +0000 Subject: [Bug 2290] [IcedTea8] 6730740 is incorrect In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2290 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1740 Target Milestone|--- |3.1.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:56:44 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:56:44 +0000 Subject: [Bug 1740] [TRACKER] IcedTea 3.1.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1740 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |2290 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 14:57:07 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 14:57:07 +0000 Subject: [Bug 2186] [IcedTea6] Backport 6730740: "Fix for 6729881 has apparently broken several 64 bit tests: 'Bad address'" In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2186 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED --- Comment #5 from Andrew John Hughes --- Please don't re-open backport bugs, especially as the issue may be present in other releases (this code is the same in OpenJDK 7 & 8). A new bug should be created. See http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2290 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 16:41:26 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 16:41:26 +0000 Subject: [Bug 2099] Thermostat 2.0 code clean-up tracker bug In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2099 Bug 2099 depends on bug 2102, which changed state. Bug 2102 Summary: Thermostat 2.0: Merge AggregateQuery2 into AggregateQuery http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2102 What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Tue Mar 31 17:46:36 2015 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 31 Mar 2015 17:46:36 +0000 Subject: /hg/icedtea6-hg: 3 new changesets Message-ID: changeset cc9dd4878fae in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=cc9dd4878fae author: Andrew John Hughes date: Thu Mar 26 17:26:21 2015 +0000 Add 1.13.6 release notes. 2015-03-26 Andrew John Hughes * NEWS: Add 1.13.6 release notes. changeset b80635ef514b in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b80635ef514b author: Andrew John Hughes date: Tue Mar 31 15:08:53 2015 +0100 Merge changeset 8aa8364515bf in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8aa8364515bf author: Andrew John Hughes date: Tue Mar 31 18:45:41 2015 +0100 Remove upstreamed patches and re-generate arch.patch. 2015-03-31 Andrew John Hughes * patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch, * patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch, * patches/openjdk/oj51-pr2187-sync_4873188.patch, * patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch, * patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch, * patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch: Removed; upstreamed. * Makefile.am: (ICEDTEA_PATCHES): Remove above patches. * patches/arch.patch: Regenerated following upstream application of OPENJDK6-53. diffstat: ChangeLog | 24 + Makefile.am | 10 +- NEWS | 27 +- patches/arch.patch | 421 ++++--- patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch | 55 - patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch | 522 ---------- patches/openjdk/oj51-pr2187-sync_4873188.patch | 58 - patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch | 73 - patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch | 25 - patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch | 15 - 10 files changed, 258 insertions(+), 972 deletions(-) diffs (truncated from 1332 to 500 lines): diff -r 6f0c7f0ded92 -r 8aa8364515bf ChangeLog --- a/ChangeLog Thu Jan 22 00:48:41 2015 +0000 +++ b/ChangeLog Tue Mar 31 18:45:41 2015 +0100 @@ -1,3 +1,27 @@ +2015-03-31 Andrew John Hughes + + * patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch, + * patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch, + * patches/openjdk/oj51-pr2187-sync_4873188.patch, + * patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch, + * patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch, + * patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch: + Removed; upstreamed. + * Makefile.am: + (ICEDTEA_PATCHES): Remove above patches. + * patches/arch.patch: Regenerated following + upstream application of OPENJDK6-53. + +2015-03-26 Andrew John Hughes + + * NEWS: + Add 1.13.6 release notes. + +2015-01-25 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Bump to next release, b35. + 2015-01-21 Andrew John Hughes * Makefile.am: diff -r 6f0c7f0ded92 -r 8aa8364515bf Makefile.am --- a/Makefile.am Thu Jan 22 00:48:41 2015 +0000 +++ b/Makefile.am Tue Mar 31 18:45:41 2015 +0100 @@ -2,7 +2,7 @@ OPENJDK_DATE = 20_jan_2015 OPENJDK_SHA256SUM = 13d1b4e1e152b6f9ad81b5558d6c7c0d3315a9e9494e49e515229722e2ee4e51 -OPENJDK_VERSION = b34 +OPENJDK_VERSION = b35 OPENJDK_URL = https://java.net/downloads/openjdk6/ CACAO_VERSION = 68fe50ac34ec @@ -609,13 +609,7 @@ patches/pr2070-type_punning_warnings.patch \ patches/pr2082-s390_type_fixes.patch \ patches/pr2096-4096-bit_dh.patch \ - patches/pr2179-avoid_x86_workaround_on_zero.patch \ - patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch \ - patches/openjdk/oj51-pr2187-sync_4873188.patch \ - patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch \ - patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch \ - patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch \ - patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch + patches/pr2179-avoid_x86_workaround_on_zero.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 6f0c7f0ded92 -r 8aa8364515bf NEWS --- a/NEWS Thu Jan 22 00:48:41 2015 +0000 +++ b/NEWS Tue Mar 31 18:45:41 2015 +0100 @@ -14,6 +14,20 @@ New in release 1.14.0 (201X-XX-XX): +* Backports + - S6611637: NullPointerException in sun.font.GlyphLayout$EngineRecord.init + - S6727719: Performance of TextLayout.getBounds() + - S6745225: Memory leak while drawing Attributed String + - S6904962: GlyphVector.getVisualBounds should not be affected by leading or trailing white space. + - S7151089: PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages + - S8013057: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory() + - S8026887: Make issues due to failed large pages allocations easier to debug +* Bug fixes + - PR1886: IcedTea does not checksum supplied tarballs + - PR2083: Add support for building Zero on AArch64 + +New in release 1.13.6 (2015-01-23): + * Security fixes - S8046656: Update protocol support - S8047125, CVE-2015-0395: (ref) More phantom object references @@ -168,34 +182,27 @@ - OJ52, PR2185: Application of 6786276 introduces compatibility issue - OJ53, PR2181: strict-aliasing warnings issued on PPC32 - OJ54, PR2182: 6911104 reintroduces test fragment removed in existing 6964018 backport - - S6611637: NullPointerException in sun.font.GlyphLayout$EngineRecord.init - - S6727719: Performance of TextLayout.getBounds() - S6730740, PR2186: Fix for 6729881 has apparently broken several 64 bit tests: "Bad address" - - S6745225: Memory leak while drawing Attributed String - - S6904962: GlyphVector.getVisualBounds should not be affected by leading or trailing white space. - S7031830, PR2183: bad_record_mac failure on TLSv1.2 enabled connection with SSLEngine - - S7151089: PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages - S8000897, PR2173, RH1155012: VM crash in CompileBroker - - S8013057: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory() - S8020190, PR2174, RH1176718: Fatal: Bug in native code: jfieldID must match object - - S8026887: Make issues due to failed large pages allocations easier to debug - S8028623, PR2177, RH1168693: SA: hash codes in SymbolTable mismatching java_lang_String::hash_code for extended characters. - S8061785, PR2177: [TEST_BUG] serviceability/sa/jmap-hashcode/Test8028623.java has utf8 character corrupted by earlier merge * Bug fixes - PR1831: Drop version requirement for LCMS 2 - PR1832, RH1022017: Report elliptic curves supported by NSS, not the SunEC library - - PR1886: IcedTea does not checksum supplied tarballs - PR2033: patches/ecj/jaxws-getdtdtype.patch no longer applies since removal of JAXWS drop - PR2062: Unset OS before running OpenJDK build - PR2070: Type-punning warnings still evident on RHEL 5 - PR2082: Cast should use same type as GCDrainStackTargetSize (uintx). - - PR2083: Add support for building Zero on AArch64 - PR2096, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure - PR2125: Synchronise elliptic curves in sun.security.ec.NamedCurve with those listed by NSS - PR2179: Avoid x86 workaround when running Zero rather than a JIT - PR2180: Old autotools dislike $(builddir)/fsg.sh * CACAO - - PR2184: CACAO lacks JVM_FindClassFromCaller introduced by security patch in 2.5.3 + - PR2184: CACAO lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 +* JamVM + - PR2190: JamVM lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 New in release 1.13.5 (2014-10-14): diff -r 6f0c7f0ded92 -r 8aa8364515bf patches/arch.patch --- a/patches/arch.patch Thu Jan 22 00:48:41 2015 +0000 +++ b/patches/arch.patch Tue Mar 31 18:45:41 2015 +0100 @@ -1,7 +1,216 @@ ---- openjdk/jdk/make/javax/sound/SoundDefs.gmk.orig 2008-10-15 17:04:19.000000000 +0200 -+++ openjdk/jdk/make/javax/sound/SoundDefs.gmk 2008-10-15 17:09:56.000000000 +0200 +diff -Nru openjdk.orig/corba/make/common/Defs-linux.gmk openjdk/corba/make/common/Defs-linux.gmk +--- openjdk.orig/corba/make/common/Defs-linux.gmk 2010-05-26 09:31:18.000000000 +0100 ++++ openjdk/corba/make/common/Defs-linux.gmk 2015-03-31 16:43:11.850271287 +0100 +@@ -92,9 +92,19 @@ + # 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 +diff -Nru openjdk.orig/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk +--- openjdk.orig/corba/make/common/shared/Platform.gmk 2015-03-31 15:23:48.410803372 +0100 ++++ openjdk/corba/make/common/shared/Platform.gmk 2015-03-31 16:43:11.850271287 +0100 +@@ -220,9 +220,40 @@ + else + # i586 is 32-bit, amd64 is 64-bit + ifndef ARCH_DATA_MODEL ++ ifeq ($(ARCH), alpha) ++ ARCH_DATA_MODEL=64 ++ endif ++ ifeq ($(ARCH), amd64) ++ ARCH_DATA_MODEL=64 ++ endif ++ ifeq ($(ARCH), arm) ++ ARCH_DATA_MODEL=32 ++ endif + ifeq ($(ARCH), i586) + ARCH_DATA_MODEL=32 +- else ++ endif ++ ifeq ($(ARCH), ia64) ++ ARCH_DATA_MODEL=64 ++ endif ++ ifeq ($(ARCH), m68k) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), mips) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), mipsel) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), ppc) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), ppc64) ++ ARCH_DATA_MODEL=64 ++ endif ++ ifeq ($(ARCH), s390) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), s390x) + ARCH_DATA_MODEL=64 + endif + endif +diff -Nru openjdk.orig/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk +--- openjdk.orig/jdk/make/common/Defs-linux.gmk 2015-02-05 18:49:58.372812460 +0000 ++++ openjdk/jdk/make/common/Defs-linux.gmk 2015-03-31 16:45:47.396086418 +0100 +@@ -102,10 +102,19 @@ + # 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_ppc += -fsigned-char -D_BIG_ENDIAN ++CFLAGS_REQUIRED_m68k += ++CFLAGS_REQUIRED_mips += ++CFLAGS_REQUIRED_mipsel += -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_ppc += -m32 -fsigned-char -D_BIG_ENDIAN ++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 +diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk +--- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk 2015-03-31 15:23:48.254801559 +0100 ++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2015-03-31 16:51:56.332405289 +0100 +@@ -70,28 +70,56 @@ + else + CXX = $(COMPILER_PATH)g++$(GCC_SUFFIX) + endif +- ifneq ("$(findstring sparc,$(ARCH))", "") +- # sparc or sparcv9 +- REQUIRED_CC_VER = 4.0 +- REQUIRED_GCC_VER = 4.0.* +- else +- ifeq ($(ARCH_DATA_MODEL), 32) ++ 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 +- else +- ifeq ($(ARCH), amd64) +- # amd64 +- REQUIRED_CC_VER = 3.2 +- REQUIRED_GCC_VER = 3.2.* + 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 ppc,$(ARCH))", "") ++ # ppc or ppc64 ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* + endif ++ ifneq ("$(findstring s390,$(ARCH))", "") ++ # s390 or s390x ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* ++ endif ++ ifneq ("$(findstring sparc,$(ARCH))", "") ++ # sparc or sparcv9 ++ REQUIRED_CC_VER = 4.0 ++ REQUIRED_GCC_VER = 4.0.* + endif + # Option used to create a shared library + SHARED_LIBRARY_FLAG = -shared +diff -Nru openjdk.orig/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk +--- openjdk.orig/jdk/make/common/shared/Platform.gmk 2015-03-31 15:23:48.410803372 +0100 ++++ openjdk/jdk/make/common/shared/Platform.gmk 2015-03-31 16:43:11.850271287 +0100 +@@ -222,9 +222,40 @@ + else + # i586 is 32-bit, amd64 is 64-bit + ifndef ARCH_DATA_MODEL ++ ifeq ($(ARCH), alpha) ++ ARCH_DATA_MODEL=64 ++ endif ++ ifeq ($(ARCH), amd64) ++ ARCH_DATA_MODEL=64 ++ endif ++ ifeq ($(ARCH), arm) ++ ARCH_DATA_MODEL=32 ++ endif + ifeq ($(ARCH), i586) + ARCH_DATA_MODEL=32 +- else ++ endif ++ ifeq ($(ARCH), ia64) ++ ARCH_DATA_MODEL=64 ++ endif ++ ifeq ($(ARCH), m68k) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), mips) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), mipsel) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), ppc) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), ppc64) ++ ARCH_DATA_MODEL=64 ++ endif ++ ifeq ($(ARCH), s390) ++ ARCH_DATA_MODEL=32 ++ endif ++ ifeq ($(ARCH), s390x) + ARCH_DATA_MODEL=64 + endif + endif +diff -Nru openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk openjdk/jdk/make/javax/sound/SoundDefs.gmk +--- openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk 2013-08-21 20:32:57.524222927 +0100 ++++ openjdk/jdk/make/javax/sound/SoundDefs.gmk 2015-03-31 16:44:39.367291058 +0100 @@ -58,10 +58,54 @@ - ifdef ICEDTEA_ZERO_BUILD + ifeq ($(ZERO_BUILD), true) CPPFLAGS += -DX_ARCH=X_ZERO else + ifeq ($(ARCH), alpha) @@ -66,143 +275,9 @@ endif ---- openjdk/jdk/make/common/Defs-linux.gmk.orig 2008-10-15 17:04:21.000000000 +0200 -+++ openjdk/jdk/make/common/Defs-linux.gmk 2008-10-15 17:08:37.000000000 +0200 -@@ -102,9 +102,19 @@ - # 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 ---- openjdk/jdk/make/common/shared/Compiler-gcc.gmk.orig 2008-10-15 17:04:19.000000000 +0200 -+++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2008-10-15 17:11:28.000000000 +0200 -@@ -70,28 +70,56 @@ - else - CXX = $(COMPILER_PATH)g++$(GCC_SUFFIX) - endif -- ifneq ("$(findstring sparc,$(ARCH))", "") -- # sparc or sparcv9 -- REQUIRED_CC_VER = 4.0 -- REQUIRED_GCC_VER = 4.0.* -- else -- ifeq ($(ARCH_DATA_MODEL), 32) -- # i586 -+ ifeq ($(ARCH), alpha) -+ # alpha - REQUIRED_CC_VER = 3.2 -- REQUIRED_GCC_VER = 3.2.1* -- REQUIRED_GCC_VER_INT = 3.2.1-7a -- else -+ 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 ppc,$(ARCH))", "") -+ # ppc or ppc64 -+ REQUIRED_CC_VER = 3.2 -+ REQUIRED_GCC_VER = 3.2.* -+ endif -+ ifneq ("$(findstring s390,$(ARCH))", "") -+ # s390 or s390x -+ REQUIRED_CC_VER = 3.2 -+ REQUIRED_GCC_VER = 3.2.* -+ endif -+ ifneq ("$(findstring sparc,$(ARCH))", "") -+ # sparc or sparcv9 -+ REQUIRED_CC_VER = 4.0 -+ REQUIRED_GCC_VER = 4.0.* - endif - # Option used to create a shared library - SHARED_LIBRARY_FLAG = -shared -mimpure-text ---- openjdk/jdk/make/common/shared/Platform.gmk.orig 2008-10-15 17:04:19.000000000 +0200 -+++ openjdk/jdk/make/common/shared/Platform.gmk 2008-10-15 17:13:49.000000000 +0200 -@@ -237,9 +237,40 @@ - else - # i586 is 32-bit, amd64 is 64-bit - ifndef ARCH_DATA_MODEL -+ ifeq ($(ARCH), alpha) -+ ARCH_DATA_MODEL=64 -+ endif -+ ifeq ($(ARCH), amd64) -+ ARCH_DATA_MODEL=64 -+ endif -+ ifeq ($(ARCH), arm) -+ ARCH_DATA_MODEL=32 -+ endif - ifeq ($(ARCH), i586) - ARCH_DATA_MODEL=32 -- else -+ endif -+ ifeq ($(ARCH), ia64) -+ ARCH_DATA_MODEL=64 -+ endif -+ ifeq ($(ARCH), m68k) -+ ARCH_DATA_MODEL=32 -+ endif -+ ifeq ($(ARCH), mips) -+ ARCH_DATA_MODEL=32 -+ endif -+ ifeq ($(ARCH), mipsel) -+ ARCH_DATA_MODEL=32 -+ endif -+ ifeq ($(ARCH), ppc) -+ ARCH_DATA_MODEL=32 -+ endif -+ ifeq ($(ARCH), ppc64) -+ ARCH_DATA_MODEL=64 -+ endif -+ ifeq ($(ARCH), s390) -+ ARCH_DATA_MODEL=32 -+ endif -+ ifeq ($(ARCH), s390x) - ARCH_DATA_MODEL=64 - endif - endif ---- openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h.orig 2008-10-15 17:04:19.000000000 +0200 -+++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2008-10-15 17:13:01.000000000 +0200 +diff -Nru openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h +--- openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2013-08-21 20:32:57.952229855 +0100 ++++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2015-03-31 16:43:11.850271287 +0100 @@ -33,12 +33,21 @@ #define X_LINUX 3 @@ -231,69 +306,3 @@ // ********************************** // Make sure you set X_PLATFORM and X_ARCH defines correctly. ---- openjdk/corba/make/common/Defs-linux.gmk.orig 2008-10-15 17:04:20.000000000 +0200 -+++ openjdk/corba/make/common/Defs-linux.gmk 2008-10-15 17:08:37.000000000 +0200 -@@ -92,9 +92,19 @@ - # 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. From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 17:46:53 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 17:46:53 +0000 Subject: [Bug 2181] [IcedTea6] Type-punning warnings still evident on PPC+RHEL 7 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2181 --- Comment #9 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea6-hg?cmd=changeset;node=8aa8364515bf author: Andrew John Hughes date: Tue Mar 31 18:45:41 2015 +0100 Remove upstreamed patches and re-generate arch.patch. 2015-03-31 Andrew John Hughes * patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch, * patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch, * patches/openjdk/oj51-pr2187-sync_4873188.patch, * patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch, * patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch, * patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch: Removed; upstreamed. * Makefile.am: (ICEDTEA_PATCHES): Remove above patches. * patches/arch.patch: Regenerated following upstream application of OPENJDK6-53. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 17:46:57 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 17:46:57 +0000 Subject: [Bug 2182] [IcedTea6] 6911104 reintroduces test fragment removed in existing 6964018 backport In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2182 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea6-hg?cmd=changeset;node=8aa8364515bf author: Andrew John Hughes date: Tue Mar 31 18:45:41 2015 +0100 Remove upstreamed patches and re-generate arch.patch. 2015-03-31 Andrew John Hughes * patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch, * patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch, * patches/openjdk/oj51-pr2187-sync_4873188.patch, * patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch, * patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch, * patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch: Removed; upstreamed. * Makefile.am: (ICEDTEA_PATCHES): Remove above patches. * patches/arch.patch: Regenerated following upstream application of OPENJDK6-53. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 17:47:00 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 17:47:00 +0000 Subject: [Bug 2183] [IcedTea6] Complete backport of 7031830, accidentally included in 4873188 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2183 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea6-hg?cmd=changeset;node=8aa8364515bf author: Andrew John Hughes date: Tue Mar 31 18:45:41 2015 +0100 Remove upstreamed patches and re-generate arch.patch. 2015-03-31 Andrew John Hughes * patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch, * patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch, * patches/openjdk/oj51-pr2187-sync_4873188.patch, * patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch, * patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch, * patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch: Removed; upstreamed. * Makefile.am: (ICEDTEA_PATCHES): Remove above patches. * patches/arch.patch: Regenerated following upstream application of OPENJDK6-53. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 17:47:04 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 17:47:04 +0000 Subject: [Bug 2185] [IcedTea6] Application of 6786276 introduces compatibility issue In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2185 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea6-hg?cmd=changeset;node=8aa8364515bf author: Andrew John Hughes date: Tue Mar 31 18:45:41 2015 +0100 Remove upstreamed patches and re-generate arch.patch. 2015-03-31 Andrew John Hughes * patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch, * patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch, * patches/openjdk/oj51-pr2187-sync_4873188.patch, * patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch, * patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch, * patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch: Removed; upstreamed. * Makefile.am: (ICEDTEA_PATCHES): Remove above patches. * patches/arch.patch: Regenerated following upstream application of OPENJDK6-53. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 17:47:07 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 17:47:07 +0000 Subject: [Bug 2186] [IcedTea6] Backport 6730740: "Fix for 6729881 has apparently broken several 64 bit tests: 'Bad address'" In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2186 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea6-hg?cmd=changeset;node=8aa8364515bf author: Andrew John Hughes date: Tue Mar 31 18:45:41 2015 +0100 Remove upstreamed patches and re-generate arch.patch. 2015-03-31 Andrew John Hughes * patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch, * patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch, * patches/openjdk/oj51-pr2187-sync_4873188.patch, * patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch, * patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch, * patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch: Removed; upstreamed. * Makefile.am: (ICEDTEA_PATCHES): Remove above patches. * patches/arch.patch: Regenerated following upstream application of OPENJDK6-53. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 17:47:09 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 17:47:09 +0000 Subject: [Bug 2187] [IcedTea6] Sync patch for 4873188 with 7 version In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2187 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea6-hg?cmd=changeset;node=8aa8364515bf author: Andrew John Hughes date: Tue Mar 31 18:45:41 2015 +0100 Remove upstreamed patches and re-generate arch.patch. 2015-03-31 Andrew John Hughes * patches/openjdk/6730740-pr2186-64-bit_breakage_in_6729881.patch, * patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch, * patches/openjdk/oj51-pr2187-sync_4873188.patch, * patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch, * patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch, * patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch: Removed; upstreamed. * Makefile.am: (ICEDTEA_PATCHES): Remove above patches. * patches/arch.patch: Regenerated following upstream application of OPENJDK6-53. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 23:01:03 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 23:01:03 +0000 Subject: [Bug 2180] [IcedTea6] Old autotools dislike $(builddir)/fsg.sh In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2180 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |6-1.13.6 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Tue Mar 31 23:06:40 2015 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 31 Mar 2015 23:06:40 +0000 Subject: /hg/icedtea6: PR2190: JamVM lacks JVM_FindClassFromCaller introd... Message-ID: changeset 26614f5e1108 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=26614f5e1108 author: Andrew John Hughes date: Wed Apr 01 00:06:27 2015 +0100 PR2190: JamVM lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 2015-01-07 Andrew John Hughes PR2190: JamVM lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 * Makefile.am: (ICEDTEA_PATCHES): Add new patch when building JamVM. (EXTRA_DIST): Include patches from JamVM directory. * NEWS: Updated. * patches/jamvm/pr2190-find_class_from_caller.patch: Backport JamVM patch to implement FindClassFromCaller. diffstat: ChangeLog | 12 ++ Makefile.am | 5 + patches/jamvm/pr2190-find_class_from_caller.patch | 93 +++++++++++++++++++++++ 3 files changed, 110 insertions(+), 0 deletions(-) diffs (131 lines): diff -r cc9dd4878fae -r 26614f5e1108 ChangeLog --- a/ChangeLog Thu Mar 26 17:26:21 2015 +0000 +++ b/ChangeLog Wed Apr 01 00:06:27 2015 +0100 @@ -1,3 +1,15 @@ +2015-01-07 Andrew John Hughes + + PR2190: JamVM lacks JVM_FindClassFromCaller introduced + by security patch in 1.13.5 + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch when building + JamVM. + (EXTRA_DIST): Include patches from JamVM directory. + * NEWS: Updated. + * patches/jamvm/pr2190-find_class_from_caller.patch: + Backport JamVM patch to implement FindClassFromCaller. + 2015-03-26 Andrew John Hughes * NEWS: diff -r cc9dd4878fae -r 26614f5e1108 Makefile.am --- a/Makefile.am Thu Mar 26 17:26:21 2015 +0000 +++ b/Makefile.am Wed Apr 01 00:06:27 2015 +0100 @@ -654,6 +654,11 @@ patches/hotspot/hs23/systemtap-alloc-size-workaround.patch endif +if BUILD_JAMVM +ICEDTEA_PATCHES += \ + patches/jamvm/pr2190-find_class_from_caller.patch +endif + if ENABLE_NSS ICEDTEA_PATCHES += patches/rh1022017.patch NSS_PATCHES = patches/nss-config.patch diff -r cc9dd4878fae -r 26614f5e1108 patches/jamvm/pr2190-find_class_from_caller.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jamvm/pr2190-find_class_from_caller.patch Wed Apr 01 00:06:27 2015 +0100 @@ -0,0 +1,93 @@ +diff -Nru jamvm.old/src/classlib/openjdk/class.c jamvm/src/classlib/openjdk/class.c +--- jamvm/jamvm.old/src/classlib/openjdk/class.c 2013-11-18 03:45:44.000000000 +0000 ++++ jamvm/jamvm/src/classlib/openjdk/class.c 2015-01-07 16:14:57.599311159 +0000 +@@ -23,6 +23,7 @@ + #include "jam.h" + #include "hash.h" + #include "class.h" ++#include "excep.h" + #include "symbol.h" + + /* Cached offset of classes field in java.lang.ClassLoader objects */ +@@ -161,3 +162,24 @@ + + return strcat(strcpy(endorsed_dirs, java_home), "/lib/endorsed"); + } ++ ++Class *findClassFromLoader(char *name, int init, Object *loader, ++ int throw_error) { ++ ++ Class *class = findClassFromClassLoader(name, loader); ++ ++ if(class == NULL) { ++ if(!throw_error) { ++ Object *excep = exceptionOccurred(); ++ char *dot_name = slash2DotsDup(name); ++ ++ clearException(); ++ signalChainedException(java_lang_ClassNotFoundException, ++ dot_name, excep); ++ sysFree(dot_name); ++ } ++ } else if(init) ++ initClass(class); ++ ++ return class; ++} +diff -Nru jamvm.old/src/classlib/openjdk/jvm.c jamvm/src/classlib/openjdk/jvm.c +--- jamvm/jamvm.old/src/classlib/openjdk/jvm.c 2013-11-18 03:45:44.000000000 +0000 ++++ jamvm/jamvm/src/classlib/openjdk/jvm.c 2015-01-07 16:16:43.560605105 +0000 +@@ -520,26 +520,22 @@ + jclass JVM_FindClassFromClassLoader(JNIEnv *env, const char *name, + jboolean init, jobject loader, + jboolean throw_error) { +- Class *class; + + TRACE("JVM_FindClassFromClassLoader(env=%p, name=%s, init=%d, loader=%p," + " throwError=%d)", env, name, init, loader, throwError); + +- class = findClassFromClassLoader((char *)name, loader); ++ return findClassFromLoader((char *)name, init, loader, throw_error); ++} ++ ++/* JVM_FindClassFromCaller */ ++ ++jclass JVM_FindClassFromCaller(JNIEnv *env, const char *name, jboolean init, ++ jobject loader, jclass caller) { + +- if(class == NULL && !throw_error) { +- Object *excep = exceptionOccurred(); +- char *dot_name = slash2DotsDup((char*)name); +- +- clearException(); +- signalChainedException(java_lang_ClassNotFoundException, +- dot_name, excep); +- sysFree(dot_name); +- } else +- if(init) +- initClass(class); ++ TRACE("JVM_FindClassFromCaller(env=%p, name=%s, init=%d, loader=%p," ++ " caller=%p)", env, name, init, loader, caller); + +- return class; ++ return findClassFromLoader((char *)name, init, loader, FALSE); + } + + +diff -Nru jamvm.old/src/classlib/openjdk/openjdk.h jamvm/src/classlib/openjdk/openjdk.h +--- jamvm/jamvm.old/src/classlib/openjdk/openjdk.h 2013-11-18 03:45:44.000000000 +0000 ++++ jamvm/jamvm/src/classlib/openjdk/openjdk.h 2015-01-07 16:14:57.599311159 +0000 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2010, 2011, 2013 Robert Lougher . ++ * Copyright (C) 2010, 2011, 2013, 2014 Robert Lougher . + * + * This file is part of JamVM. + * +@@ -53,3 +53,6 @@ + extern Object *resolveMemberName(Class *mh_class, Object *mname); + + extern Object *getMethodParameters(Object *method); ++ ++extern Class *findClassFromLoader(char *name, int init, Object *loader, ++ int throw_error); From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 23:06:51 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 23:06:51 +0000 Subject: [Bug 2190] [IcedTea6] JamVM lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2190 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea6?cmd=changeset;node=26614f5e1108 author: Andrew John Hughes date: Wed Apr 01 00:06:27 2015 +0100 PR2190: JamVM lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 2015-01-07 Andrew John Hughes PR2190: JamVM lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 * Makefile.am: (ICEDTEA_PATCHES): Add new patch when building JamVM. (EXTRA_DIST): Include patches from JamVM directory. * NEWS: Updated. * patches/jamvm/pr2190-find_class_from_caller.patch: Backport JamVM patch to implement FindClassFromCaller. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Mar 31 23:07:20 2015 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 31 Mar 2015 23:07:20 +0000 Subject: [Bug 2190] [IcedTea6] JamVM lacks JVM_FindClassFromCaller introduced by security patch in 1.13.5 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2190 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: