Bug 15963 - R 3.1.1 core during make check on ppc64 archi
Summary: R 3.1.1 core during make check on ppc64 archi
Status: NEW
Alias: None
Product: R
Classification: Unclassified
Component: System-specific (show other bugs)
Version: R 3.1.1
Hardware: PowerPC Linux
: P3 blocker
Assignee: R-core
URL:
Depends on:
Blocks:
 
Reported: 2014-09-04 09:32 UTC by michelmno
Modified: 2015-04-02 12:18 UTC (History)
1 user (show)

See Also:


Attachments
R_gdb_core_backtrace.log.tgz (54.68 KB, application/octet-stream)
2014-09-04 09:35 UTC, michelmno
Details
accepting numbers in case of charecters (deleted)
2015-04-02 11:49 UTC, lavanya patnaik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description michelmno 2014-09-04 09:32:01 UTC
The new 3.1.1 release build failed on fedora koji for ppc64 archi as reported in 
http://ppc.koji.fedoraproject.org/kojifiles/work/tasks/7552/2067552/build.log

There is a redhat bug already reported at https://bugzilla.redhat.com/show_bug.cgi?id=1136388 from which following info are extracted.
===
<mock-chroot>[root@normand2 tests]# ulimit -c unlimited
<mock-chroot>[root@normand2 tests]# ../bin/R --vanilla < ok-errors.R >xx 2>&1
Segmentation fault (core dumped)
===

the attached R_gdb_core_backtrace.log show that core is a concequence of the infinit loop in eval.c that is detected but seems not handled properly.
===
Core was generated by `/builddir/build/BUILD/R-3.1.1/bin/exec/R --vanilla '.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00003fff7980bd24 in RunGenCollect (size_needed=1) at memory.c:1571
1571                    FORWARD_CHILDREN(s);
Missing separate debuginfos, use: debuginfo-install blas-3.4.2-7.fc20.ppc64 bzip2-libs-1.0.6-9.fc20.ppc64p7 glibc-2.18-14.fc20.ppc64 lapack-3.4.2-7.fc20.ppc64 libgcc-4.8.3-1.fc20.ppc64 libgfortran-4.8.3-1.fc20.ppc64 libgomp-4.8.3-1.fc20.ppc64 libicu-50.1.2-10.fc20.ppc64 libstdc++-4.8.3-1.fc20.ppc64 ncurses-libs-5.9-12.20130511.fc20.ppc64 pcre-8.33-6.fc20.ppc64p7 readline-6.2-10.fc20.ppc64 xz-libs-5.1.2-12alpha.fc20.ppc64p7 zlib-1.2.8-3.fc20.ppc64p7
(gdb) bt
#0  0x00003fff7980bd24 in RunGenCollect (size_needed=1) at memory.c:1571
#1  R_gc_internal (size_needed=size_needed@entry=1) at memory.c:2840
#2  0x00003fff7980f918 in Rf_allocVector3 (type=<optimized out>, length=1, allocator=<optimized out>) at memory.c:2578
#3  0x00003fff7977d604 in Rf_allocVector (length=<error reading variable: value has been optimized out>, type=16) at ../../src/include/Rinlinedfuns.h:189
#4  deparse1WithCutoff (call=0x1003732f878, abbrev=<optimized out>, cutoff=<optimized out>, backtick=<optimized out>, opts=<optimized out>, nlines=<optimized out>) at deparse.c:230
#5  0x00003fff797b1e30 in R_GetTraceback (skip=skip@entry=0) at errors.c:1350
...
#9102 0x00003fff797cbfa4 in Rf_eval (e=0x1003732faa8, rho=0x1003730c7a8) at eval.c:629
#9103 0x00003fff797cdadc in Rf_applyClosure (call=<optimized out>, op=<optimized out>, arglist=0x10036298888, rho=<optimized out>, suppliedenv=0x100362cb548) at eval.c:1044
#9104 0x00003fff797cbd44 in Rf_eval (e=0x1003732f878, rho=0x1003732f450) at eval.c:676
#9105 0x00003fff797cf47c in do_begin (call=0x1003732faa8, op=0x100362a4120, args=0x1003732f840, rho=0x1003732f450) at eval.c:1633
#9106 0x00003fff797cbfa4 in Rf_eval (e=0x1003732faa8, rho=0x1003732f450) at eval.c:629
#9107 0x00003fff797cdadc in Rf_applyClosure (call=<optimized out>, op=<optimized out>, arglist=0x10036298888, rho=<optimized out>, suppliedenv=0x100362cb548) at eval.c:1044
#9108 0x00003fff797cbd44 in Rf_eval (e=0x1003732f4f8, rho=0x100362cb510) at eval.c:676
#9109 0x00003fff798034d4 in Rf_ReplIteration (rho=0x100362cb510, savestack=<optimized out>, browselevel=<optimized out>, state=0x3fffd16afb50) at main.c:260
===
Comment 1 michelmno 2014-09-04 09:35:44 UTC
Created attachment 1654 [details]
R_gdb_core_backtrace.log.tgz
Comment 2 michelmno 2014-09-12 16:17:23 UTC
I forgot to give the stdout/stderr output of the failing command, I am appending below.
Is there anybody that could help me analysing this test failure ?

===
<mock-chroot>[root@normand2 tests]# ../bin/R --vanilla < ok-errors.R >xx 2>&1
<mock-chroot>[root@normand2 tests]# cat xx
R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: powerpc64-redhat-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> #### STRICT test suite in the spirit of no-segfaults,
> #### but with explicit statements.
> 
> options(error=expression(NULL))
> stop("test of `options(error=expression(NULL))'")
Error: test of `options(error=expression(NULL))'
> 
> if(FALSE) {
+ ## these ought to work on machines with enough memory
+ ## These segfaulted in 1.3.x ,  give "could not allocate" errors now
+   integer(2^30+1)
+    double(2^30+1)
+   complex(2^30+1)
+ character(2^30+1)
+ vector("list", 2^30+2)
+ }
> 
> ## bad infinite recursion / on.exit / ... interactions
> bar <- function() 1+1
> foo <- function() { on.exit(bar()); foo() }
> foo() # now simple "infinite recursion"
Error: C stack usage  7969908 is too close to the limit 
Error: C stack usage  7998172 is too close to the limit
Error: C stack usage  8026412 is too close to the limit 
Error: C stack usage  8054652 is too close to the limit 
Error: C stack usage  8082892 is too close to the limit
Error: C stack usage  8111132 is too close to the limit
Error: C stack usage  8139372 is too close to the limit
Error: C stack usage  8167612 is too close to the limit 
Error: C stack usage  8195852 is too close to the limit 
Error: C stack usage  8224092 is too close to the limit
Error: C stack usage  8252332 is too close to the limit
Error: segfault from C stack overflow
Error: C stack usage  69268572298236 is too close to the limit
Error: C stack usage  69268572326476 is too close to the limit
Error: C stack usage  69268572354716 is too close to the limit
Error: C stack usage  69268572382956 is too close to the limit
Error: C stack usage  69268572411196 is too close to the limit
===
Comment 3 lavanya patnaik 2015-04-02 11:49:20 UTC
Created attachment 1765 [details]
accepting numbers in case of charecters
Comment 4 Martyn Plummer 2015-04-02 12:18:53 UTC
The content of attachment 1765 [details] has been deleted for the following reason:

Spam