* using log directory ‘/home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck’ * using R Under development (unstable) (2026-01-25 r89330) * using platform: x86_64-pc-linux-gnu * R was compiled by gcc-15 (Debian 15.2.0-12) 15.2.0 GNU Fortran (Debian 15.2.0-12) 15.2.0 * running under: Debian GNU/Linux forky/sid * using session charset: UTF-8 * checking for file ‘OptimalBinningWoE/DESCRIPTION’ ... OK * checking extension type ... Package * this is package ‘OptimalBinningWoE’ version ‘1.0.5’ * package encoding: UTF-8 * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘OptimalBinningWoE’ can be installed ... [11m/11m] OK * used C++ compiler: ‘g++-15 (Debian 15.2.0-12) 15.2.0’ * checking C++ specification ... INFO specified C++17 * checking package directory ... OK * checking for future file timestamps ... OK * checking ‘build’ directory ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... [7s/7s] OK * checking whether the package can be loaded with stated dependencies ... [6s/6s] OK * checking whether the package can be unloaded cleanly ... [6s/6s] OK * checking whether the namespace can be loaded with stated dependencies ... [6s/6s] OK * checking whether the namespace can be unloaded cleanly ... [7s/7s] OK * checking loading without being on the library search path ... [8s/8s] OK * checking use of S3 registration ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... [50s/50s] OK * checking Rd files ... [4s/4s] OK * checking Rd metadata ... OK * checking Rd line widths ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking line endings in C/C++/Fortran sources/headers ... OK * checking line endings in Makefiles ... OK * checking compilation flags in Makevars ... OK * checking for GNU extensions in Makefiles ... OK * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK * checking use of PKG_*FLAGS in Makefiles ... OK * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK * checking pragmas in C/C++ headers and code ... OK * checking compilation flags used ... OK * checking compiled code ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK * checking examples ... [18s/18s] ERROR Running examples in ‘OptimalBinningWoE-Ex.R’ failed The error most likely occurred in: > base::assign(".ptime", proc.time(), pos = "CheckExEnv") > ### Name: ob_numerical_cm > ### Title: Optimal Binning for Numerical Variables using Enhanced ChiMerge > ### Algorithm > ### Aliases: ob_numerical_cm > > ### ** Examples > > # Example 1: Standard ChiMerge > set.seed(123) > feature <- rnorm(1000) > # Create a target with a relationship to the feature > target <- rbinom(1000, 1, plogis(2 * feature)) > > res_cm <- ob_numerical_cm(feature, target, + min_bins = 3, + max_bins = 6, + init_method = "equal_frequency" + ) > > print(res_cm$bin) [1] "(-Inf;0.664416]" "(0.665160;0.840540]" "(0.844904;1.253815]" [4] "(1.263185;1.675697]" "(1.684436;+Inf]" > print(res_cm$iv) [1] 0.2381152 0.1010034 0.2925531 0.3484273 0.3484273 > > # Example 2: Using the Chi2 Algorithm variant > res_chi2 <- ob_numerical_cm(feature, target, + min_bins = 3, + max_bins = 6, + use_chi2_algorithm = TRUE + ) ================================================================= ==2085043==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7ce24f840440 at pc 0x7b122ab3266d bp 0x7fff7d803de0 sp 0x7fff7d803dd8 READ of size 8 at 0x7ce24f840440 thread T0 #0 0x7b122ab3266c in OBN_CM::calculate_inconsistency_rate() const /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/OBN_CM_v5.cpp:870 #1 0x7b122ab679f1 in OBN_CM::chi2_algorithm() /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/OBN_CM_v5.cpp:830 #2 0x7b122ab6ba1d in OBN_CM::fit() /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/OBN_CM_v5.cpp:1252 #3 0x7b122ab1cb71 in optimal_binning_numerical_cm(Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, int, int, double, int, double, int, std::__cxx11::basic_string, std::allocator >, double, bool) /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/OBN_CM_v5.cpp:1444 #4 0x7b122b436ee8 in _OptimalBinningWoE_optimal_binning_numerical_cm /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/RcppExports.cpp:365 #5 0x7f1254e0c73f in R_doDotCall /home/hornik/src/R/src/main/dotcode.c:801 #6 0x7f1254e116ea in do_dotcall /home/hornik/src/R/src/main/dotcode.c:1437 #7 0x7f1254f8f5e8 in bcEval_loop /home/hornik/src/R/src/main/eval.c:8132 #8 0x7f1254f7bf3e in bcEval /home/hornik/src/R/src/main/eval.c:7515 #9 0x7f1254f15746 in Rf_eval /home/hornik/src/R/src/main/eval.c:1167 #10 0x7f1254f2b0e2 in R_execClosure /home/hornik/src/R/src/main/eval.c:2389 #11 0x7f1254f2fa9a in applyClosure_core /home/hornik/src/R/src/main/eval.c:2302 #12 0x7f1254f16055 in Rf_applyClosure /home/hornik/src/R/src/main/eval.c:2324 #13 0x7f1254f16055 in Rf_eval /home/hornik/src/R/src/main/eval.c:1280 #14 0x7f1254f47e7e in do_set /home/hornik/src/R/src/main/eval.c:3581 #15 0x7f1254f1667c in Rf_eval /home/hornik/src/R/src/main/eval.c:1232 #16 0x7f12550e006b in Rf_ReplIteration /home/hornik/src/R/src/main/main.c:264 #17 0x7f12550e006b in R_ReplConsole /home/hornik/src/R/src/main/main.c:317 #18 0x7f12550e1402 in run_Rmainloop /home/hornik/src/R/src/main/main.c:1235 #19 0x55e34d5d00cd in main /home/hornik/src/R/src/main/Rmain.c:29 #20 0x7f1253433f74 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 #21 0x7f1253434026 in __libc_start_main_impl ../csu/libc-start.c:360 #22 0x55e34d5d0110 in _start (/home/hornik/tmp/R-d-gcc-xtra/bin/exec/R+0x1110) (BuildId: 71475d20a5cb03490b6a5e00da4d97088592bec3) 0x7ce24f840440 is located 64 bytes before 2304-byte region [0x7ce24f840480,0x7ce24f840d80) allocated by thread T0 here: #0 0x7f125691abbb in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:86 #1 0x7b122ab2f458 in std::__new_allocator::allocate(unsigned long, void const*) /usr/include/c++/15/bits/new_allocator.h:151 #2 0x7b122ab2f458 in std::allocator_traits >::allocate(std::allocator&, unsigned long) /usr/include/c++/15/bits/alloc_traits.h:614 #3 0x7b122ab2f458 in std::_Vector_base >::_M_allocate(unsigned long) /usr/include/c++/15/bits/stl_vector.h:387 #4 0x7b122ab2f458 in std::_Vector_base >::_M_allocate(unsigned long) /usr/include/c++/15/bits/stl_vector.h:384 #5 0x7b122ab2f458 in void std::vector >::_M_realloc_append(OptimalBinning::NumericalBin&&) /usr/include/c++/15/bits/vector.tcc:572 #6 0x7b122ab18d70 in OptimalBinning::NumericalBin& std::vector >::emplace_back(OptimalBinning::NumericalBin&&) /usr/include/c++/15/bits/vector.tcc:123 #7 0x7b122ab5ada6 in std::vector >::push_back(OptimalBinning::NumericalBin&&) /usr/include/c++/15/bits/stl_vector.h:1434 #8 0x7b122ab5ada6 in OBN_CM::initial_binning_equal_frequency() /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/OBN_CM_v5.cpp:525 #9 0x7b122ab6b752 in OBN_CM::fit() /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/OBN_CM_v5.cpp:1237 #10 0x7b122ab1cb71 in optimal_binning_numerical_cm(Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, int, int, double, int, double, int, std::__cxx11::basic_string, std::allocator >, double, bool) /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/OBN_CM_v5.cpp:1444 #11 0x7b122b436ee8 in _OptimalBinningWoE_optimal_binning_numerical_cm /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/RcppExports.cpp:365 #12 0x7f1254e0c73f in R_doDotCall /home/hornik/src/R/src/main/dotcode.c:801 #13 0x7f1254e116ea in do_dotcall /home/hornik/src/R/src/main/dotcode.c:1437 #14 0x7f1254f8f5e8 in bcEval_loop /home/hornik/src/R/src/main/eval.c:8132 #15 0x7f1254f7bf3e in bcEval /home/hornik/src/R/src/main/eval.c:7515 #16 0x7f1254f15746 in Rf_eval /home/hornik/src/R/src/main/eval.c:1167 #17 0x7f1254f2b0e2 in R_execClosure /home/hornik/src/R/src/main/eval.c:2389 #18 0x7f1254f2fa9a in applyClosure_core /home/hornik/src/R/src/main/eval.c:2302 #19 0x7f1254f16055 in Rf_applyClosure /home/hornik/src/R/src/main/eval.c:2324 #20 0x7f1254f16055 in Rf_eval /home/hornik/src/R/src/main/eval.c:1280 #21 0x7f1254f47e7e in do_set /home/hornik/src/R/src/main/eval.c:3581 #22 0x7f1254f1667c in Rf_eval /home/hornik/src/R/src/main/eval.c:1232 #23 0x7f12550e006b in Rf_ReplIteration /home/hornik/src/R/src/main/main.c:264 #24 0x7f12550e006b in R_ReplConsole /home/hornik/src/R/src/main/main.c:317 #25 0x7f12550e1402 in run_Rmainloop /home/hornik/src/R/src/main/main.c:1235 #26 0x55e34d5d00cd in main /home/hornik/src/R/src/main/Rmain.c:29 #27 0x7f1253433f74 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 #28 0x7fff7d80b33f ([stack]+0x3133f) SUMMARY: AddressSanitizer: heap-buffer-overflow /home/hornik/tmp/CRAN_special_gcc-san/OptimalBinningWoE.Rcheck/00_pkg_src/OptimalBinningWoE/src/OBN_CM_v5.cpp:870 in OBN_CM::calculate_inconsistency_rate() const Shadow bytes around the buggy address: 0x7ce24f840180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x7ce24f840200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x7ce24f840280: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7ce24f840300: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7ce24f840380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x7ce24f840400: fa fa fa fa fa fa fa fa[fa]fa fa fa fa fa fa fa 0x7ce24f840480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x7ce24f840500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x7ce24f840580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x7ce24f840600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x7ce24f840680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==2085043==ABORTING * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... [25s/25s] OK Running ‘testthat.R’ [25s/25s] * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking re-building of vignette outputs ... [25s/25s] OK * checking PDF version of manual ... [10s/10s] OK * checking HTML version of manual ... [31s/32s] OK * checking for non-standard things in the check directory ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR