#1012104 jruby-openssl: FTBFS with OpenJDK 17 due to an illegal reflective access during the tests

#1012104#5
Date:
2022-05-30 08:41:46 UTC
From:
To:
jruby-openssl fails to build with OpenJDK 17, the tests make illegal
reflective accesses into various modules:


  [INFO] -------------------------------------------------------
  [INFO]  T E S T S
  [INFO] -------------------------------------------------------
  [INFO] Running org.jruby.ext.openssl.SecurityHelperTest
  allowsToSetSecurityProvider() skipped due: java.lang.IllegalAccessException: class org.jruby.ext.openssl.SecurityHelperTest cannot access class sun.security.provider.Sun (in module java.base) because module
  java.base does not export sun.security.provider to unnamed module @4cfaf581
  [ERROR] Tests run: 38, Failures: 0, Errors: 12, Skipped: 0, Time elapsed: 0.242 s <<< FAILURE! - in org.jruby.ext.openssl.SecurityHelperTest
  [ERROR] testCertificateFactoryProviderStaysConstant(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.008 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make protected java.security.cert.CertificateFactory(java.security.cert.CertificateFactorySpi,java.security.Provider,java.lang.String) accessible: mod
  ule java.base does not "opens java.security.cert" to unnamed module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testCertificateFactoryProviderStaysConstant(SecurityHelperTest.java:448)

  [ERROR] injectCipherImpl(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.001 s  <<< ERROR!
  java.security.NoSuchAlgorithmException: Cannot find any provider supporting fake
          at org.jruby.ext.openssl.SecurityHelperTest.injectCipherImpl(SecurityHelperTest.java:52)

  [ERROR] testGetKeyPairGenerator(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.004 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make field java.security.Provider java.security.KeyPairGenerator.provider accessible: module java.base does not "opens java.security" to unnamed modul
  e @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetKeyPairGenerator(SecurityHelperTest.java:147)

  [ERROR] injectSignatureImpl(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.001 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make field java.security.Provider java.security.Signature.provider accessible: module java.base does not "opens java.security" to unnamed module @4cfa
  f581
          at org.jruby.ext.openssl.SecurityHelperTest.injectSignatureImpl(SecurityHelperTest.java:62)

  [ERROR] testGetMessageDigest(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.001 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make field private java.security.Provider java.security.MessageDigest.provider accessible: module java.base does not "opens java.security" to unnamed
  module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetMessageDigest(SecurityHelperTest.java:215)

  [ERROR] testGetKeyFactory(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.001 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make protected java.security.KeyFactory(java.security.KeyFactorySpi,java.security.Provider,java.lang.String) accessible: module java.base does not "op
  ens java.security" to unnamed module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetKeyFactory(SecurityHelperTest.java:114)

  [ERROR] testGetKeyGenerator(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.001 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make protected javax.crypto.KeyGenerator(javax.crypto.KeyGeneratorSpi,java.security.Provider,java.lang.String) accessible: module java.base does not "
  opens javax.crypto" to unnamed module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetKeyGenerator(SecurityHelperTest.java:411)

  [ERROR] testGetMac(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.002 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make protected javax.crypto.Mac(javax.crypto.MacSpi,java.security.Provider,java.lang.String) accessible: module java.base does not "opens javax.crypto
  " to unnamed module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetMac(SecurityHelperTest.java:377)

  [ERROR] testGetCertificateFactory(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.001 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make protected java.security.cert.CertificateFactory(java.security.cert.CertificateFactorySpi,java.security.Provider,java.lang.String) accessible: mod
  ule java.base does not "opens java.security.cert" to unnamed module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetCertificateFactory(SecurityHelperTest.java:283)

  [ERROR] testGetSecretKeyFactory(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make protected javax.crypto.SecretKeyFactory(javax.crypto.SecretKeyFactorySpi,java.security.Provider,java.lang.String) accessible: module java.base do
  es not "opens javax.crypto" to unnamed module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetSecretKeyFactory(SecurityHelperTest.java:343)

  [ERROR] testGetSecureRandom(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.012 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make private java.security.SecureRandom(java.security.SecureRandomSpi,java.security.Provider,java.lang.String) accessible: module java.base does not "
  opens java.security" to unnamed module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetSecureRandom(SecurityHelperTest.java:314)

  [ERROR] testGetSignature(org.jruby.ext.openssl.SecurityHelperTest)  Time elapsed: 0.001 s  <<< ERROR!
  java.lang.reflect.InaccessibleObjectException: Unable to make private java.security.Signature$Delegate(java.security.SignatureSpi,java.lang.String) accessible: module java.base does not "opens java.security" to unnamed module @4cfaf581
          at org.jruby.ext.openssl.SecurityHelperTest.testGetSignature(SecurityHelperTest.java:250)

  [INFO] Running org.jruby.ext.openssl.CipherTest
  running ...
  running ...
  [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.05 s - in org.jruby.ext.openssl.CipherTest
  [INFO]
  [INFO] Results:
  [INFO]
  [ERROR] Errors:
  [ERROR]   SecurityHelperTest.injectCipherImpl:52 » NoSuchAlgorithm Cannot find any provi...
  [ERROR]   SecurityHelperTest.injectSignatureImpl:62 » InaccessibleObject Unable to make ...
  [ERROR]   SecurityHelperTest.testCertificateFactoryProviderStaysConstant:448 » InaccessibleObject
  [ERROR]   SecurityHelperTest.testGetCertificateFactory:283 » InaccessibleObject Unable t...
  [ERROR]   SecurityHelperTest.testGetKeyFactory:114 » InaccessibleObject Unable to make p...
  [ERROR]   SecurityHelperTest.testGetKeyGenerator:411 » InaccessibleObject Unable to make...
  [ERROR]   SecurityHelperTest.testGetKeyPairGenerator:147 » InaccessibleObject Unable to ...
  [ERROR]   SecurityHelperTest.testGetMac:377 » InaccessibleObject Unable to make protecte...
  [ERROR]   SecurityHelperTest.testGetMessageDigest:215 » InaccessibleObject Unable to mak...
  [ERROR]   SecurityHelperTest.testGetSecretKeyFactory:343 » InaccessibleObject Unable to ...
  [ERROR]   SecurityHelperTest.testGetSecureRandom:314 » InaccessibleObject Unable to make...
  [ERROR]   SecurityHelperTest.testGetSignature:250 » InaccessibleObject Unable to make pr...
  [INFO]
  [ERROR] Tests run: 44, Failures: 0, Errors: 12, Skipped: 0
  [INFO]
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD FAILURE
  [INFO] ------------------------------------------------------------------------

#1012104#8
Date:
2022-05-31 10:33:27 UTC
From:
To:
Hello,

Bug #1012104 in jruby-openssl reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/java-team/jruby-openssl/-/commit/e94f0b8d1444284445664555c4cb7bae6e905034

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1012104

#1012104#15
Date:
2022-05-31 10:48:48 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
jruby-openssl, 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 1012104@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Emmanuel Bourg <ebourg@apache.org> (supplier of updated jruby-openssl 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 ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 31 May 2022 12:32:07 +0200
Source: jruby-openssl
Architecture: source
Version: 0.9.21-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Changed-By: Emmanuel Bourg <ebourg@apache.org>
Closes: 1012104
Changes:
 jruby-openssl (0.9.21-4) unstable; urgency=medium
 .
   * Team upload.
   * Fixed the build failure with OpenJDK 17 (Closes: #1012104)
   * Standards-Version updated to 4.6.1
   * Switch to debhelper level 13
   * Updated the watch file
Checksums-Sha1:
 0ed2c3acc4eaf88246fc7673b57289c69f8eae53 2237 jruby-openssl_0.9.21-4.dsc
 5c3dc1cb7cb334d1574a63ed0e562f39fde02b84 10008 jruby-openssl_0.9.21-4.debian.tar.xz
 97e750e239d89f1491c031fed37585ef712efb3b 16580 jruby-openssl_0.9.21-4_source.buildinfo
Checksums-Sha256:
 f529e2e511786fc790fee4fe1549a929856373a51618996a2b9339e93263908c 2237 jruby-openssl_0.9.21-4.dsc
 919ff71ab5b6b4c6dc65ea4860061478197624a42c4c37200864f695a058d0be 10008 jruby-openssl_0.9.21-4.debian.tar.xz
 02d7c8eeb1e11c5cd84eb123f16020386b9fe030a41e38848dcb528814b25b8f 16580 jruby-openssl_0.9.21-4_source.buildinfo
Files:
 c2cbb4ed941a637275f3de84d42179cb 2237 ruby optional jruby-openssl_0.9.21-4.dsc
 572685f771b5e121145f7fbd71d8a5e5 10008 ruby optional jruby-openssl_0.9.21-4.debian.tar.xz
 0cda2cee5c4f5c4aa10ad355fbb370e3 16580 ruby optional jruby-openssl_0.9.21-4_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJGBAEBCgAwFiEEuM5N4hCA3PkD4WxA9RPEGeS50KwFAmKV7vESHGVib3VyZ0Bh
cGFjaGUub3JnAAoJEPUTxBnkudCss54P/jUvoUYwSoGEe53SyH7NVNZAobjbcVBN
9CTPhk+cUkM4HhQfXd79TaEDpY49RiG2USqNVafHVjDxlYhwfuqAjc6mMcIhMfZH
NAKn51XyQVLM7X9YQ/gzAsma2y+N6ifzLKhtPAwRAR1TvDtgCCrOspAvrV6BfhUL
6s3UwnkW7pzxjlGjQH7arSyGjk4AkKMw8I3tDZs3ggiq13C4UPoEUY7r88t2dG4c
m+CB97PfxyTGdcDVyKgW6yniK/2viLz/aDTIMu4rT/fTs1bA42aF81a45jwThMp+
8ObX02j0QrpEBxlyfbRUxdXCPTQx7u33tfsgkzZFEkl2AiMMoNKcxWaReKisd/pQ
G/oq1HNBJDbW1q17Sg5zheBCdo2fOf4+M9t9s6pJDdDTLtNW7LvKf5L7lieFBY51
KFEdWGin1slbPaeQwp7F1pe9YYKg+Ug+Hfy0/4Tntp1vgLtEcE2UtmuwTXvMOCeP
fPabDpu4cT7of+815UNxgvjcFxFzxvTwipwfp85BHMtUdEUayy5/LbmMLV87n8OQ
WxF2pfOtpedXQ5gz2kdV4C7jkxoHMBs4fPtOSSSHElxEuhbkMeY8JtPFtpcNGwNT
/ur0wgBwEarmns6yL7+bUc15rDuV72rdTZ8UhMlyWrGOOhhTBFSgCpyv4VOQ5sUe
or/qC+Dbv3GH
=0Rai
-----END PGP SIGNATURE-----