-
Notifications
You must be signed in to change notification settings - Fork 2.1k
dplyr::arrange causes R to crash #2308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
The text was updated successfully, but these errors were encountered: