[R] Fwd: Package PCMBaseCpp stops the R process on Fedora-clang

Venelin Mitov vm|tov @end|ng |rom gm@||@com
Sun Mar 22 13:21:03 CET 2020


Dear R-help-list,

In an e-mail received yesterday from a member of the CRAN maintainer
team, I was informed that the
package PCMBaseCpp (https://CRAN.R-project.org/package=PCMBaseCpp)
is going to be removed from CRAN on April 4th,
due to an R-process crash during unit-tests on the fedora-clang
flavour. The problem is the following:

1. All PCMBaseCpp unit-tests pass on all CRAN flavours except
r-devel-linux-x86_64-fedora-clang.
2. Running devtools::check_rhub(): succeeds on all platforms including
fedora-clang. Hence, I've no way to reproduce the error.
3. The line of code that is causing a segfault error and a crash of
the R-process is a call to the
std::logic_error() constructor. This line of code is found in the package's file
src/QuadraticPoly.h:

throw logic_error(oss.str());

4. However, throwing the above exception is the correct behaviour - the
exception is intercepted (caught) at a higher functional level of the
PCMBaseCpp package, where it is correctly handled. The same line of code is
executed without problem on all other flavours.

5. Hence, my question is why std::logic_error(oss.str()) is
throwing a memory allocation exception on this specific flavour on
CRAN?

I couldn't find anywhere in the R extension manual a text stating that
it was illegal to create std::logic_error objects in C++ code. The
fact that the same code is passing on all other flavours including
rhub's fedora-clang suggests that this might be a local problem in the
fedora-clang test environment on CRAN.

Any advice on how I should proceed to prevent the package getting
removed from CRAN?

Best regards,
Venelin MITOV



More information about the R-help mailing list