[Bioc-devel] is it possible to disable i386 builds on bioconductor

Martin Morgan mtmorg@n@b|oc @end|ng |rom gm@||@com
Mon Feb 8 18:54:05 CET 2021

It's likely failing because your package has C source code that accesses memory in an invalid way. Likely the bug is present on all platforms, but only apparent, for the tests you have written, on Windows. The right thing to do is to fix the bug, rather than avoid by not running on the troublesome platform.

Under Linux you'd likely have success with valgrind or UBSAN; if you were reasonably confident that the package occurred in unit tests, and you have a script to run the unit tests run_tests.R then something like

  R -d valgrind -f run_tests.R

may be productive. valgrind is slow so it pays to narrow the problem down as much as possible.


On 2/8/21, 12:43 PM, "Bioc-devel on behalf of Kevin Horan" <bioc-devel-bounces using r-project.org on behalf of khoran using cs.ucr.edu> wrote:

         I have a package which randomly segfaults when running my unit 
    tests only on windows i386, but never on x64, or any other OS. I can't 
    imagine there are many out there still running i386 systems are there? 
    Is it possible to just disable the i386 build on bioconductor so that 
    the tests are not run on that architecture?

         I have of course done my best to debug the issue, but all I get is 
    an error in some nt dll file, with no useful message or location. I'm I 
    Linux guy, I don't know how to do the in-depth debugging that would be 
    required to track this bug down on windows. I tried disabling each test 
    one by one to see which one caused the crash, but as is typical with 
    segfaults, changing the setup can mask the bug even when the bad code is 
    still be executed. Each test runs fine in isolation.



    Bioc-devel using r-project.org mailing list

More information about the Bioc-devel mailing list