Skip to content

gcc-UBSAN 回報錯誤 #38

@wush978

Description

@wush978

https://www.stats.ox.ac.uk/pub/bdr/memtests/gcc-UBSAN/supc/tests/test-clusterize.Rout

> r <- supc:::.get_sorted_index(numeric(0))
/data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/traits.h:46:46: runtime error: reference binding to misaligned address 0x000000000001 for type 'type', which requires 8 byte alignment
0x000000000001: note: pointer points here
<memory cannot be printed>
    #0 0x7f036bdc4f58 in Rcpp::traits::r_vector_cache<14, Rcpp::PreserveStorage>::ref(long) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/traits.h:46
    #1 0x7f036bdc4f58 in Rcpp::Vector<14, Rcpp::PreserveStorage>::operator[](long) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/Vector.h:340
    #2 0x7f036bdc4f58 in get_sorted_index(Rcpp::Vector<14, Rcpp::PreserveStorage>) /data/gannet/ripley/R/packages/tests-gcc-SAN/supc/src/clusterize.cpp:16
    #3 0x7f036bd7f9ef in _supc_get_sorted_index /data/gannet/ripley/R/packages/tests-gcc-SAN/supc/src/RcppExports.cpp:20
    #4 0x58d161 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:754
    #5 0x653b17 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8690
    #6 0x68e822 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7523
    #7 0x68f09a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167
    #8 0x694dfe in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398
    #9 0x697268 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2311
    #10 0x68f6ad in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333
    #11 0x68f6ad in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1285
    #12 0x69d4b7 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3581
    #13 0x68fad8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1237
    #14 0x714e9e in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:263
    #15 0x715511 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:315
    #16 0x715654 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1217
    #17 0x7156a2 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1224
    #18 0x41a7d8 in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29
    #19 0x7f037c62950f in __libc_start_call_main (/lib64/libc.so.6+0x2950f) (BuildId: 8257ee907646e9b057197533d1e4ac8ede7a9c5c)
    #20 0x7f037c6295c8 in __libc_start_main_alias_2 (/lib64/libc.so.6+0x295c8) (BuildId: 8257ee907646e9b057197533d1e4ac8ede7a9c5c)
    #21 0x41d034 in _start (/data/gannet/ripley/R/gcc-SAN/bin/exec/R+0x41d034) (BuildId: 56ff6b70c40a24eccf16f0ce952f5ebd85884520)

/data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/Vector.h:340:62: runtime error: reference binding to misaligned address 0x000000000001 for type 'type', which requires 8 byte alignment
0x000000000001: note: pointer points here
<memory cannot be printed>
    #0 0x7f036bdc4f44 in Rcpp::Vector<14, Rcpp::PreserveStorage>::operator[](long) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/Vector.h:340
    #1 0x7f036bdc4f44 in get_sorted_index(Rcpp::Vector<14, Rcpp::PreserveStorage>) /data/gannet/ripley/R/packages/tests-gcc-SAN/supc/src/clusterize.cpp:16
    #2 0x7f036bd7f9ef in _supc_get_sorted_index /data/gannet/ripley/R/packages/tests-gcc-SAN/supc/src/RcppExports.cpp:20
    #3 0x58d161 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:754
    #4 0x653b17 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8690
    #5 0x68e822 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7523
    #6 0x68f09a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167
    #7 0x694dfe in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398
    #8 0x697268 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2311
    #9 0x68f6ad in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333
    #10 0x68f6ad in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1285
    #11 0x69d4b7 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3581
    #12 0x68fad8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1237
    #13 0x714e9e in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:263
    #14 0x715511 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:315
    #15 0x715654 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1217
    #16 0x7156a2 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1224
    #17 0x41a7d8 in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29
    #18 0x7f037c62950f in __libc_start_call_main (/lib64/libc.so.6+0x2950f) (BuildId: 8257ee907646e9b057197533d1e4ac8ede7a9c5c)
    #19 0x7f037c6295c8 in __libc_start_main_alias_2 (/lib64/libc.so.6+0x295c8) (BuildId: 8257ee907646e9b057197533d1e4ac8ede7a9c5c)
    #20 0x41d034 in _start (/data/gannet/ripley/R/gcc-SAN/bin/exec/R+0x41d034) (BuildId: 56ff6b70c40a24eccf16f0ce952f5ebd85884520)

