[R-pkg-team] Bug#945244: r-cran-sf: upstream regression, unaligned access on armhf

Steve Langasek steve.langasek at canonical.com
Thu Nov 21 19:08:59 GMT 2019


Source: r-cran-sf
Version: 0.8-0+dfsg-1
Severity: serious
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu focal

Hi Andreas,

With the upload of r-cran-sf 0.8-0+dfsg-1, the autopkgtests are failing in
Ubuntu only on armhf due to a regression in alignment handling:

[...]
Attribute-geometry relationship: 0 constant, 1 aggregate, 1 identity
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: 0 ymin: 0 xmax: 1 ymax: 1
epsg (SRID):    NA
proj4string:    NA
  Group.1   a                       geometry
1       1 1.5 MULTIPOLYGON (((0 0, 1 0, 1...
> (a = aggregate(s, list(c(1,1)), mean, do_union = TRUE))
Bus error (core dumped)
autopkgtest [11:32:17]: test run-unit-test: -----------------------]
[...]

  (https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/armhf/r/r-cran-sf/20191109_113707_4303b@/log.gz)

Since Debian only runs autopkgtests on amd64, this did not block migration
of the new version of the package to Debian testing; nevertheless this is a
serious failure of the package on armhf.  I have grabbed a backtrace which
points to a problem in r-cran-sf itself, not in any of its dependencies:

Program received signal SIGBUS, Bus error.
0xf47431cc in wkb_read<double> (wkb=<optimized out>, wkb=<optimized out>)
    at wkb.cpp:201
201				double d = wkb_read<double>(wkb);
(gdb) bt
#0  0xf47431cc in wkb_read<double> (wkb=<optimized out>, wkb=<optimized out>)
    at wkb.cpp:201
#1  read_numeric_matrix (wkb=wkb at entry=0xfffe7ddc, n_dims=n_dims at entry=2, 
    swap=swap at entry=false, cls=..., empty=empty at entry=0x0) at wkb.cpp:201
#2  0xf47434b0 in read_matrix_list (wkb=wkb at entry=0xfffe7ddc, 
    n_dims=n_dims at entry=2, swap=swap at entry=false, cls=..., 
    empty=empty at entry=0xfffe7d27) at /usr/include/c++/9/ext/new_allocator.h:89
#3  0xf474430c in read_data (wkb=wkb at entry=0xfffe7ddc, EWKB=EWKB at entry=true, 
    spatialite=spatialite at entry=false, endian=endian at entry=1, 
    addclass=addclass at entry=true, type=type at entry=0xfffe7dd4, 
    srid=srid at entry=0xfffe7dd8)
    at /usr/lib/R/site-library/Rcpp/include/Rcpp/vector/generic_proxy.h:37
#4  0xf474590a in CPL_read_wkb (wkb_list=..., EWKB=EWKB at entry=true, 
    spatialite=spatialite at entry=false)
    at /usr/lib/R/site-library/Rcpp/include/Rcpp/vector/generic_proxy.h:37
#5  0xf472d5da in sfc_from_geometry(GEOSContextHandle_HS*, std::vector<std::unique_ptr<GEOSGeom_t, std::function<void (GEOSGeom_t*)> >, std::allocator<std::unique_ptr<GEOSGeom_t, std::function<void (GEOSGeom_t*)> > > >&, int, bool) (
    hGEOSCtxt=hGEOSCtxt at entry=0x2154c48, 
    geom=std::vector of length 1, capacity 1 = {...}, dim=<optimized out>, 
    free=free at entry=true)
    at /usr/lib/R/site-library/Rcpp/include/Rcpp/vector/traits.h:65
#6  0xf472f542 in CPL_geos_union (sfc=..., by_feature=<optimized out>)
    at geos.cpp:600
#7  0xf47100d8 in _sf_CPL_geos_union (sfcSEXP=0x1f0d988, 
    by_featureSEXP=0x419568)
    at /usr/lib/R/site-library/Rcpp/include/Rcpp/as.h:151
#8  0xf7ce238c in ?? () from /usr/lib/R/lib/libR.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/r-pkg-team/attachments/20191121/67df6b93/attachment.sig>


More information about the R-pkg-team mailing list