[R] SegFault when trying to install an inhouse package

Duncan Murdoch murdoch.duncan at gmail.com
Thu Jul 28 14:12:13 CEST 2016


On 28/07/2016 7:19 AM, Joanne Thomas wrote:
> Hi,
>
> Apologies if something similar has come up but I have been unable to find it in the archive.
>
> The company I work for has an issue with a package they've developed called ESVP. This is dependent on OpenSM, which I'm told is already somewhat delicate with respect to calls on rJava. When trying to install ESVP on a number of Scientific Linux 7.2 servers (with R 3.3.0), I get the following results:
>
> > install.packages("/data/Jupiter/GFES/Packages/ESVP_1.2.2.tar.gz", repo=NULL, type="source")
>   Installing package into ‘/home/joannethomas at jbanorthwest.co.uk/R/x86_64-redhat-linux-gnu-library/3.3’
> (as ‘lib’ is unspecified)
>   * installing *source* package ‘ESVP’ ...
>   ** libs
>   g++ -m64 -I/usr/include/R -DNDEBUG  -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include"   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c GreatCircleDistances.cpp -o GreatCircleDistances.o
>   g++ -m64 -I/usr/include/R -DNDEBUG  -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include"   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c RcppExports.cpp -o RcppExports.o
>   g++ -m64 -shared -L/usr/lib64/R/lib -Wl,-z,relro -o ESVP.so GreatCircleDistances.o RcppExports.o -L/usr/lib64/R/lib -lR
>   installing to /home/joannethomas at jbanorthwest.co.uk/R/x86_64-redhat-linux-gnu-library/3.3/ESVP/libs
>   ** R
>   ** preparing package for lazy loading
>   Warning in rgl.init(initValue, onlyNULL) :
>     RGL: unable to open X11 display
>   Warning: 'rgl_init' failed, running with rgl.useNULL = TRUE
>   /usr/lib64/R/bin/INSTALL: line 34: 51703 Done                    echo 'tools:::.install_packages()'
>        51704 Segmentation fault      (core dumped) | R_DEFAULT_PACKAGES= LC_COLLATE=C "${R_HOME}/bin/R" $myArgs --slave --args ${args}
>   Warning in install.packages :
>     installation of package ‘/data/Jupiter/GFES/Packages/ESVP_1.2.2.tar.gz’ had non-zero exit status
>
> We also have some servers running R 3.2.3, the package installs, although the X11 warning also occurs:
>
> > install.packages("/data/GFES/Packages/ESVP_1.2.2.tar.gz", repo=NULL, type="source")
>   Installing package into ‘/home/jbanorthwest.co.uk/joannethomas/R/x86_64-redhat-linux-gnu-library/3.2’
> (as ‘lib’ is unspecified)
>   * installing *source* package ‘ESVP’ ...
>   ** libs
>   g++ -m64 -I/usr/include/R -DNDEBUG  -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include"   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c GreatCircleDistances.cpp -o GreatCircleDistances.o
>   g++ -m64 -I/usr/include/R -DNDEBUG  -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include"   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c RcppExports.cpp -o RcppExports.o
>   g++ -m64 -shared -L/usr/lib64/R/lib -Wl,-z,relro -o ESVP.so GreatCircleDistances.o RcppExports.o -L/usr/lib64/R/lib -lR
>   installing to /home/jbanorthwest.co.uk/joannethomas/R/x86_64-redhat-linux-gnu-library/3.2/ESVP/libs
>   ** R
>   ** preparing package for lazy loading
>   Note: the specification for S3 class “family” in package ‘MatrixModels’ seems equivalent to one from package ‘lme4’: not turning on duplicate class definitions for this class.
>   No protocol specified
>   Warning in rgl.init(initValue, onlyNULL) :
>     RGL: unable to open X11 display
>   Warning: 'rgl_init' failed, running with rgl.useNULL = TRUE
>   ** help
>   *** installing help indices
>     converting help for package ‘ESVP’
>      finding HTML links ... done
>       CheckContinuity                         html
>       CheckEventDur                           html
>       CheckEventFreq                          html
>       CheckEventSeas                          html
>       CheckEventSpCov                         html
>       CheckEventWaitTime                      html
>       CheckMarDistr                           html
>       CheckMaxInt                             html
>       CheckMaxRp                              html
>       CheckNumExceed                          html
>       CheckPairDep                            html
>       CheckRrm                                html
>       CheckRrmAtt                             html
>       CheckRrmFit                             html
>       CheckTailDep                            html
>       CheckTcDist                             html
>       CheckTcLife                             html
>       CheckTcSpDistr                          html
>       CheckTcTrack                            html
>       CheckTimeSeries                         html
>       CheckTrigDens                           html
>       ESVP                                    html
>       PlotCatchment                           html
>       PlotNearestNeighbours                   html
>       PlotTransProb                           html
>       RunAll                                  html
>       VerifyEventDef                          html
>   ** building package indices
>   ** testing if installed package can be loaded
>   Note: the specification for S3 class “family” in package ‘MatrixModels’ seems equivalent to one from package ‘lme4’: not turning on duplicate class definitions for this class.
>   No protocol specified
>   Warning in rgl.init(initValue, onlyNULL) :
>     RGL: unable to open X11 display
>   Warning: 'rgl_init' failed, running with rgl.useNULL = TRUE
>   * DONE (ESVP)
>
> Aside from R, installed Linux packages are the same versions and the library of R packages is identical.
>
> Does anyone have any suggestions on what is causing the segfault (a jump to an invalid memory address).

You can avoid the rgl.init problems by setting the environment variable 
RGL_USE_NULL to TRUE before running anything.  That should help on your 
3.2.3 servers.  It's possible that the segfault on the other system is 
related, but I'd guess it's something else.  Tracking down segfaults can 
be hard:  you'll need to understand how to look at the core dump, and do 
some low level debugging.

Duncan Murdoch
> Thanks,
> Jo
>
>>
> Find out more about us here: www.jbarisk.com<http://www.jbarisk.com/> and follow us on Twitter @JBARisk<http://twitter.com/JBARisk> and LinkedIn<https://www.linkedin.com/company/2370847?trk=tyah&trkInfo=clickedVertical%3Acompany%2CclickedEntityId%3A2370847%2Cidx%3A2-1-2%2CtarId%3A1447414259786%2Ctas%3AJBA%20RISK%20MANAGEMENT>
>
> The JBA Group supports the JBA Trust.
>
> All JBA Risk Management's email messages contain confidential information and are intended only for the individual(s) named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail.
> Please notify the sender immediately by email if you have received this email by mistake and delete this email from your system.
>
>
> JBA Risk Management Limited is registered in England, company number 07732946, South Barn, Broughton Hall, Skipton, North Yorkshire, BD23 3AE, Telephone: +441756799919
>
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list