[Bioc-devel] Error during CHECK on Windows (tokay1)

Matthias Döring mdoering at mpi-inf.mpg.de
Thu Mar 22 18:29:54 CET 2018


Dear Hervé,
thanks for the detailed explanation. I have, however, one question. 
Isn't this rather a problem with the Bioconductor build system than with 
the package itself? I will explain why I think so.
 From my limited understanding, it seems to me that the out file from 
running the package examples, in this case, "openPrimeR-Ex.Rout" is not 
read by R CMD check itself but only written to.
So, only after R CMD check has run, should the Bioconductor build system 
try to open the file to do some checks (I don't know what it's checking 
but apparently there is something of interest in the file).


At this point, there should be a check whether the file is available for 
reading, shouldn't there be? I took a dive into the past and found this 
comment from Martin Morgan to a person that had the same problem as I, 
which suggests my view.

http://grokbase.com/t/r/bioc-devel/11asgm4efj/development-version-of-bayseq-failing-check-on-windows-machines

So I'm not sure if adjusting the parallel execution would be a permanent 
fix that would ensure that all Bioconductor packages pass the checks 
smoothly on Windows. Maybe Martin could comment on this as well?

Kind regards
  Matthias


On 03/22/2018 05:08 PM, Hervé Pagès wrote:
> Hi Matthias,
>
> Not sure what's causing this but I just wanted to mention a couple
> of things:
>
> Even though you didn't modify your package, it can start failing
> for many reasons. The most common reason is that R or another package
> that your package depends on was modified. It turns out that a few
> days ago we updated R from 3.4.3 to 3.4.4 on the release build
> machines. Not sure that's related to the error you're seeing on
> tokay1 but this cannot completely be discarded.
>
> Unlike Unix-like system, Windows doesn't let a process open a file
> if the file is currently in use (by the same or another process).
> The "cannot open file 'foo': Permission denied" error is typically
> the result of such situation. This type of error can be hard to
> reproduce because it won't necessarily happen each time one runs
> 'R CMD check' on Windows. It only happens if one process is still
> holding on file 'foo' when another process tries to access 'foo'.
> But sometimes the process holding on 'foo' finishes a little bit
> earlier (and releases the file) or the process trying to access
> 'foo' does it a little bit later, and everything is fine.
> Because of this, troubleshooting this kind of error (called a
> race condition) can be tricky.
>
> The first thing you could do is disable parallel execution in
> your examples and see if that eliminates the issue. If you still
> see the error, then you can remove doParallel/foreach from the
> equation. If you don't see the error anymore (but you'll have
> to wait several build iterations to be sure because you could
> just be lucky that the race condition doesn't happen for a few
> days in a row), then you can fairly suspect that the problem
> has something to do with doParallel/foreach and contact the
> doParallel/foreach folks.
>
> Hope this helps,
> H.
>
>
> On 03/22/2018 07:31 AM, Matthias Döring wrote:
>> Although I didn't make any changes to my package openPrimeR, it is
>> currently not passing the checks on tokay1 due to the following error
>> while running the examples:
>>
>> * checking examples ...
>> ** running examples for arch 'i386' ...Warning in file(con, "r") :
>>     cannot open file '../openPrimeR-Ex_i386.Rout': Permission denied
>> Error in file(con, "r") : cannot open the connection
>> Execution halted
>>
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__bioconductor.org_checkResults_release_bioc-2DLATEST_openPrimeR_tokay1-2Dchecksrc.html&d=DwIDaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=HjFin7ZZwuYWdlO8wvE3KmoPwjRiq-bV_UKHWdKLLP4&m=SZhlV-e7h7S6Ndf9G2qUGp37kMZHgjDPmkvI7cCtGDA&s=eK8w8Wfg-rPx9HSrExZjtAqbHQSDmYOxNJvdltvzCTM&e= 
>>
>>
>>
>> I've just searched for this type of error and found that it can be
>> caused by the parallel backend if it isn't explicitly closed. However,
>> I'm not creating clusters manually but rather using the foreach package
>> for this purpose, so this shouldn't be the root of the problem.
>> Interestingly, there are no problems for the development version on
>> tokay2
>> (https://urldefense.proofpoint.com/v2/url?u=http-3A__bioconductor.org_checkResults_devel_bioc-2DLATEST_openPrimeR_tokay2-2Dchecksrc.html&d=DwIDaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=HjFin7ZZwuYWdlO8wvE3KmoPwjRiq-bV_UKHWdKLLP4&m=SZhlV-e7h7S6Ndf9G2qUGp37kMZHgjDPmkvI7cCtGDA&s=zAWDhUHJG5jAGFu2WUc1K_uSBXN1daXMN5VVObIUjEk&e=). 
>>
>>
>>
>>
>> Should I just ignore this problem? Any pointers?
>>
>>
>> Best
>>
>>    Matthias
>>
>

-- 
Matthias Döring
Max Planck Institute for Informatics
Campus E1 4
66123 Saarbrücken

phone:   +49 681 9325 3122
fax: +49 681 9325 3099
web: www.mpi-inf.mpg.de/~mdoering



More information about the Bioc-devel mailing list