[Bioc-devel] Issue with a package dependent on rJava

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Mon Oct 10 23:48:21 CEST 2022


Thanks Anestis for your analysis and detailed feedback.

@J. Aravind: I hope this is helpful. You should be able to reproduce the 
problem with a recent version of Java. Generally speaking you want to 
make sure that your package is compatible with reasonably recent 
versions of Java. FWIW here are the versions of Java installed on the 
Bioconductor build machines:

-- Devel builds --

   nebbiolo2:

     biocbuild using nebbiolo2:~$ java --version
     openjdk 11.0.16 2022-07-19
     OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
     OpenJDK 64-Bit Server VM (build 
11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

   palomino4:

     PS C:\Users\hpages> java --version
     java 17.0.1 2021-10-19 LTS
     Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
     Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed 
mode, sharing)

   lconway:

     lconway:~ biocbuild$ java --version
     openjdk 18 2022-03-22
     OpenJDK Runtime Environment (build 18+36-2087)
     OpenJDK 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)

-- Release builds --

   nebbiolo1:

     biocbuild using nebbiolo1:~$ java --version
     openjdk 11.0.16 2022-07-19
     OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
     OpenJDK 64-Bit Server VM (build 
11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

   palomino3:

     PS C:\Users\hpages> java --version
     java 17.0.1 2021-10-19 LTS
     Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
     Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed 
mode, sharing)

   merida1

     merida1:~ biocbuild$ java --version
     openjdk 14.0.1 2020-04-14
     OpenJDK Runtime Environment (build 14.0.1+7)
     OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

Cheers,

H.

On 09/10/2022 17:02, Anestis Gkanogiannis via Bioc-devel wrote:
> Hello,
>
> On line 1289 of melting.R you call the keyset() method of opts_melt (which is a HashMap).
> This method in Java until 11, return a private AbstractSet (KeySet).
> On line 1290 of melting.R you call iterator() method of the KeySet object you got on the previous line.
>
> Problem is that this KeySet is private and this call through reflexion isn’t valid, hence the exception.
>
> They changed this in java 11 where the returned AbstractSet is public.
>
> So solution is either use java >11
> or change your code in melting.R to not call the iterator() method of keyset (which is a private AbstractSet).
>
> Best regards,
>
> Anestis Gkanogiannis, PhD
> ----------
> https://linkedin.com/in/anestis-gkanogiannis
> https://github.com/gkanogiannis
> https://www.gkanogiannis.com
>
> -----Original Message-----
> From: Bioc-devel <bioc-devel-bounces using r-project.org> On Behalf Of DR J Aravind via Bioc-devel
> Sent: 10 October 2022 00:33
> To: bioc-devel using r-project.org
> Cc: Aravind J (aravindj86 using yahoo.com) <aravindj86 using yahoo.com>
> Subject: [Bioc-devel] Issue with a package dependent on rJava
>
> Dear Bioconductor Developers,
>
>
> My package  `rmelting` is failing to build on release (3.15) and devel (3.16) versions for the following systems.
>
> Bioconductor 3.15
> - palomino3 (Windows Server 2022 Datacenter / x64)
>
> Bioconductor 3.15
> - palomino4 (Windows Server 2022 Datacenter / x64)
> - lconway (macOS 12.5.1 Monterey / x86_64)
>
> The error message is as follows.
>
> ```
> * creating vignettes ... ERROR
> --- re-building 'Tutorial.Rmd' using rmarkdown_notangle
> .
> .
> .
> .
> .
>
> Quitting from lines 195-197 (Tutorial.Rmd)
>
> Error: processing vignette 'Tutorial.Rmd' failed with diagnostics:
>
> java.lang.IllegalAccessException: class RJavaTools cannot access a member of class java.util.HashMap$KeySet (in module java.base) with modifiers "public final"
>
> --- failed re-building 'Tutorial.Rmd'
>
>
>
> SUMMARY: processing the following file failed:
>
>    'Tutorial.Rmd'
> ```
>
> I am unable to replicate the same on my end.
>
> It seems to be an issue with java. The package is a low level interface to a software written in Java 1.5 using `rJava`. I have tried with different java versions upto 1.8.
>
> Any pointers or suggestions to fix the same will be appreciated.
>
>
> Best Regards,
>
> J. Aravind
>
> Scientist
> ICAR-National Bureau of Plant Genetic Resources
> New Delhi, India
>
>
>
>
>
>
>
>
>
> “SAVE TREE - Please do not print this e-mail unless necessary.”
> Disclaimer: The information contained in this electronic message and /or attachments to this message are intended for the exclusive use of the addressee(s) and may contain confidential, proprietary or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately destroy all copies of this message and any attachments.
> WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The organization accepts no liability for any damage caused by any virus transmitted by this email.
>
> www.icar.org.in
>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

-- 
Hervé Pagès

Bioconductor Core Team
hpages.on.github using gmail.com



More information about the Bioc-devel mailing list