[Bioc-devel] is it possible to disable i386 builds on bioconductor
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