[Rd] Very hard to reproduce bug (?) in R-devel

Dirk Eddelbuettel edd at debian.org
Wed Apr 5 23:32:04 CEST 2017


On 5 April 2017 at 15:46, Winston Chang wrote:
| On Wed, Apr 5, 2017 at 2:24 PM, Robert McGehee <rmcgehee at walleyetrading.net>
| wrote:
| 
| > Winston,
| > I had a similar experience to you tracking down an insanely difficult bug
| > in my R code that "disappeared" whenever slight changes were made to the
| > script (e.g. like adding cat() statements). In my case, it coincided with
| > my over-eager compilation of R and its library stack, as I was also
| > experimenting with a cutting edge version of the gcc compiler as well as
| > what I thought were innocuous performance enhancing CFLAGS like -O3/-Ofast
| > -march=native. After downgrading gcc and recompiling everything (R and
| > BLAS) without the extra flags, the problem went away. Not saying this is
| > your problem, just sharing my similar experience.
| >
| >
| Thanks Robert. I'm glad that I'm not the only one who's encountered an
| issue like this. "Insanely difficult" is an apt description. :)
| 
| I've been using the rocker/r-devel for testing. It compiles R with the
| following CFLAGS:
|   -g -O2 -fdebug-prefix-map=/build/r-base-3.3.3=. -fstack-protector-strong
| -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
| It looks like it gets those settings from running R CMD config CFLAGS with
| the already-installed version of R (3.3.3) which comes from a .deb package.
|   https://github.com/rocker-org/rocker/blob/master/r-devel/Dockerfile#L76

That's a Debian default a Policy-conforming offical package must use.

For Docker you get these from the (prebuild) .deb package, you get it when
you do r-devel by hand as they come back in via R CMD CONFIG:

  https://github.com/rocker-org/rocker/blob/master/r-devel/Dockerfile#L76-L77

You could undo those two lines / set CFLAGS and CXXFLAGS by hand.
 
| I've also compiled R (again, in Docker) and tested with that, and gotten
| the same results. It basically uses just `./configure
| --without-recommended-packages`
| and then `make`.

Then these options should not come in.  But are you saying that the Heisenbug
behaviour happens irrespective of the compilation flags?

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org



More information about the R-devel mailing list