I should add a more direct question. When a crash occurs ONLY when running R CMD check, how does one debug that? Usually one would say that R CMD check --use-valgrind is the answer. But it only segfaults when --use-vagrind is not used. So somehow we have to debug R CMD check itself. How?
On Sat, Jul 4, 2015 at 10:15 AM, Charles Geyer <char...@stat.umn.edu> wrote: > The diff for bar.Rout is OK. The solution is the same (the two matrices > have the same rows and so determine the same convex polyhedron). Why it > picks different orders of rows on different machines, I have no idea. > > I also saw the pages of warnings from gcc -W -Wall -Wextra but they are > all about unused variables and unused arguments of functions. AFAIK these > are not real problems. > > I should say that I did not write most of the code. This package is an R > interface to the computational geometry provided by cddlib, which is not > something linux distributions package. So in order to avoid hassle, I just > included the cddlib code (which is GPL) in the src directory and added its > author Komei Fukuda to the authors of the package. > > AFAIK this code is very high quality from a numerical analysis standpoint, > however much it may fall below the coding standards of most C coders. > Anyway it is the only free software computational geometry code I know > about, so it is the only game in town unless statisticians want to just say > "we cannot deal with problems like that". > > This code may actually segfault somewhere, but we haven't seen it in > practice unless this is its fault (rather than the 32 bit R-3.2.1 build for > Ubuntu 14.04). We still don't have a way to tell which to blame. > > I am trying to follow the debugging rules (http://debuggingrules.com/) > the most important here being "divide and conquer". Until we know where > the crash occurs, we are just clueless. > > On Sat, Jul 4, 2015 at 3:35 AM, Dirk Eddelbuettel <e...@debian.org> wrote: > >> >> Charles, >> >> I took a look based on your tar ball. When I use the normal 'loud' >> setting I >> default to for g++ (ie -pedantic -Wall) or clang++ I get more than a page >> full of errors. I just tried it using the UBSAN-via-clang instrumented R >> I >> provide via a docker container (and for which I showed usage during the >> 'rocker: Docker on R' tutorial preceding useR! -- slides now on my >> presentation page). It also does not segfault, but it shows a test >> difference: >> >> Running ‘bar.R’ >> Comparing ‘bar.Rout’ to ‘bar.Rout.save’ ...8d7 >> < >> 51,54c50,53 >> < [1,] 0 1 0 1 0 0 >> < [2,] 0 1 1 0 0 0 >> < [3,] 0 1 0 0 1 0 >> < [4,] 0 1 0 0 0 1 >> --- >> > [1,] 0 1 0 0 0 1 >> > [2,] 0 1 0 0 1 0 >> > [3,] 0 1 0 1 0 0 >> > [4,] 0 1 1 0 0 0 >> Running ‘bug2.R’ >> Comparing ‘bug2.Rout’ to ‘bug2.Rout.save’ ...8d7 >> < >> >> (You also seem to consistently differ in one newline which is just a >> nuisance >> and not an error,) >> >> So no free lunch yet. I fear you may have to minimize the package >> somewhat >> to hopefully arrive at minimally reproducible example. So far you seem to >> have a Heisenbug (https://en.wikipedia.org/wiki/Heisenbug) >> >> Sorry I cannot offer more help. >> >> Dirk >> >> -- >> http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org >> > > > > -- > Charles Geyer > Professor, School of Statistics > University of Minnesota > char...@stat.umn.edu > -- Charles Geyer Professor, School of Statistics University of Minnesota char...@stat.umn.edu [[alternative HTML version deleted]] ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel