Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign updplyr::arrange causes R to crash #2308
Comments
|
FYI, this does not happen for me: library(dplyr)
# Attaching package: 'dplyr'
# The following objects are masked from 'package:stats':
# filter, lag
# The following objects are masked from 'package:base':
# intersect, setdiff, setequal, union
d <- data.frame(a = runif(10))
arrange(d, a, Dud)
# Error in arrange_impl(.data, dots) : binding not found: 'Dud'
sessionInfo()
# R version 3.3.1 (2016-06-21)
# Platform: x86_64-w64-mingw32/x64 (64-bit)
# Running under: Windows 10 x64 (build 14393)
# locale:
# [1] LC_COLLATE=English_United States.1252
# [2] LC_CTYPE=English_United States.1252
# [3] LC_MONETARY=English_United States.1252
# [4] LC_NUMERIC=C
# [5] LC_TIME=English_United States.1252
# attached base packages:
# [1] stats graphics grDevices utils datasets methods base
# other attached packages:
# [1] dplyr_0.5.0.9000 r2_0.4.23
# loaded via a namespace (and not attached):
# [1] Rcpp_0.12.8 digest_0.6.10 rprojroot_1.1 assertthat_0.1
# [5] R6_2.2.0 DBI_0.5-13 backports_1.0.4 magrittr_1.5
# [9] evaluate_0.10 stringi_1.1.2 lazyeval_0.2.0 rmarkdown_1.2
# [13] tools_3.3.1 stringr_1.1.0 compiler_3.3.1 htmltools_0.3.5
# [17] knitr_1.15.1 tibble_1.2 (I know the OP is on linux, R-3.3.2, and dplyr-0.5.0, just thought I'd add perspective.) |
|
Thanks. I couldn't replicate this on Linux either. But I see something strange happening in a vanilla R session with valgrind enabled:
Could you please run: R --vanilla --debugger=valgrind -e 'library(dplyr); d <- data.frame(a = runif(10)); arrange(d, a, Dud)' |
|
The error still occurs and the output from the command you requested, namely
R --vanilla --debugger=valgrind -e 'library(dplyr); d <- data.frame(a
= runif(10)); arrange(d, a, Dud)'
is attached.
I hope this is not peculiar to my system. That would be doubly troubling.
Bill Venables.
On 15 December 2016 at 23:59, Kirill Müller ***@***.***> wrote:
Thanks. I couldn't replicate this on Linux either. But I see something
strange happening in a vanilla R session with valgrind enabled:
==15136== Source and destination overlap in memcpy_chk(0x530d404, 0x530d400, 53)
==15136== at 0x4C34467: __memcpy_chk (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15136== by 0x4F28951: memmove (string3.h:59)
==15136== by 0x4F28951: R_ConciseTraceback.constprop.8 (errors.c:1384)
==15136== by 0x4F29666: verrorcall_dflt (errors.c:684)
==15136== by 0x4F2D60A: errorcall_dflt.constprop.6 (errors.c:712)
==15136== by 0x4F2D67E: do_dfltStop (errors.c:1734)
==15136== by 0x4F39DC0: bcEval (eval.c:5658)
==15136== by 0x4F4499F: Rf_eval (eval.c:616)
==15136== by 0x4F4661C: Rf_applyClosure (eval.c:1135)
==15136== by 0x4F44B2C: Rf_eval (eval.c:732)
==15136== by 0x23A548D1: dplyr_arrange_impl (RcppExports.cpp:67)
==15136== by 0x4F09733: do_dotcall (dotcode.c:1251)
==15136== by 0x4F44F5E: Rf_eval (eval.c:713)
==15136==
Could you please run:
R --vanilla --debugger=valgrind -e 'library(dplyr); d <- data.frame(a = runif(10)); arrange(d, a, Dud)'
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2308 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/APNi6WkgDTsv54gOuzUw9XLuR04BJoO8ks5rIUfRgaJpZM4LJ1v9>
.
--
Bill Venables,
Honorary Research Fellow, CSIRO Data61,
Ecosciences Precinct,
Dutton Park, Qld, 4102
Australia.
ven037@cybertron-U-dp:~/Documents$ R --vanilla --debugger=valgrind -e 'library(dplyr); d <- data.frame(a = runif(10)); arrange(d, a, Dud)'
==5854== Memcheck, a memory error detector
==5854== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==5854== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==5854== Command: /usr/lib/R/bin/exec/R --quiet --vanilla -e library(dplyr);~+~d~+~\<-~+~data.frame(a~+~=~+~runif(10));~+~arrange(d,~+~a,~+~Dud)
==5854==
library(dplyr); d <- data.frame(a = runif(10)); arrange(d, a, Dud)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
==5854== Invalid read of size 1
==5854== at 0x4C30F74: strlen (vg_replace_strmem.c:454)
==5854== by 0x16792807: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x16792DA0: __cxa_demangle (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C052C: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:125)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== Address 0x15bc5c30 is 0 bytes after a block of size 2,544 alloc'd
==5854== at 0x4C2DB8F: malloc (vg_replace_malloc.c:299)
==5854== by 0x4F735AC: Rf_allocVector3 (in /usr/lib/R/lib/libR.so)
==5854== by 0x4EA6AA1: PutRNGstate (in /usr/lib/R/lib/libR.so)
==5854== by 0x164C02F8: Rcpp::internal::exitRNGScope() (api.cpp:72)
==5854== by 0x1712119B: ~RNGScope (random.h:30)
==5854== by 0x1712119B: dplyr_arrange_impl (RcppExports.cpp:58)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x16819382: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x16819040: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x168193DE: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x16819045: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x168193DE: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x1681904D: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x168193DE: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C2E09C: operator new(unsigned long) (vg_replace_malloc.c:333)
==5854== by 0x168193DE: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x16819387: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x168193B8: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C324A3: is_overlap (vg_replace_strmem.c:128)
==5854== by 0x4C324A3: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C324BD: is_overlap (vg_replace_strmem.c:137)
==5854== by 0x4C324BD: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C3277C: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C3251E: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C3252F: is_overlap (vg_replace_strmem.c:137)
==5854== by 0x4C3252F: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C32545: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C32678: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C326F5: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Use of uninitialised value of size 8
==5854== at 0x4C32758: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Use of uninitialised value of size 8
==5854== at 0x4C3275B: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
==5854== Conditional jump or move depends on uninitialised value(s)
==5854== at 0x4C32766: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854== by 0x168193C1: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
==5854== by 0x164C058A: assign (basic_string.h:1095)
==5854== by 0x164C058A: operator= (basic_string.h:551)
==5854== by 0x164C058A: demangle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (api.cpp:130)
==5854== by 0x17122B24: demangle (routines.h:137)
==5854== by 0x17122B24: exception_to_r_condition(std::exception const&) (exceptions.h:164)
==5854== by 0x171211CB: dplyr_arrange_impl (RcppExports.cpp:63)
==5854== by 0x4F0A57F: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F4272E: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F42520: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F43DDC: Rf_applyClosure (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F422FC: Rf_eval (in /usr/lib/R/lib/libR.so)
==5854== by 0x4F44E47: ??? (in /usr/lib/R/lib/libR.so)
==5854==
*** caught segfault ***
address 0x50da000, cause 'invalid permissions'
Traceback:
1: .Call("dplyr_arrange_impl", PACKAGE = "dplyr", data, dots)
2: arrange_impl(.data, dots)
3: arrange_.tbl_df(tbl_df(.data), .dots = dots)
4: arrange_(tbl_df(.data), .dots = dots)
5: as.data.frame(arrange_(tbl_df(.data), .dots = dots))
6: arrange_.data.frame(.data, .dots = lazyeval::lazy_dots(...))
7: arrange_(.data, .dots = lazyeval::lazy_dots(...))
8: arrange(d, a, Dud)
An irrecoverable exception occurred. R is aborting now ...
==5854==
==5854== Process terminating with default action of signal 11 (SIGSEGV)
==5854== at 0x5464269: raise (pt-raise.c:35)
==5854== by 0x546438F: ??? (in /lib/x86_64-linux-gnu/libpthread-2.23.so)
==5854== by 0x4C32757: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1018)
==5854==
==5854== HEAP SUMMARY:
==5854== in use at exit: 120,173,520 bytes in 18,067 blocks
==5854== total heap usage: 50,196 allocs, 32,129 frees, 163,206,495 bytes allocated
==5854==
==5854== LEAK SUMMARY:
==5854== definitely lost: 44 bytes in 1 blocks
==5854== indirectly lost: 0 bytes in 0 blocks
==5854== possibly lost: 1,055 bytes in 5 blocks
==5854== still reachable: 120,172,421 bytes in 18,061 blocks
==5854== of which reachable via heuristic:
==5854== stdstring : 47 bytes in 1 blocks
==5854== suppressed: 0 bytes in 0 blocks
==5854== Rerun with --leak-check=full to see details of leaked memory
==5854==
==5854== For counts of detected and suppressed errors, rerun with: -v
==5854== Use --track-origins=yes to see where uninitialised values come from
==5854== ERROR SUMMARY: 1153669 errors from 19 contexts (suppressed: 0 from 0)
Killed
ven037@cybertron-U-dp:~/Documents$
|
|
Thanks. Could you please try Rcpp from GitHub and/or Rcpp 0.12.7 from the archives? |
|
I first installed RcppCore/Rcpp from github which is Rcpp 0.12.8.2
The result was the same as for Rcpp 0.12.8 which I was using before.
Then I installed Rcpp 0.12.7 from the archives.
The first time I tried the same command - it worked. (As it happens this
was through RStudio, if that matters).
On all subsequent times, however, it has led to the same R barf, regardless
of whether done as R --vanilla from a terminal or through RStudio.
The issues seems to be intermittent, which looks nasty to me.
I can supply valgrind output if that would be of any help.
Bill Venables.
…On 16 December 2016 at 10:11, Kirill Müller ***@***.***> wrote:
Thanks. Could you please try Rcpp from GitHub and/or Rcpp 0.12.7 from the
archives?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2308 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/APNi6dLxj96ejjrEE_jSLd0xQ4olkujAks5rIdcggaJpZM4LJ1v9>
.
--
Bill Venables,
Honorary Research Fellow, CSIRO Data61,
Ecosciences Precinct,
Dutton Park, Qld, 4102
Australia.
|
|
Thanks. I assume all If that fails, could you please post valgrind output for 0.12.8.2? I'm still pretty sure it's an Rcpp issue, but the valgrind output will be helpful anyway. |
|
Note that you likely need to re-install both Rcpp and dplyr; ie, you want to rebuild dplyr against the updated Rcpp sources. |
|
Kevin and Kirill,
I am now on my home computer. The problem was first noted on my work
computer. Both home and work machines are dual boot Linux/Ubuntu 16.04 and
Windows machines. Here is a short record of what I have done on my home
Linux machine
* I checked that it produced the same bug as I had noticed on the work
machine. It did.
* I installed Rcpp 0.12.8.2 from the Github repository.
* I then re-installed dplyr so as to build it against Rcpp 0.12.8.2. (I
had not done this before...)
* I checked for the bug again - it did not occur.
* I re-checked using the one-liner you sent before, namely
R --vanilla --debugger=valgrind -e 'library(dplyr); d <- data.frame(a
= runif(10)); arrange(d, a, Dud)'
and it also worked OK.
It would appear the problem did lie with Rcpp and has been fixed in the
Github version.
Thanks, and do have a good Christmas.
Bill Venables.
…On 16 December 2016 at 11:37, Kevin Ushey ***@***.***> wrote:
Note that you likely need to re-install both Rcpp and dplyr; ie, you want
to rebuild dplyr against the updated Rcpp sources.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2308 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/APNi6SiU_KWaHk__8tTf3niiZf4bvHvQks5rIetUgaJpZM4LJ1v9>
.
--
Bill Venables,
Honorary Research Fellow, CSIRO Data61,
Ecosciences Precinct,
Dutton Park, Qld, 4102
Australia.
|
|
Thanks, to Bill for your patience, and to Kevin for the hint. I've brought R's lack of warnings here to R-devel, we'll see. |
If you include in arrange() the name of a non-existent column on which to sort it can cause R itself to crash.
Here is an example.