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.

Reply via email to