Your message dated Wed, 21 Nov 2018 05:19:12 +0000 with message-id <[email protected]> and subject line Bug#913853: fixed in jtreg 4.2-b13-2 has caused the Debian Bug report #913853, regarding jtreg fails to run under openjdk-8 due to api incompatibility with openjdk-9 or later to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 913853: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913853 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: jtreg Version: 4.2-b13-1 Severity: important Dear Maintainer, openjdk-9 introduced a few api changes that result in runtime errors when trying to run the java classes under openjdk 8 (or earlier) even when -source/-target are properly set. The fix is to build such code using the new openjdk-9 flag "--release" instead of the "-source/-target" pair. When running Cosmic's jtreg 4.2-b13-1 with agentvm under openjdk-8 it will fail and output a few lines such as: stderr: Exception: java.lang.NoSuchMethodError thrown from the UncaughtExceptionHandler in thread "main" The java.lang.NoSuchMethodError is actually caused by "java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer" which can be easily solved by building jtreg with the "--release 7" argument. [Test Case] For this test case we need to create an empty TEST.ROOT file and a test class to satisfy jtreg requirements of a minimum test. jtreg must also be forced to use openjdk-8. $ sudo apt install openjdk-8-jdk jtreg $ touch TEST.ROOT $ cat > Hello.java << EOF /* * @test * @bug 2718282 * @summary Hello test */ public class Hello { public static void main(String [] args) throws Exception { if (true) System.out.println("Hello World!"); else throw new Exception("??"); } } EOF $ JT_JAVA=/usr/lib/jvm/java-8-openjdk-amd64/ jtreg -va -agentvm Hello.java [2018-11-15 23:42:34,720] Agent[0]: stderr: [2018-11-15 23:42:34,721] Agent[0]: stderr: Exception: java.lang.NoSuchMethodError thrown from the UncaughtExceptionHandler in thread "main" -------------------------------------------------- TEST: Hello.java TEST JDK: /usr/lib/jvm/java-8-openjdk-amd64 [snipped] Test results: error: 1 Report written to /tmp/JTreport/html/report.html Results written to /tmp/JTwork Error: Some tests failed or other problems occurred. The expected response from jtreg does not contain the "stderr:" lines as in: $ JT_JAVA=/usr/lib/jvm/java-8-openjdk-amd64/ jtreg -va -agentvm Hello.java -------------------------------------------------- TEST: Hello.java TEST JDK: /usr/lib/jvm/java-8-openjdk-amd64 [snipped] Test results: passed: 1 Report written to /tmp/JTreport/html/report.html Results written to /tmp/JTwork Alternatively one can also check that openjdk-lts is not affected by the change, it should output the same before and after the fix: $ sudo apt install openjdk-11-jdk $ JT_JAVA=/usr/lib/jvm/java-11-openjdk-amd64/ jtreg -va -agentvm Hello.java -------------------------------------------------- TEST: Hello.java TEST JDK: /usr/lib/jvm/java-11-openjdk-amd64 [snipped] Test results: passed: 1 Report written to /tmp/JTreport/html/report.html Results written to /tmp/JTwork [Regression Potential] 1. The --release argument is jdk9+ only, if jtreg is ever build with an older jdk it will FTBFS, so this change should only be backported on releases where the default-jdk is 9+. 2. The --release N argument is equivalent to setting -source N/-target N/-bootclasspath <N bootclasspath>, which can cause issues if the compiled classes use APIs that have been removed or are considered internal. The current jtreg version does not rely on internal classes from jdk 8 (otherwise it would FTBFS) but if a later version does that it will probably FTBFS - note that this is very unlikely as it would mean that upstream decided to break building jtreg with newer jdks. [Other Info] See https://github.com/apache/felix/pull/114 for a good overview on the methods that changed on OpenJDK 9 and a better description on the cause. Note that they propose patching the methods to cast ByteBuffer to Buffer when calling the affected methods, but this can be easily prevented by using the --release argument instead. I will follow-up with a patch as soon as I have a bug # to put on the changelog and the patch dep3 header. Regards, Tiago -- System Information: Debian Release: buster/sid APT prefers disco APT policy: (500, 'disco'), (400, 'disco-proposed') Architecture: amd64 (x86_64) Kernel: Linux 4.18.0-10-generic (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
--- End Message ---
--- Begin Message ---Source: jtreg Source-Version: 4.2-b13-2 We believe that the bug you reported is fixed in the latest version of jtreg, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. tony mancill <[email protected]> (supplier of updated jtreg package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Tue, 20 Nov 2018 20:49:59 -0800 Source: jtreg Binary: jtreg Architecture: source Version: 4.2-b13-2 Distribution: unstable Urgency: medium Maintainer: Debian Java Maintainers <[email protected]> Changed-By: tony mancill <[email protected]> Description: jtreg - Regression Test Harness for the OpenJDK platform Closes: 913853 Changes: jtreg (4.2-b13-2) unstable; urgency=medium . * Team upload. . [ Tiago Stürmer Daitx ] * Use release instead of source/target. (Closes: #913853, LP: #1803628) . [ tony mancill ] * Bump Standards-Version to 4.2.1 Checksums-Sha1: 6a04a3ba71b712b02e2ffd9b99b8cf517ee404d1 2031 jtreg_4.2-b13-2.dsc fa9b96e21f02bc9c8fdc9e91d026e63120246592 6560 jtreg_4.2-b13-2.debian.tar.xz 86e48184cc84b5bf4cb979232be73554c25f13cc 12894 jtreg_4.2-b13-2_amd64.buildinfo Checksums-Sha256: 57abdb455497d7b45ed11e135358505cd59c8353bfa47cfe9eaf9759fffe854f 2031 jtreg_4.2-b13-2.dsc ae7895aed223e56d885ff278f4a5540cf68b50e5e140871aecf1cd0239830684 6560 jtreg_4.2-b13-2.debian.tar.xz 479da81d0ce107ec498c34030be50b47d184a89e5409f8315bbb99f9b3938ef2 12894 jtreg_4.2-b13-2_amd64.buildinfo Files: 699c29f5e581d07677a5a4d99e7d6df6 2031 java optional jtreg_4.2-b13-2.dsc b0a852bdce62164b55a021670d4fea55 6560 java optional jtreg_4.2-b13-2.debian.tar.xz 868b33dd3a710b02dd547801ba094b55 12894 java optional jtreg_4.2-b13-2_amd64.buildinfo -----BEGIN PGP SIGNATURE----- iQJIBAEBCgAyFiEE5Qr9Va3SequXFjqLIdIFiZdLPpYFAlv05SIUHHRtYW5jaWxs QGRlYmlhbi5vcmcACgkQIdIFiZdLPpYSSw/9Hs7ELr1cGsJNAovK85QzI8XgLsiQ dLX8WBEky07uwVGvnXE03qBTw6i0RcDALqFXX947GHAuWGTa/dKF7F6FEuG0UZQd EBAtyZcDEFphTmIjoq1DqG5tVHV0YjfnQlFwcStct2LODcuzqKM29XBisUMjoIhx 2NUM+RCb0On2NS87BWIlcK4evnRV90uPVu7SdPhzkH5+owCO8DzDsuiOgq5Aq7Kh 5oDQb9rSNWONSiNAzx2536jvw48312JXSHsGuXF/M7H5OcH4D+ORPnI7E6xAp3cG lYD7XQhXYmL8lhguBkuPP6oX7evedqSH1my4F7B/CsMVmb5fd0uOEzfNrrNBmsBc X7PiZQCBeWeBbTvUOoP+f2P6OR2XpcHhPVl8CANr4N79gg0JczzuCe9l7GKnXkfL chzn83UTBrJw7l2Gfu2odtxT2JaTde2my9PDPeFzLdM85zJqU4+yV3MjQKV/y03D HdP4nrhHHYBMU7RnCuN+NxSqK/c93aPqtUu43VapQPH01CYV6NuwvcZilTtJrap2 Bjch+UZVwlAfKLN4RW3JAOUnaEtyFmUuzMmPh4xQWi8vQacX4rbVIyACWrmDq0wp 0ieuCZhSylYmrTHVHShgtKao0GoRtV01Wqnp12kY8Q4QG6olum70zwpFUe3H8NDt 2EXfx1yiA6F0vBs= =2D/J -----END PGP SIGNATURE-----
--- End Message ---
__ This is the maintainer address of Debian's Java team <https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-java-maintainers>. Please use [email protected] for discussions and questions.
