I agree that we don't have a fully satisfying explanation of what's going on.

I investigated a little further and found the following:

1) I can reproduce this problem on a package that contains a dummy vignette with the following 1-line code chunk:

    utils::browseURL("https://bioconductor.org";)

Running 'R CMD build' on such package on our Windows builder (riesling1) reproduces the problem i.e. the evaluation of the vignette gets stuck at the utils::browseURL() call. This call fires up the browser to display Bioconductor's home page but for some reason it doesn't return. Instead it waits for the browser to shut down.

2) If the browser is already up and running on the machine (we have Google Chrome on riesling1) then 'R CMD build' works fine. In this case the call to utils::browseURL() opens Bioconductor's home page in a new tab and returns immediately after that.

3) What makes all this kind of hard to reproduce is that it doesn't happen in an interactive R session i.e. if I start R and call utils::browseURL("https://bioconductor.org";) interactively, everything works fine. So this problem only happens on Windows, in the context of 'R CMD build' or 'R CMD check', and if the browser is not already running.

4) Unlike on Linux or Mac where utils::browseURL() uses system() to fire up the browser, on Windows it uses shell.exec() to open the URL. Note that shell.exec() relies on the Windows File Associations to find the right application to open the file or URL. See ?shell.exec.

So to me, everything points at a problem with shell.exec(). It would be great if someone could try to reproduce this.

Finally, note that this problem seems to have been affecting psichomics for a while based on this archived build report from last year:

  https://bioconductor.org/checkResults/3.11/bioc-LATEST/psichomics/

Best,
H.


On 11/06/2021 07:51, Nuno Agostinho wrote:
Hi Hervé,

Many thanks for your help! I modified plotSplicingEvent() to run differently in 
non-interactive R sessions. Now, it correctly prints the output in the vignette 
without opening the browser! Still, I find it weird that this issue is only a 
problem since Bioconductor 3.13 and for Windows only...

Anyway, just updated the new version in Bioconductor, let's see if it solves 
the timeout issue. Thanks again!

Best,
Nuno

On 11 Jun 2021, at 06:29, Hervé Pagès <hpages.on.git...@gmail.com> wrote:

Hi Nuno,

When I go on riesling1 and run 'R CMD build' on psichomics, the evaluation of 
the CLI_tutorial.Rmd vignette gets stuck at the call to plotSplicingEvent(). 
This call fires up the browser to display the alternate splicing event and the 
evaluation of the vignette resumes only after I shutdown the browser.

Note that, strangely enough, this doesn't happen all the time. After being able 
to reproduce this a couple of times, my further attempts failed!

One more thing: this call to plotSplicingEvent() doesn't actually inject 
anything in the final HTML vignette. Take a look at the vignette linked from 
the landing page of the package (first vignette listed at 
https://bioconductor.org/packages/3.13/psichomics) and you'll see that only the 
next plot (produced by plotDistribution()) shows up in the vignette.

That's all I was able to find out, sorry. Hopefully you'll still be able to 
somehow make some sense of this information.

Best,
H.


On 09/06/2021 07:35, Nuno Agostinho wrote:
Hey all,
I have a Bioconductor package named psichomics 
<https://bioconductor.org/packages/psichomics> that is timing out according to 
the Bioconductor R CMD build reports for Windows (both release and devel versions). 
This time out occurs after ~40 minutes while trying to create the package vignettes.
In my local Windows virtual machine (running the latest Windows 10 Enterprise 20H2 
<https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/> in VMware 
Fusion 12.1.2 using R 4.1.0 and Bioconductor 3.13), it takes ~2m30 to finish building the 
package using the same command shown in the Bioconductor build report 
<http://bioconductor.org/checkResults/release/bioc-LATEST/psichomics/tokay2-buildsrc.html>:
R.exe CMD build --keep-empty-dirs --no-resave-data psichomics
How can I replicate the environment used in Bioconductor build reports to test 
what is going on?
My package hasn't built once for Windows since the new release of Bioconductor 
3.13 and I have no idea how to solve this... Any help would be greatly 
appreciated. Thanks!
Best regards,
Nuno Agostinho
PhD student
Nuno Morais Lab
        [[alternative HTML version deleted]]
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

--
Hervé Pagès

Bioconductor Core Team
hpages.on.git...@gmail.com


--
Hervé Pagès

Bioconductor Core Team
hpages.on.git...@gmail.com

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to