> stopifnot(isTRUE(all.equal(r, integer(0))))
> 
> r <- supc:::.get_inverted_index_for_sorted_index(integer(0))
/data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/traits.h:46:46: runtime error: reference binding to misaligned address 0x000000000001 for type 'type', which requires 4 byte alignment
0x000000000001: note: pointer points here
<memory cannot be printed>
    #0 0x7f036bdc32a8 in Rcpp::traits::r_vector_cache<13, Rcpp::PreserveStorage>::ref(long) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/traits.h:46
    #1 0x7f036bdc32a8 in Rcpp::Vector<13, Rcpp::PreserveStorage>::operator[](long) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/Vector.h:340
    #2 0x7f036bdc32a8 in get_inverted_index_for_sorted_index(Rcpp::Vector<13, Rcpp::PreserveStorage>) /data/gannet/ripley/R/packages/tests-gcc-SAN/supc/src/clusterize.cpp:31
    #3 0x7f036bd80e43 in _supc_get_inverted_index_for_sorted_index /data/gannet/ripley/R/packages/tests-gcc-SAN/supc/src/RcppExports.cpp:31
    #4 0x58d161 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:754
    #5 0x653b17 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8690
    #6 0x68e822 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7523
    #7 0x68f09a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167
    #8 0x694dfe in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398
    #9 0x697268 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2311
    #10 0x68f6ad in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333
    #11 0x68f6ad in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1285
    #12 0x69d4b7 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3581
    #13 0x68fad8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1237
    #14 0x714e9e in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:263
    #15 0x715511 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:315
    #16 0x715654 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1217
    #17 0x7156a2 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1224
    #18 0x41a7d8 in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29
    #19 0x7f037c62950f in __libc_start_call_main (/lib64/libc.so.6+0x2950f) (BuildId: 8257ee907646e9b057197533d1e4ac8ede7a9c5c)
    #20 0x7f037c6295c8 in __libc_start_main_alias_2 (/lib64/libc.so.6+0x295c8) (BuildId: 8257ee907646e9b057197533d1e4ac8ede7a9c5c)
    #21 0x41d034 in _start (/data/gannet/ripley/R/gcc-SAN/bin/exec/R+0x41d034) (BuildId: 56ff6b70c40a24eccf16f0ce952f5ebd85884520)

/data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/Vector.h:340:62: runtime error: reference binding to misaligned address 0x000000000001 for type 'type', which requires 4 byte alignment
0x000000000001: note: pointer points here
<memory cannot be printed>
    #0 0x7f036bdc3294 in Rcpp::Vector<13, Rcpp::PreserveStorage>::operator[](long) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/vector/Vector.h:340
    #1 0x7f036bdc3294 in get_inverted_index_for_sorted_index(Rcpp::Vector<13, Rcpp::PreserveStorage>) /data/gannet/ripley/R/packages/tests-gcc-SAN/supc/src/clusterize.cpp:31
    #2 0x7f036bd80e43 in _supc_get_inverted_index_for_sorted_index /data/gannet/ripley/R/packages/tests-gcc-SAN/supc/src/RcppExports.cpp:31
    #3 0x58d161 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:754
    #4 0x653b17 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8690
    #5 0x68e822 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7523
    #6 0x68f09a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167
    #7 0x694dfe in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398
    #8 0x697268 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2311
    #9 0x68f6ad in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333
    #10 0x68f6ad in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1285
    #11 0x69d4b7 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3581
    #12 0x68fad8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1237
    #13 0x714e9e in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:263
    #14 0x715511 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:315
    #15 0x715654 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1217
    #16 0x7156a2 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1224
    #17 0x41a7d8 in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29
    #18 0x7f037c62950f in __libc_start_call_main (/lib64/libc.so.6+0x2950f) (BuildId: 8257ee907646e9b057197533d1e4ac8ede7a9c5c)
    #19 0x7f037c6295c8 in __libc_start_main_alias_2 (/lib64/libc.so.6+0x295c8) (BuildId: 8257ee907646e9b057197533d1e4ac8ede7a9c5c)
    #20 0x41d034 in _start (/data/gannet/ripley/R/gcc-SAN/bin/exec/R+0x41d034) (BuildId: 56ff6b70c40a24eccf16f0ce952f5ebd85884520)

> stopifnot(isTRUE(all.equal(r, integer(0))))
> 

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions