2025-12-26T04:21:31.153515Z 00O Running with gitlab-runner 18.7.0~pre.433.g3a5f2314 (3a5f2314) 2025-12-26T04:21:31.153526Z 00O  on blue-5.saas-linux-medium-amd64.runners-manager.gitlab.com/default nEW2M-oDE, system ID: s_fe9b8d77dc4b 2025-12-26T04:21:31.153546Z 00O Resolving secrets 2025-12-26T04:21:31.153656Z 00O section_start:1766722891:prepare_executor 2025-12-26T04:21:31.153657Z 00O+Preparing the "docker+machine" executor 2025-12-26T04:21:31.291993Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2025-12-26T04:21:35.840463Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2025-12-26T04:21:35.841182Z 00O Authenticating with credentials from job payload (GitLab Registry) 2025-12-26T04:21:35.841193Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2025-12-26T04:21:55.961838Z 00O Using docker image sha256:c7d002b880b2015ef070f4d7b5c2d016f28b5732242628df0bad38eb3f5c3927 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:a3e8725901f5c35b0bf4ddd59132538e7727cf9a356f9591b35109ccc32d8fcc ... 2025-12-26T04:21:55.961908Z 00O section_end:1766722915:prepare_executor 2025-12-26T04:21:55.961910Z 00O+section_start:1766722915:prepare_script 2025-12-26T04:21:55.961980Z 00O+Preparing environment 2025-12-26T04:21:55.962655Z 00O Using effective pull policy of [always] for container sha256:42a506c2e566242e66a886ca3f00d5c90fbb93d5c2b0210e174e00714cbfa854 2025-12-26T04:22:04.584923Z 01O Running on runner-new2m-ode-project-3622566-concurrent-0 via runner-new2m-ode-s-l-m-amd64-1766722742-655c76a4... 2025-12-26T04:22:04.755585Z 00O section_end:1766722924:prepare_script 2025-12-26T04:22:04.755593Z 00O+section_start:1766722924:get_sources 2025-12-26T04:22:04.756062Z 00O+Getting source from Git repository 2025-12-26T04:22:05.130932Z 01O Gitaly correlation ID: 45e1bc23696c4412b311838fb48a5771 2025-12-26T04:22:05.135764Z 01O Fetching changes... 2025-12-26T04:22:05.139048Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2025-12-26T04:22:05.141174Z 01O Created fresh repository. 2025-12-26T04:22:10.800270Z 01O Checking out a29c209b as detached HEAD (ref is master)... 2025-12-26T04:22:10.984462Z 01O 2025-12-26T04:22:10.984466Z 01O Skipping Git submodules setup 2025-12-26T04:22:10.984467Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2025-12-26T04:22:11.209938Z 00O section_end:1766722931:get_sources 2025-12-26T04:22:11.209942Z 00O+section_start:1766722931:download_artifacts 2025-12-26T04:22:11.210635Z 00O+Downloading artifacts 2025-12-26T04:22:11.603554Z 01O Downloading artifacts for mirror-packages (12544376784)... 2025-12-26T04:22:12.573880Z 01E Downloading artifacts from coordinator... ok  correlation_id=48d3a38b4dea4a7ea010fc59e41ba6f1 host=storage.googleapis.com id=12544376784 responseStatus=200 OK token=6b_J8pzQM 2025-12-26T04:22:12.808901Z 01O Downloading artifacts for build (12544376788)... 2025-12-26T04:22:13.205001Z 01E Downloading artifacts from coordinator... ok  correlation_id=c89279606f2f4967ab17cf26d709a412 host=storage.googleapis.com id=12544376788 responseStatus=200 OK token=6b_J8pzQM 2025-12-26T04:22:13.905708Z 00O section_end:1766722933:download_artifacts 2025-12-26T04:22:13.905715Z 00O+section_start:1766722933:step_script 2025-12-26T04:22:13.906079Z 00O+Executing "step_script" stage of the job script 2025-12-26T04:22:13.906102Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2025-12-26T04:22:13.906913Z 00O Using docker image sha256:c7d002b880b2015ef070f4d7b5c2d016f28b5732242628df0bad38eb3f5c3927 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:a3e8725901f5c35b0bf4ddd59132538e7727cf9a356f9591b35109ccc32d8fcc ... 2025-12-26T04:22:14.266829Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2025-12-26T04:22:14.275674Z 01O $ mkdir -p ~/.R 2025-12-26T04:22:14.277752Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2025-12-26T04:22:14.277784Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2025-12-26T04:22:14.277858Z 01O $ Rscript -e 'source(".ci/ci.R"); install.packages(dcf.dependencies("DESCRIPTION", which="all"), repos=file.path("file:", normalizePath("bus/mirror-packages/cran", mustWork=FALSE)), quiet=TRUE)' 2025-12-26T04:22:14.498891Z 01E also installing the dependencies ‘commonmark’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘evaluate’, ‘highr’, ‘xfun’, ‘litedown’ 2025-12-26T04:22:14.498899Z 01E 2025-12-26T04:23:32.525508Z 01E Updating HTML index of packages in '.Library' 2025-12-26T04:23:32.526237Z 01E Making 'packages.html' ... done 2025-12-26T04:23:32.543186Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2025-12-26T04:23:32.563258Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2025-12-26T04:23:40.727010Z 01E 6 warnings generated. 2025-12-26T04:23:40.727027Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2025-12-26T04:23:43.997010Z 01E 6 warnings generated. 2025-12-26T04:23:43.997403Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2025-12-26T04:23:51.422748Z 01E 6 warnings generated. 2025-12-26T04:23:51.422763Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2025-12-26T04:23:51.679050Z 01E 10 warnings generated. 2025-12-26T04:23:51.679424Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2025-12-26T04:23:54.548599Z 01E 10 warnings generated. 2025-12-26T04:23:54.548730Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2025-12-26T04:23:57.027841Z 01E 10 warnings generated. 2025-12-26T04:23:57.028027Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2025-12-26T04:24:01.657872Z 01E 10 warnings generated. 2025-12-26T04:24:01.658170Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2025-12-26T04:24:01.722171Z 01E 10 warnings generated. 2025-12-26T04:24:01.722399Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2025-12-26T04:24:04.739095Z 01E 13 warnings generated. 2025-12-26T04:24:04.739394Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2025-12-26T04:24:10.558737Z 01E 14 warnings generated. 2025-12-26T04:24:10.558757Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2025-12-26T04:24:14.748152Z 01E 15 warnings generated. 2025-12-26T04:24:14.748168Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2025-12-26T04:24:23.466707Z 01E 16 warnings generated. 2025-12-26T04:24:23.466722Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2025-12-26T04:24:27.065785Z 01E 16 warnings generated. 2025-12-26T04:24:27.065986Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2025-12-26T04:24:32.996165Z 01E 28 warnings generated. 2025-12-26T04:24:32.996817Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2025-12-26T04:24:42.389572Z 01E 28 warnings generated. 2025-12-26T04:24:42.389587Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2025-12-26T04:24:53.454989Z 01E 36 warnings generated. 2025-12-26T04:24:53.455069Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2025-12-26T04:24:57.423920Z 01E 37 warnings generated. 2025-12-26T04:24:57.424187Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2025-12-26T04:25:00.072396Z 01E 40 warnings generated. 2025-12-26T04:25:00.072662Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2025-12-26T04:25:00.125645Z 01E 40 warnings generated. 2025-12-26T04:25:00.125885Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2025-12-26T04:25:00.485311Z 01E 40 warnings generated. 2025-12-26T04:25:00.485632Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2025-12-26T04:25:07.121675Z 01E 42 warnings generated. 2025-12-26T04:25:07.121728Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2025-12-26T04:25:10.822092Z 01E 42 warnings generated. 2025-12-26T04:25:10.822347Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2025-12-26T04:25:25.620443Z 01E 47 warnings generated. 2025-12-26T04:25:25.620455Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2025-12-26T04:25:25.744420Z 01E 48 warnings generated. 2025-12-26T04:25:25.744623Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2025-12-26T04:25:26.010076Z 01E 48 warnings generated. 2025-12-26T04:25:26.010432Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2025-12-26T04:25:31.114037Z 01E 51 warnings generated. 2025-12-26T04:25:31.114371Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2025-12-26T04:25:31.179014Z 01E 51 warnings generated. 2025-12-26T04:25:31.179925Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2025-12-26T04:25:31.229703Z 01E 51 warnings generated. 2025-12-26T04:25:31.230135Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2025-12-26T04:25:31.589988Z 01E 51 warnings generated. 2025-12-26T04:25:31.590293Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2025-12-26T04:25:35.121356Z 01E 61 warnings generated. 2025-12-26T04:25:35.121846Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2025-12-26T04:25:35.154751Z 01E 61 warnings generated. 2025-12-26T04:25:35.154984Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2025-12-26T04:25:35.206551Z 01E 61 warnings generated. 2025-12-26T04:25:35.206839Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2025-12-26T04:25:35.363166Z 01E 62 warnings generated. 2025-12-26T04:25:35.363652Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2025-12-26T04:25:35.865212Z 01E 62 warnings generated. 2025-12-26T04:25:35.865483Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2025-12-26T04:25:36.727595Z 01E 62 warnings generated. 2025-12-26T04:25:36.727888Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2025-12-26T04:25:40.445861Z 01E 68 warnings generated. 2025-12-26T04:25:40.446085Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2025-12-26T04:25:43.365349Z 01E 68 warnings generated. 2025-12-26T04:25:43.365649Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2025-12-26T04:25:43.396970Z 01E 68 warnings generated. 2025-12-26T04:25:43.397380Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2025-12-26T04:25:46.534589Z 01E 68 warnings generated. 2025-12-26T04:25:46.534820Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2025-12-26T04:25:47.913174Z 01E 70 warnings generated. 2025-12-26T04:25:47.913511Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2025-12-26T04:25:48.277587Z 01E 70 warnings generated. 2025-12-26T04:25:48.277873Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2025-12-26T04:25:51.238477Z 01E 70 warnings generated. 2025-12-26T04:25:51.238759Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2025-12-26T04:25:51.591575Z 01E 70 warnings generated. 2025-12-26T04:25:51.591970Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2025-12-26T04:25:59.036026Z 01E 70 warnings generated. 2025-12-26T04:25:59.036043Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2025-12-26T04:26:00.035936Z 01E 70 warnings generated. 2025-12-26T04:26:00.036306Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2025-12-26T04:26:00.077678Z 01E 70 warnings generated. 2025-12-26T04:26:00.078056Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2025-12-26T04:26:00.151996Z 01E 70 warnings generated. 2025-12-26T04:26:00.152924Z 01O /builds/Rdatatable/data.table/src/assign.c:9:31: warning: Although the value stored to 'p' is used in the enclosing expression, the value is never actually read from 'p' [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.152926Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2025-12-26T04:26:00.152927Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152927Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2025-12-26T04:26:00.152928Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152929Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2025-12-26T04:26:00.152930Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152931Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2025-12-26T04:26:00.152931Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152932Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2025-12-26T04:26:00.152956Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152957Z 01O 14 | R_NilValue, // this tag and prot currently unused 2025-12-26T04:26:00.152957Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152958Z 01O 15 | R_NilValue 2025-12-26T04:26:00.152958Z 01O | ~~~~~~~~~~ 2025-12-26T04:26:00.152959Z 01O 16 | )) 2025-12-26T04:26:00.152959Z 01O | ~~ 2025-12-26T04:26:00.152960Z 01O 17 | )); 2025-12-26T04:26:00.152960Z 01O | ~ 2025-12-26T04:26:00.152961Z 01O /builds/Rdatatable/data.table/src/assign.c:9:31: note: Although the value stored to 'p' is used in the enclosing expression, the value is never actually read from 'p' 2025-12-26T04:26:00.152962Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2025-12-26T04:26:00.152962Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152963Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2025-12-26T04:26:00.152963Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152964Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2025-12-26T04:26:00.152965Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152966Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2025-12-26T04:26:00.152966Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152967Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2025-12-26T04:26:00.152968Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152968Z 01O 14 | R_NilValue, // this tag and prot currently unused 2025-12-26T04:26:00.152969Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.152970Z 01O 15 | R_NilValue 2025-12-26T04:26:00.152970Z 01O | ~~~~~~~~~~ 2025-12-26T04:26:00.152971Z 01O 16 | )) 2025-12-26T04:26:00.152971Z 01O | ~~ 2025-12-26T04:26:00.152971Z 01O 17 | )); 2025-12-26T04:26:00.152972Z 01O | ~ 2025-12-26T04:26:00.152984Z 01O /builds/Rdatatable/data.table/src/assign.c:587:7: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2025-12-26T04:26:00.152985Z 01O 587 | strcat(s4, "__"); // add trailing '__' to newKey so we can search for pattern '__colName__' also at the end of the index. 2025-12-26T04:26:00.152986Z 01O | ^~~~~~ 2025-12-26T04:26:00.152987Z 01O /builds/Rdatatable/data.table/src/assign.c:587:7: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 2025-12-26T04:26:00.152988Z 01O 587 | strcat(s4, "__"); // add trailing '__' to newKey so we can search for pattern '__colName__' also at the end of the index. 2025-12-26T04:26:00.152989Z 01O | ^~~~~~ 2025-12-26T04:26:00.152989Z 01O /builds/Rdatatable/data.table/src/assign.c:598:9: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2025-12-26T04:26:00.152994Z 01O 598 | strcat(s5, tc2); 2025-12-26T04:26:00.152995Z 01O | ^~~~~~ 2025-12-26T04:26:00.152995Z 01O /builds/Rdatatable/data.table/src/assign.c:598:9: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 2025-12-26T04:26:00.152996Z 01O 598 | strcat(s5, tc2); 2025-12-26T04:26:00.152997Z 01O | ^~~~~~ 2025-12-26T04:26:00.153008Z 01O /builds/Rdatatable/data.table/src/assign.c:599:9: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2025-12-26T04:26:00.153009Z 01O 599 | strcat(s5, "__"); 2025-12-26T04:26:00.153010Z 01O | ^~~~~~ 2025-12-26T04:26:00.153010Z 01O /builds/Rdatatable/data.table/src/assign.c:599:9: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 2025-12-26T04:26:00.153011Z 01O 599 | strcat(s5, "__"); 2025-12-26T04:26:00.153012Z 01O | ^~~~~~ 2025-12-26T04:26:00.153012Z 01O /builds/Rdatatable/data.table/src/assign.c:1087:9: warning: Out of bound access to memory after the end of 'source' [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.153013Z 01O 1087 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2025-12-26T04:26:00.153014Z 01O | ^ 2025-12-26T04:26:00.153014Z 01O /builds/Rdatatable/data.table/src/assign.c:917:27: note: expanded from macro 'BODY' 2025-12-26T04:26:00.153015Z 01O 917 | const STYPE val = sd[soff]; \ 2025-12-26T04:26:00.153015Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.153016Z 01O /builds/Rdatatable/data.table/src/assign.c:694:7: note: Assuming 'len' is >= 1 2025-12-26T04:26:00.153016Z 01O 694 | if (len<1) return NULL; 2025-12-26T04:26:00.153017Z 01O | ^~~~~ 2025-12-26T04:26:00.153017Z 01O /builds/Rdatatable/data.table/src/assign.c:694:3: note: Taking false branch 2025-12-26T04:26:00.153018Z 01O 694 | if (len<1) return NULL; 2025-12-26T04:26:00.153018Z 01O | ^ 2025-12-26T04:26:00.153019Z 01O /builds/Rdatatable/data.table/src/assign.c:695:14: note: Assuming 'sourceLen' is < 0 2025-12-26T04:26:00.153020Z 01O 695 | int slen = sourceLen>=0 ? sourceLen : length(source); // since source may get reassigned to a scalar, we should not mark it as const 2025-12-26T04:26:00.153020Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.153021Z 01O /builds/Rdatatable/data.table/src/assign.c:695:14: note: '?' condition is false 2025-12-26T04:26:00.153021Z 01O /builds/Rdatatable/data.table/src/assign.c:696:7: note: Assuming 'slen' is not equal to 0 2025-12-26T04:26:00.153022Z 01O 696 | if (slen==0) return NULL; 2025-12-26T04:26:00.153023Z 01O | ^~~~~~~ 2025-12-26T04:26:00.153023Z 01O /builds/Rdatatable/data.table/src/assign.c:696:3: note: Taking false branch 2025-12-26T04:26:00.153024Z 01O 696 | if (slen==0) return NULL; 2025-12-26T04:26:00.153024Z 01O | ^ 2025-12-26T04:26:00.153051Z 01O /builds/Rdatatable/data.table/src/assign.c:697:7: note: Assuming 'sourceStart' is >= 0 2025-12-26T04:26:00.153052Z 01O 697 | if (sourceStart<0 || sourceStart+slen>length(source)) 2025-12-26T04:26:00.153053Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.153053Z 01O /builds/Rdatatable/data.table/src/assign.c:697:7: note: Left side of '||' is false 2025-12-26T04:26:00.153054Z 01O /builds/Rdatatable/data.table/src/assign.c:697:24: note: Assuming the condition is false 2025-12-26T04:26:00.153059Z 01O 697 | if (sourceStart<0 || sourceStart+slen>length(source)) 2025-12-26T04:26:00.153059Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.153162Z 01O /builds/Rdatatable/data.table/src/assign.c:697:3: note: Taking false branch 2025-12-26T04:26:00.153163Z 01O 697 | if (sourceStart<0 || sourceStart+slen>length(source)) 2025-12-26T04:26:00.153164Z 01O | ^ 2025-12-26T04:26:00.153164Z 01O /builds/Rdatatable/data.table/src/assign.c:699:7: note: Assuming the condition is false 2025-12-26T04:26:00.153165Z 01O 699 | if (!length(where) && start+len>length(target)) 2025-12-26T04:26:00.153166Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.153166Z 01O /builds/Rdatatable/data.table/src/assign.c:699:22: note: Left side of '&&' is false 2025-12-26T04:26:00.153167Z 01O 699 | if (!length(where) && start+len>length(target)) 2025-12-26T04:26:00.153167Z 01O | ^ 2025-12-26T04:26:00.153189Z 01O /builds/Rdatatable/data.table/src/assign.c:702:7: note: Assuming 'slen' is <= 1 2025-12-26T04:26:00.153190Z 01O 702 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2025-12-26T04:26:00.153191Z 01O | ^~~~~~ 2025-12-26T04:26:00.153191Z 01O /builds/Rdatatable/data.table/src/assign.c:702:14: note: Left side of '&&' is false 2025-12-26T04:26:00.153192Z 01O 702 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2025-12-26T04:26:00.153192Z 01O | ^ 2025-12-26T04:26:00.153193Z 01O /builds/Rdatatable/data.table/src/assign.c:706:7: note: Assuming 'colname' is not equal to NULL 2025-12-26T04:26:00.153194Z 01O 706 | if (colname==NULL) 2025-12-26T04:26:00.153194Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.153194Z 01O /builds/Rdatatable/data.table/src/assign.c:706:3: note: Taking false branch 2025-12-26T04:26:00.153195Z 01O 706 | if (colname==NULL) 2025-12-26T04:26:00.153196Z 01O | ^ 2025-12-26T04:26:00.153351Z 01O /builds/Rdatatable/data.table/src/assign.c:711:26: note: Assuming the condition is false 2025-12-26T04:26:00.153352Z 01O 711 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2025-12-26T04:26:00.153352Z 01O | ^ 2025-12-26T04:26:00.153353Z 01O /usr/local/lib/R/include/Rinternals.h:975:18: note: expanded from macro 'isReal' 2025-12-26T04:26:00.153353Z 01O 975 | #define isReal Rf_isReal 2025-12-26T04:26:00.153354Z 01O | ^ 2025-12-26T04:26:00.153354Z 01O /builds/Rdatatable/data.table/src/assign.c:711:41: note: Left side of '&&' is false 2025-12-26T04:26:00.153355Z 01O 711 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2025-12-26T04:26:00.153356Z 01O | ^ 2025-12-26T04:26:00.153356Z 01O /builds/Rdatatable/data.table/src/assign.c:712:26: note: Assuming the condition is false 2025-12-26T04:26:00.153357Z 01O 712 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2025-12-26T04:26:00.153357Z 01O | ^ 2025-12-26T04:26:00.153358Z 01O /usr/local/lib/R/include/Rinternals.h:975:18: note: expanded from macro 'isReal' 2025-12-26T04:26:00.153358Z 01O 975 | #define isReal Rf_isReal 2025-12-26T04:26:00.153359Z 01O | ^ 2025-12-26T04:26:00.153360Z 01O /builds/Rdatatable/data.table/src/assign.c:712:41: note: Left side of '&&' is false 2025-12-26T04:26:00.153360Z 01O 712 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2025-12-26T04:26:00.153361Z 01O | ^ 2025-12-26T04:26:00.153361Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'sourceIsFactor' is false 2025-12-26T04:26:00.153362Z 01O 713 | if (sourceIsFactor || targetIsFactor) { 2025-12-26T04:26:00.153362Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.153363Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Left side of '||' is false 2025-12-26T04:26:00.153370Z 01O /builds/Rdatatable/data.table/src/assign.c:713:25: note: Assuming 'targetIsFactor' is false 2025-12-26T04:26:00.153371Z 01O 713 | if (sourceIsFactor || targetIsFactor) { 2025-12-26T04:26:00.153372Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.153372Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2025-12-26T04:26:00.153373Z 01O 713 | if (sourceIsFactor || targetIsFactor) { 2025-12-26T04:26:00.153373Z 01O | ^ 2025-12-26T04:26:00.153427Z 01O /builds/Rdatatable/data.table/src/assign.c:820:14: note: Assuming the condition is false 2025-12-26T04:26:00.153428Z 01O 820 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2025-12-26T04:26:00.153429Z 01O | ^ 2025-12-26T04:26:00.153429Z 01O /usr/local/lib/R/include/Rinternals.h:978:19: note: expanded from macro 'isString' 2025-12-26T04:26:00.153430Z 01O 978 | #define isString Rf_isString 2025-12-26T04:26:00.153430Z 01O | ^ 2025-12-26T04:26:00.153507Z 01O /builds/Rdatatable/data.table/src/assign.c:820:31: note: Left side of '&&' is false 2025-12-26T04:26:00.153508Z 01O 820 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2025-12-26T04:26:00.153509Z 01O | ^ 2025-12-26T04:26:00.153509Z 01O /builds/Rdatatable/data.table/src/assign.c:829:14: note: Assuming the condition is false 2025-12-26T04:26:00.153510Z 01O 829 | } else if (isNewList(source) && !isNewList(target)) { 2025-12-26T04:26:00.153511Z 01O | ^ 2025-12-26T04:26:00.153511Z 01O /usr/local/lib/R/include/Rinternals.h:967:20: note: expanded from macro 'isNewList' 2025-12-26T04:26:00.153512Z 01O 967 | #define isNewList Rf_isNewList 2025-12-26T04:26:00.153512Z 01O | ^ 2025-12-26T04:26:00.153513Z 01O /builds/Rdatatable/data.table/src/assign.c:829:32: note: Left side of '&&' is false 2025-12-26T04:26:00.153513Z 01O 829 | } else if (isNewList(source) && !isNewList(target)) { 2025-12-26T04:26:00.153514Z 01O | ^ 2025-12-26T04:26:00.153514Z 01O /builds/Rdatatable/data.table/src/assign.c:844:15: note: Assuming the condition is false 2025-12-26T04:26:00.153515Z 01O 844 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2025-12-26T04:26:00.153516Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.153516Z 01O /builds/Rdatatable/data.table/src/assign.c:844:15: note: Left side of '||' is false 2025-12-26T04:26:00.153517Z 01O /builds/Rdatatable/data.table/src/assign.c:844:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2025-12-26T04:26:00.153518Z 01O 844 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2025-12-26T04:26:00.153518Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.153519Z 01O /builds/Rdatatable/data.table/src/assign.c:844:75: note: Left side of '&&' is false 2025-12-26T04:26:00.153519Z 01O 844 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2025-12-26T04:26:00.153520Z 01O | ^ 2025-12-26T04:26:00.153527Z 01O /builds/Rdatatable/data.table/src/assign.c:954:19: note: Assuming the condition is false 2025-12-26T04:26:00.153527Z 01O 954 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2025-12-26T04:26:00.153528Z 01O | ^ 2025-12-26T04:26:00.153529Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153529Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153530Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.153535Z 01O /builds/Rdatatable/data.table/src/assign.c:954:19: note: '?' condition is false 2025-12-26T04:26:00.153536Z 01O 954 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2025-12-26T04:26:00.153537Z 01O | ^ 2025-12-26T04:26:00.153537Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153538Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153538Z 01O | ^ 2025-12-26T04:26:00.153590Z 01O /builds/Rdatatable/data.table/src/assign.c:955:19: note: Assuming the condition is true 2025-12-26T04:26:00.153591Z 01O 955 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2025-12-26T04:26:00.153592Z 01O | ^ 2025-12-26T04:26:00.153592Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153593Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153593Z 01O | ^ 2025-12-26T04:26:00.153594Z 01O /builds/Rdatatable/data.table/src/assign.c:955:19: note: Left side of '&&' is true 2025-12-26T04:26:00.153594Z 01O 955 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2025-12-26T04:26:00.153595Z 01O | ^ 2025-12-26T04:26:00.153596Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153596Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153597Z 01O | ^ 2025-12-26T04:26:00.153600Z 01O /builds/Rdatatable/data.table/src/assign.c:955:39: note: Assuming 'slen' is > 0 2025-12-26T04:26:00.153601Z 01O 955 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2025-12-26T04:26:00.153602Z 01O | ^~~~~~ 2025-12-26T04:26:00.153606Z 01O /builds/Rdatatable/data.table/src/assign.c:955:19: note: Left side of '&&' is true 2025-12-26T04:26:00.153607Z 01O 955 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2025-12-26T04:26:00.153608Z 01O | ^ 2025-12-26T04:26:00.153608Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153609Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153609Z 01O | ^ 2025-12-26T04:26:00.153653Z 01O /builds/Rdatatable/data.table/src/assign.c:955:49: note: Assuming 'slen' is equal to 'len' 2025-12-26T04:26:00.153654Z 01O 955 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2025-12-26T04:26:00.153655Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.153659Z 01O /builds/Rdatatable/data.table/src/assign.c:955:19: note: Left side of '&&' is true 2025-12-26T04:26:00.153660Z 01O 955 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2025-12-26T04:26:00.153661Z 01O | ^ 2025-12-26T04:26:00.153661Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153666Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153667Z 01O | ^ 2025-12-26T04:26:00.153786Z 01O /builds/Rdatatable/data.table/src/assign.c:955:62: note: Assuming 'soff' is not equal to 0 2025-12-26T04:26:00.153787Z 01O 955 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2025-12-26T04:26:00.153788Z 01O | ^~~~~~~ 2025-12-26T04:26:00.153800Z 01O /builds/Rdatatable/data.table/src/assign.c:956:19: note: Assuming the condition is false 2025-12-26T04:26:00.153800Z 01O 956 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2025-12-26T04:26:00.153801Z 01O | ^ 2025-12-26T04:26:00.153802Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153802Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153803Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.153803Z 01O /builds/Rdatatable/data.table/src/assign.c:956:19: note: '?' condition is false 2025-12-26T04:26:00.153804Z 01O 956 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2025-12-26T04:26:00.153804Z 01O | ^ 2025-12-26T04:26:00.153805Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153805Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153806Z 01O | ^ 2025-12-26T04:26:00.153806Z 01O /builds/Rdatatable/data.table/src/assign.c:957:3: note: Control jumps to 'case 20:' at line 1085 2025-12-26T04:26:00.153807Z 01O 957 | switch (TYPEOF(target)) { 2025-12-26T04:26:00.153808Z 01O | ^ 2025-12-26T04:26:00.153808Z 01O /builds/Rdatatable/data.table/src/assign.c:1086:9: note: 'len' is equal to 1 2025-12-26T04:26:00.153809Z 01O 1086 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2025-12-26T04:26:00.153809Z 01O | ^~~ 2025-12-26T04:26:00.153810Z 01O /builds/Rdatatable/data.table/src/assign.c:1086:9: note: Left side of '&&' is true 2025-12-26T04:26:00.153810Z 01O /builds/Rdatatable/data.table/src/assign.c:1086:21: note: Assuming the condition is true 2025-12-26T04:26:00.153811Z 01O 1086 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2025-12-26T04:26:00.153812Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.153812Z 01O /builds/Rdatatable/data.table/src/assign.c:1086:9: note: Left side of '&&' is true 2025-12-26T04:26:00.153813Z 01O 1086 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2025-12-26T04:26:00.153813Z 01O | ^ 2025-12-26T04:26:00.153814Z 01O /builds/Rdatatable/data.table/src/assign.c:1086:47: note: Assuming the condition is true 2025-12-26T04:26:00.153814Z 01O 1086 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2025-12-26T04:26:00.153815Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.153818Z 01O /builds/Rdatatable/data.table/src/assign.c:1086:5: note: Taking true branch 2025-12-26T04:26:00.153818Z 01O 1086 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2025-12-26T04:26:00.153819Z 01O | ^ 2025-12-26T04:26:00.153975Z 01O /builds/Rdatatable/data.table/src/assign.c:1087:9: note: Assuming the condition is true 2025-12-26T04:26:00.153976Z 01O 1087 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2025-12-26T04:26:00.153976Z 01O | ^ 2025-12-26T04:26:00.153977Z 01O /builds/Rdatatable/data.table/src/assign.c:915:9: note: expanded from macro 'BODY' 2025-12-26T04:26:00.153977Z 01O 915 | if (length(where)) { \ 2025-12-26T04:26:00.153978Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.153983Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.153983Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.153984Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.153989Z 01O /builds/Rdatatable/data.table/src/assign.c:1087:9: note: Taking true branch 2025-12-26T04:26:00.153990Z 01O 1087 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2025-12-26T04:26:00.153991Z 01O | ^ 2025-12-26T04:26:00.153991Z 01O /builds/Rdatatable/data.table/src/assign.c:915:5: note: expanded from macro 'BODY' 2025-12-26T04:26:00.153992Z 01O 915 | if (length(where)) { \ 2025-12-26T04:26:00.153992Z 01O | ^ 2025-12-26T04:26:00.153993Z 01O /builds/Rdatatable/data.table/src/assign.c:1087:9: note: 'slen' is equal to 1 2025-12-26T04:26:00.153993Z 01O 1087 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2025-12-26T04:26:00.153994Z 01O | ^ 2025-12-26T04:26:00.153998Z 01O /builds/Rdatatable/data.table/src/assign.c:916:11: note: expanded from macro 'BODY' 2025-12-26T04:26:00.153998Z 01O 916 | if (slen==1) { \ 2025-12-26T04:26:00.153999Z 01O | ^~~~ 2025-12-26T04:26:00.153999Z 01O /builds/Rdatatable/data.table/src/assign.c:1087:9: note: Taking true branch 2025-12-26T04:26:00.154000Z 01O 1087 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2025-12-26T04:26:00.154001Z 01O | ^ 2025-12-26T04:26:00.154004Z 01O /builds/Rdatatable/data.table/src/assign.c:916:7: note: expanded from macro 'BODY' 2025-12-26T04:26:00.154005Z 01O 916 | if (slen==1) { \ 2025-12-26T04:26:00.154006Z 01O | ^ 2025-12-26T04:26:00.154006Z 01O /builds/Rdatatable/data.table/src/assign.c:1087:9: note: Access of 'source' at an overflowing index, while it holds only a single 'struct SEXPREC *' element 2025-12-26T04:26:00.154007Z 01O 1087 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2025-12-26T04:26:00.154007Z 01O | ^ 2025-12-26T04:26:00.154008Z 01O /builds/Rdatatable/data.table/src/assign.c:917:27: note: expanded from macro 'BODY' 2025-12-26T04:26:00.154008Z 01O 917 | const STYPE val = sd[soff]; \ 2025-12-26T04:26:00.154009Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.154134Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.154135Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2025-12-26T04:26:00.154135Z 01O | ^~~~~ 2025-12-26T04:26:00.154136Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2025-12-26T04:26:00.154137Z 01O 4 | if (!isString(table) && !isNull(table)) 2025-12-26T04:26:00.154137Z 01O | ^~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.154138Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2025-12-26T04:26:00.154138Z 01O 4 | if (!isString(table) && !isNull(table)) 2025-12-26T04:26:00.154139Z 01O | ^ 2025-12-26T04:26:00.154139Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2025-12-26T04:26:00.154140Z 01O 6 | if (chin && chmatchdup) 2025-12-26T04:26:00.154140Z 01O | ^~~~ 2025-12-26T04:26:00.154146Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2025-12-26T04:26:00.154146Z 01O 6 | if (chin && chmatchdup) 2025-12-26T04:26:00.154147Z 01O | ^ 2025-12-26T04:26:00.154147Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2025-12-26T04:26:00.154148Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2025-12-26T04:26:00.154149Z 01O | ^~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.154156Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2025-12-26T04:26:00.154157Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2025-12-26T04:26:00.154157Z 01O | ^ 2025-12-26T04:26:00.154158Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2025-12-26T04:26:00.154158Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2025-12-26T04:26:00.154159Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.154159Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2025-12-26T04:26:00.154160Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2025-12-26T04:26:00.154161Z 01O | ^ 2025-12-26T04:26:00.154161Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2025-12-26T04:26:00.154162Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2025-12-26T04:26:00.154162Z 01O | ^ 2025-12-26T04:26:00.154163Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2025-12-26T04:26:00.154338Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2025-12-26T04:26:00.154339Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2025-12-26T04:26:00.154340Z 01O | ^~~~~~~ 2025-12-26T04:26:00.154340Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2025-12-26T04:26:00.154341Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2025-12-26T04:26:00.154342Z 01O | ^ 2025-12-26T04:26:00.154342Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2025-12-26T04:26:00.154343Z 01O 31 | if (tablelen==0) { 2025-12-26T04:26:00.154343Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.154344Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2025-12-26T04:26:00.154344Z 01O 31 | if (tablelen==0) { 2025-12-26T04:26:00.154345Z 01O | ^ 2025-12-26T04:26:00.154345Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2025-12-26T04:26:00.154346Z 01O 40 | if (isSymbol(x)) { 2025-12-26T04:26:00.154346Z 01O | ^ 2025-12-26T04:26:00.154346Z 01O /usr/local/lib/R/include/Rinternals.h:965:19: note: expanded from macro 'isSymbol' 2025-12-26T04:26:00.154347Z 01O 965 | #define isSymbol Rf_isSymbol 2025-12-26T04:26:00.154348Z 01O | ^ 2025-12-26T04:26:00.154348Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2025-12-26T04:26:00.154349Z 01O 40 | if (isSymbol(x)) { 2025-12-26T04:26:00.154349Z 01O | ^ 2025-12-26T04:26:00.154350Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2025-12-26T04:26:00.154350Z 01O 46 | if (xlen==1) { 2025-12-26T04:26:00.154351Z 01O | ^~~~~~~ 2025-12-26T04:26:00.154351Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2025-12-26T04:26:00.154352Z 01O 46 | if (xlen==1) { 2025-12-26T04:26:00.154352Z 01O | ^ 2025-12-26T04:26:00.154353Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2025-12-26T04:26:00.154353Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.154354Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.154354Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2025-12-26T04:26:00.154410Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2025-12-26T04:26:00.154411Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.154412Z 01O | ^~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.154412Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2025-12-26T04:26:00.154418Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.154418Z 01O | ^ 2025-12-26T04:26:00.154419Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2025-12-26T04:26:00.154419Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2025-12-26T04:26:00.154420Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.154420Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.154421Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2025-12-26T04:26:00.154422Z 01O | ^ 2025-12-26T04:26:00.154422Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2025-12-26T04:26:00.154423Z 01O 66 | if (tl == 0) { 2025-12-26T04:26:00.154423Z 01O | ^~~~~~~ 2025-12-26T04:26:00.154423Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2025-12-26T04:26:00.154424Z 01O 66 | if (tl == 0) { 2025-12-26T04:26:00.154425Z 01O | ^ 2025-12-26T04:26:00.154425Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2025-12-26T04:26:00.154426Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2025-12-26T04:26:00.154426Z 01O | ^ 2025-12-26T04:26:00.154427Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.154427Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2025-12-26T04:26:00.154428Z 01O | ^ 2025-12-26T04:26:00.154428Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: note: Access of 'sym' at index 1, while it holds only a single 'struct SEXPREC *' element 2025-12-26T04:26:00.154429Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2025-12-26T04:26:00.154429Z 01O | ^~~~~ 2025-12-26T04:26:00.154430Z 01O /builds/Rdatatable/data.table/src/chmatch.c:128:34: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.154431Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2025-12-26T04:26:00.154431Z 01O | ^~~~~ 2025-12-26T04:26:00.154432Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2025-12-26T04:26:00.154432Z 01O 4 | if (!isString(table) && !isNull(table)) 2025-12-26T04:26:00.154433Z 01O | ^~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.154433Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2025-12-26T04:26:00.154434Z 01O 4 | if (!isString(table) && !isNull(table)) 2025-12-26T04:26:00.154435Z 01O | ^ 2025-12-26T04:26:00.154435Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2025-12-26T04:26:00.154436Z 01O 6 | if (chin && chmatchdup) 2025-12-26T04:26:00.154436Z 01O | ^~~~ 2025-12-26T04:26:00.154437Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2025-12-26T04:26:00.154437Z 01O 6 | if (chin && chmatchdup) 2025-12-26T04:26:00.154438Z 01O | ^ 2025-12-26T04:26:00.154438Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2025-12-26T04:26:00.154439Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2025-12-26T04:26:00.154439Z 01O | ^~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.154440Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2025-12-26T04:26:00.154440Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2025-12-26T04:26:00.154441Z 01O | ^ 2025-12-26T04:26:00.154441Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2025-12-26T04:26:00.154442Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2025-12-26T04:26:00.154442Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.154446Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2025-12-26T04:26:00.154447Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2025-12-26T04:26:00.154448Z 01O | ^ 2025-12-26T04:26:00.154486Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2025-12-26T04:26:00.154487Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2025-12-26T04:26:00.154488Z 01O | ^ 2025-12-26T04:26:00.154488Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2025-12-26T04:26:00.154489Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2025-12-26T04:26:00.154489Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2025-12-26T04:26:00.154490Z 01O | ^~~~~~~ 2025-12-26T04:26:00.154493Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2025-12-26T04:26:00.154494Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2025-12-26T04:26:00.154495Z 01O | ^ 2025-12-26T04:26:00.154495Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2025-12-26T04:26:00.154496Z 01O 31 | if (tablelen==0) { 2025-12-26T04:26:00.154496Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.154497Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2025-12-26T04:26:00.154497Z 01O 31 | if (tablelen==0) { 2025-12-26T04:26:00.154498Z 01O | ^ 2025-12-26T04:26:00.154498Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2025-12-26T04:26:00.154499Z 01O 40 | if (isSymbol(x)) { 2025-12-26T04:26:00.154499Z 01O | ^ 2025-12-26T04:26:00.154502Z 01O /usr/local/lib/R/include/Rinternals.h:965:19: note: expanded from macro 'isSymbol' 2025-12-26T04:26:00.154503Z 01O 965 | #define isSymbol Rf_isSymbol 2025-12-26T04:26:00.154503Z 01O | ^ 2025-12-26T04:26:00.154504Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2025-12-26T04:26:00.154504Z 01O 40 | if (isSymbol(x)) { 2025-12-26T04:26:00.154505Z 01O | ^ 2025-12-26T04:26:00.154505Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2025-12-26T04:26:00.154506Z 01O 46 | if (xlen==1) { 2025-12-26T04:26:00.154506Z 01O | ^~~~~~~ 2025-12-26T04:26:00.154507Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2025-12-26T04:26:00.154507Z 01O 46 | if (xlen==1) { 2025-12-26T04:26:00.154508Z 01O | ^ 2025-12-26T04:26:00.154511Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2025-12-26T04:26:00.154512Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.154512Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.154513Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2025-12-26T04:26:00.154513Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.154514Z 01O | ^ 2025-12-26T04:26:00.154514Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2025-12-26T04:26:00.154515Z 01O 99 | for (int i=0; i= 'tablelen' 2025-12-26T04:26:00.154590Z 01O 123 | for (int i=0; i= 'tablelen' 2025-12-26T04:26:00.154640Z 01O 125 | for (int i=0; i= 0 2025-12-26T04:26:00.154677Z 01O 129 | if (u<0) { 2025-12-26T04:26:00.154678Z 01O | ^~~ 2025-12-26T04:26:00.154678Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2025-12-26T04:26:00.154684Z 01O 129 | if (u<0) { 2025-12-26T04:26:00.154684Z 01O | ^ 2025-12-26T04:26:00.154838Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2025-12-26T04:26:00.154839Z 01O 127 | for (int i=0; i 2 * xlen) { 2025-12-26T04:26:00.154991Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.154992Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2025-12-26T04:26:00.154992Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.154993Z 01O | ^ 2025-12-26T04:26:00.154993Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2025-12-26T04:26:00.154994Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.154994Z 01O | ^~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.154995Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2025-12-26T04:26:00.154996Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.154996Z 01O | ^ 2025-12-26T04:26:00.154996Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2025-12-26T04:26:00.154997Z 01O 99 | for (int i=0; i 2 * xlen) { 2025-12-26T04:26:00.155284Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.155285Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2025-12-26T04:26:00.155285Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2025-12-26T04:26:00.155286Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.155286Z 01O | ^~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.155287Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2025-12-26T04:26:00.155288Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2025-12-26T04:26:00.155288Z 01O | ^ 2025-12-26T04:26:00.155289Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2025-12-26T04:26:00.155289Z 01O 99 | for (int i=0; i= 0 2025-12-26T04:26:00.155320Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2025-12-26T04:26:00.155320Z 01O | ^~~ 2025-12-26T04:26:00.155321Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2025-12-26T04:26:00.155321Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2025-12-26T04:26:00.155325Z 01O | ^ 2025-12-26T04:26:00.155327Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2025-12-26T04:26:00.155328Z 01O 144 | for (int i=0; i= 'nlhs' 2025-12-26T04:26:00.155410Z 01O 14 | for (int i=0; i= 'nlhs' 2025-12-26T04:26:00.155613Z 01O 14 | for (int i=0; i= 'nlhs' 2025-12-26T04:26:00.155768Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2025-12-26T04:26:00.156425Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.156456Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2025-12-26T04:26:00.156457Z 01O 227 | if (isNull(id) && isNull(measure)) { 2025-12-26T04:26:00.156457Z 01O | ^ 2025-12-26T04:26:00.156458Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.156459Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.156459Z 01O | ^ 2025-12-26T04:26:00.156460Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2025-12-26T04:26:00.156460Z 01O 227 | if (isNull(id) && isNull(measure)) { 2025-12-26T04:26:00.156461Z 01O | ^ 2025-12-26T04:26:00.156461Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.156462Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.156462Z 01O | ^ 2025-12-26T04:26:00.156463Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2025-12-26T04:26:00.156463Z 01O 227 | if (isNull(id) && isNull(measure)) { 2025-12-26T04:26:00.156464Z 01O | ^ 2025-12-26T04:26:00.156464Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.156465Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.156466Z 01O | ^ 2025-12-26T04:26:00.156527Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2025-12-26T04:26:00.156527Z 01O 227 | if (isNull(id) && isNull(measure)) { 2025-12-26T04:26:00.156528Z 01O | ^ 2025-12-26T04:26:00.156528Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2025-12-26T04:26:00.156529Z 01O 228 | for (int i=0; i= 'ncol' 2025-12-26T04:26:00.156537Z 01O 234 | for (int i=0; i= 'nidx' 2025-12-26T04:26:00.156587Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2025-12-26T04:26:00.156645Z 01O | ^~~~ 2025-12-26T04:26:00.156645Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2025-12-26T04:26:00.156646Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2025-12-26T04:26:00.156647Z 01O | ^ 2025-12-26T04:26:00.156647Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2025-12-26T04:26:00.156652Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2025-12-26T04:26:00.156719Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2025-12-26T04:26:00.157632Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2025-12-26T04:26:00.157940Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.157972Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2025-12-26T04:26:00.157973Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2025-12-26T04:26:00.157974Z 01O | ^ 2025-12-26T04:26:00.157974Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2025-12-26T04:26:00.157975Z 01O 318 | if (ustr_alloc<=ustr_n) { 2025-12-26T04:26:00.157975Z 01O | ^~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.157976Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2025-12-26T04:26:00.157976Z 01O 318 | if (ustr_alloc<=ustr_n) { 2025-12-26T04:26:00.157977Z 01O | ^ 2025-12-26T04:26:00.157977Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2025-12-26T04:26:00.157978Z 01O 326 | if (new_marks != marks) { 2025-12-26T04:26:00.157978Z 01O | ^~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.157979Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2025-12-26T04:26:00.157980Z 01O 326 | if (new_marks != marks) { 2025-12-26T04:26:00.157980Z 01O | ^ 2025-12-26T04:26:00.157983Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2025-12-26T04:26:00.157983Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2025-12-26T04:26:00.157984Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.157984Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2025-12-26T04:26:00.157985Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2025-12-26T04:26:00.157986Z 01O | ^ 2025-12-26T04:26:00.158071Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2025-12-26T04:26:00.158072Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2025-12-26T04:26:00.158079Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.158079Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2025-12-26T04:26:00.158080Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2025-12-26T04:26:00.158081Z 01O | ^ 2025-12-26T04:26:00.158083Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2025-12-26T04:26:00.158084Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2025-12-26T04:26:00.158085Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.158126Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2025-12-26T04:26:00.158126Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2025-12-26T04:26:00.158127Z 01O | ^ 2025-12-26T04:26:00.158128Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2025-12-26T04:26:00.158128Z 01O 338 | if (!anynotascii) 2025-12-26T04:26:00.158129Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.158129Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2025-12-26T04:26:00.158130Z 01O 338 | if (!anynotascii) 2025-12-26T04:26:00.158130Z 01O | ^ 2025-12-26T04:26:00.158140Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2025-12-26T04:26:00.158141Z 01O 340 | if (!IS_UTF8(s)) 2025-12-26T04:26:00.158141Z 01O | ^ 2025-12-26T04:26:00.158141Z 01O /builds/Rdatatable/data.table/src/data.table.h:38:22: note: expanded from macro 'IS_UTF8' 2025-12-26T04:26:00.158142Z 01O 38 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2025-12-26T04:26:00.158143Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158143Z 01O /usr/local/lib/R/include/Rinternals.h:936:20: note: expanded from macro 'getCharCE' 2025-12-26T04:26:00.158144Z 01O 936 | #define getCharCE Rf_getCharCE 2025-12-26T04:26:00.158144Z 01O | ^ 2025-12-26T04:26:00.158145Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2025-12-26T04:26:00.158145Z 01O 340 | if (!IS_UTF8(s)) 2025-12-26T04:26:00.158146Z 01O | ^ 2025-12-26T04:26:00.158215Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2025-12-26T04:26:00.158216Z 01O 307 | for(int i=0; i= 'ustr_n' 2025-12-26T04:26:00.158262Z 01O 359 | for (int i=0; i= 'ustr_n' 2025-12-26T04:26:00.158268Z 01O 364 | for (int i=0; i> 2025-12-26T04:26:00.158528Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158528Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2025-12-26T04:26:00.158529Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158529Z 01O 43 | 2025-12-26T04:26:00.158530Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2025-12-26T04:26:00.158530Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158536Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2025-12-26T04:26:00.158537Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158537Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2025-12-26T04:26:00.158538Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158539Z 01O 47 | 2025-12-26T04:26:00.158539Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2025-12-26T04:26:00.158540Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158540Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2025-12-26T04:26:00.158541Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158541Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2025-12-26T04:26:00.158542Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158543Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2025-12-26T04:26:00.158543Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158544Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2025-12-26T04:26:00.158544Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158545Z 01O 53 | // For example: <<...,"hello "world"",...>> 2025-12-26T04:26:00.158546Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158633Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Calling 'freadCleanup' 2025-12-26T04:26:00.158634Z 01O 1406 | if (freadCleanup()) { 2025-12-26T04:26:00.158634Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.158635Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2025-12-26T04:26:00.158635Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2025-12-26T04:26:00.158636Z 01O | ^~~~ 2025-12-26T04:26:00.158636Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2025-12-26T04:26:00.158637Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2025-12-26T04:26:00.158638Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2025-12-26T04:26:00.158638Z 01O | ^~~~~~~ 2025-12-26T04:26:00.158639Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2025-12-26T04:26:00.158639Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2025-12-26T04:26:00.158640Z 01O | ^ 2025-12-26T04:26:00.158644Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2025-12-26T04:26:00.158644Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2025-12-26T04:26:00.158645Z 01O | ^~~~ 2025-12-26T04:26:00.158646Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2025-12-26T04:26:00.158646Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2025-12-26T04:26:00.158647Z 01O | ^ 2025-12-26T04:26:00.158648Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2025-12-26T04:26:00.158648Z 01O 169 | if (mmp != NULL) { 2025-12-26T04:26:00.158649Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.158649Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2025-12-26T04:26:00.158654Z 01O 169 | if (mmp != NULL) { 2025-12-26T04:26:00.158654Z 01O | ^ 2025-12-26T04:26:00.158655Z 01O /builds/Rdatatable/data.table/src/fread.c:193:15: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2025-12-26T04:26:00.158656Z 01O 193 | quoteRule = -1; 2025-12-26T04:26:00.158656Z 01O | ^~ 2025-12-26T04:26:00.158660Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2025-12-26T04:26:00.158661Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2025-12-26T04:26:00.158662Z 01O | ^ ~~ 2025-12-26T04:26:00.158662Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2025-12-26T04:26:00.158663Z 01O 1406 | if (freadCleanup()) { 2025-12-26T04:26:00.158663Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.158664Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2025-12-26T04:26:00.158665Z 01O 1406 | if (freadCleanup()) { 2025-12-26T04:26:00.158665Z 01O | ^ 2025-12-26T04:26:00.158672Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.158672Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2025-12-26T04:26:00.158673Z 01O | ^~~~~~~ 2025-12-26T04:26:00.158681Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2025-12-26T04:26:00.158682Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2025-12-26T04:26:00.158682Z 01O | ^ 2025-12-26T04:26:00.158683Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2025-12-26T04:26:00.158683Z 01O 1414 | if (nth > maxth) nth = maxth; 2025-12-26T04:26:00.158684Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.158684Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2025-12-26T04:26:00.158685Z 01O 1414 | if (nth > maxth) nth = maxth; 2025-12-26T04:26:00.158685Z 01O | ^ 2025-12-26T04:26:00.158686Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2025-12-26T04:26:00.158686Z 01O 1415 | if (nth <= 0) nth += maxth; 2025-12-26T04:26:00.158687Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.158687Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2025-12-26T04:26:00.158688Z 01O 1415 | if (nth <= 0) nth += maxth; 2025-12-26T04:26:00.158688Z 01O | ^ 2025-12-26T04:26:00.158689Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2025-12-26T04:26:00.158689Z 01O 1416 | if (nth <= 0) nth = 1; 2025-12-26T04:26:00.158690Z 01O | ^~~ 2025-12-26T04:26:00.158690Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2025-12-26T04:26:00.158691Z 01O 1416 | if (nth <= 0) nth = 1; 2025-12-26T04:26:00.158692Z 01O | ^ 2025-12-26T04:26:00.158786Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2025-12-26T04:26:00.158787Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2025-12-26T04:26:00.158788Z 01O | ^~~~~~~ 2025-12-26T04:26:00.158791Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2025-12-26T04:26:00.158791Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2025-12-26T04:26:00.158792Z 01O | ^ 2025-12-26T04:26:00.158796Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2025-12-26T04:26:00.158797Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2025-12-26T04:26:00.158797Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158798Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2025-12-26T04:26:00.158803Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2025-12-26T04:26:00.158804Z 01O | ^ 2025-12-26T04:26:00.158804Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2025-12-26T04:26:00.158805Z 01O 1432 | while (*nastr) { 2025-12-26T04:26:00.158806Z 01O | ^ 2025-12-26T04:26:00.158819Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2025-12-26T04:26:00.158819Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2025-12-26T04:26:00.158820Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158821Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2025-12-26T04:26:00.158821Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2025-12-26T04:26:00.158822Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158822Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2025-12-26T04:26:00.158823Z 01O 1460 | if (verbose) { 2025-12-26T04:26:00.158823Z 01O | ^~~~~~~ 2025-12-26T04:26:00.158824Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2025-12-26T04:26:00.158825Z 01O 1460 | if (verbose) { 2025-12-26T04:26:00.158825Z 01O | ^ 2025-12-26T04:26:00.158827Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2025-12-26T04:26:00.158828Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2025-12-26T04:26:00.158829Z 01O | ^ 2025-12-26T04:26:00.158936Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2025-12-26T04:26:00.158936Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2025-12-26T04:26:00.158937Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158938Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2025-12-26T04:26:00.158938Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2025-12-26T04:26:00.158939Z 01O | ^ 2025-12-26T04:26:00.158942Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2025-12-26T04:26:00.158943Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2025-12-26T04:26:00.158943Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.158944Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2025-12-26T04:26:00.158944Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2025-12-26T04:26:00.158945Z 01O | ^ 2025-12-26T04:26:00.158950Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2025-12-26T04:26:00.158950Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2025-12-26T04:26:00.158951Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.158952Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2025-12-26T04:26:00.158952Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2025-12-26T04:26:00.158953Z 01O | ^ 2025-12-26T04:26:00.158953Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2025-12-26T04:26:00.158954Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2025-12-26T04:26:00.158954Z 01O | ^~~~~~~ 2025-12-26T04:26:00.158955Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2025-12-26T04:26:00.158960Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2025-12-26T04:26:00.158961Z 01O | ^ 2025-12-26T04:26:00.158961Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2025-12-26T04:26:00.158962Z 01O 1511 | if (args.input) { 2025-12-26T04:26:00.158962Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.158963Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2025-12-26T04:26:00.158963Z 01O 1511 | if (args.input) { 2025-12-26T04:26:00.158964Z 01O | ^ 2025-12-26T04:26:00.158971Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is non-null 2025-12-26T04:26:00.158972Z 01O 1518 | else if (args.filename) { 2025-12-26T04:26:00.158973Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.158973Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking true branch 2025-12-26T04:26:00.158974Z 01O 1518 | else if (args.filename) { 2025-12-26T04:26:00.158974Z 01O | ^ 2025-12-26T04:26:00.158990Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:9: note: 'verbose' is false 2025-12-26T04:26:00.158990Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2025-12-26T04:26:00.158991Z 01O | ^~~~~~~ 2025-12-26T04:26:00.158992Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:5: note: Taking false branch 2025-12-26T04:26:00.158992Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2025-12-26T04:26:00.158993Z 01O | ^ 2025-12-26T04:26:00.158993Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:16: note: Assuming that 'open' fails 2025-12-26T04:26:00.158994Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2025-12-26T04:26:00.158994Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159036Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:7: note: 'fd' initialized here 2025-12-26T04:26:00.159037Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2025-12-26T04:26:00.159037Z 01O | ^~~~~~ 2025-12-26T04:26:00.159040Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:7: note: Taking true branch 2025-12-26T04:26:00.159041Z 01O 1523 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2025-12-26T04:26:00.159041Z 01O | ^ 2025-12-26T04:26:00.159042Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2025-12-26T04:26:00.159043Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2025-12-26T04:26:00.159043Z 01O | ^ ~~ 2025-12-26T04:26:00.159088Z 01O /builds/Rdatatable/data.table/src/fread.c:1769:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.159089Z 01O 1769 | pos = ch; 2025-12-26T04:26:00.159090Z 01O | ^ ~~ 2025-12-26T04:26:00.159090Z 01O /builds/Rdatatable/data.table/src/fread.c:1769:5: note: Value stored to 'pos' is never read 2025-12-26T04:26:00.159091Z 01O 1769 | pos = ch; 2025-12-26T04:26:00.159091Z 01O | ^ ~~ 2025-12-26T04:26:00.159092Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:40: warning: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' [clang-analyzer-optin.core.EnumCastOutOfRange] 2025-12-26T04:26:00.159093Z 01O 1837 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2025-12-26T04:26:00.159093Z 01O | ^~ 2025-12-26T04:26:00.159264Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2025-12-26T04:26:00.159264Z 01O 38 | enum quote_rule_t 2025-12-26T04:26:00.159265Z 01O | ~~~~~^~~~~~~~~~~~ 2025-12-26T04:26:00.159265Z 01O 39 | { 2025-12-26T04:26:00.159266Z 01O | ~ 2025-12-26T04:26:00.159266Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2025-12-26T04:26:00.159267Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159274Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2025-12-26T04:26:00.159274Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159275Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2025-12-26T04:26:00.159276Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159276Z 01O 43 | 2025-12-26T04:26:00.159277Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2025-12-26T04:26:00.159277Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159278Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2025-12-26T04:26:00.159278Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159279Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2025-12-26T04:26:00.159279Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159280Z 01O 47 | 2025-12-26T04:26:00.159280Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2025-12-26T04:26:00.159281Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159282Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2025-12-26T04:26:00.159282Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159283Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2025-12-26T04:26:00.159283Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159284Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2025-12-26T04:26:00.159285Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159285Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2025-12-26T04:26:00.159286Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159286Z 01O 53 | // For example: <<...,"hello "world"",...>> 2025-12-26T04:26:00.159287Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159288Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2025-12-26T04:26:00.159288Z 01O 1406 | if (freadCleanup()) { 2025-12-26T04:26:00.159289Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.159289Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2025-12-26T04:26:00.159290Z 01O 1406 | if (freadCleanup()) { 2025-12-26T04:26:00.159290Z 01O | ^ 2025-12-26T04:26:00.159291Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.159291Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2025-12-26T04:26:00.159292Z 01O | ^~~~~~~ 2025-12-26T04:26:00.159292Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2025-12-26T04:26:00.159293Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2025-12-26T04:26:00.159293Z 01O | ^ 2025-12-26T04:26:00.159294Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2025-12-26T04:26:00.159294Z 01O 1414 | if (nth > maxth) nth = maxth; 2025-12-26T04:26:00.159295Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.159295Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2025-12-26T04:26:00.159296Z 01O 1414 | if (nth > maxth) nth = maxth; 2025-12-26T04:26:00.159297Z 01O | ^ 2025-12-26T04:26:00.159297Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2025-12-26T04:26:00.159298Z 01O 1415 | if (nth <= 0) nth += maxth; 2025-12-26T04:26:00.159298Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.159302Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2025-12-26T04:26:00.159303Z 01O 1415 | if (nth <= 0) nth += maxth; 2025-12-26T04:26:00.159303Z 01O | ^ 2025-12-26T04:26:00.159304Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2025-12-26T04:26:00.159304Z 01O 1416 | if (nth <= 0) nth = 1; 2025-12-26T04:26:00.159305Z 01O | ^~~ 2025-12-26T04:26:00.159305Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2025-12-26T04:26:00.159306Z 01O 1416 | if (nth <= 0) nth = 1; 2025-12-26T04:26:00.159306Z 01O | ^ 2025-12-26T04:26:00.159423Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2025-12-26T04:26:00.159424Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2025-12-26T04:26:00.159424Z 01O | ^~~~~~~ 2025-12-26T04:26:00.159425Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2025-12-26T04:26:00.159425Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2025-12-26T04:26:00.159426Z 01O | ^ 2025-12-26T04:26:00.159427Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2025-12-26T04:26:00.159427Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2025-12-26T04:26:00.159428Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159428Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2025-12-26T04:26:00.159429Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2025-12-26T04:26:00.159430Z 01O | ^ 2025-12-26T04:26:00.159430Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2025-12-26T04:26:00.159431Z 01O 1432 | while (*nastr) { 2025-12-26T04:26:00.159431Z 01O | ^ 2025-12-26T04:26:00.159434Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2025-12-26T04:26:00.159435Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2025-12-26T04:26:00.159435Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159439Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2025-12-26T04:26:00.159439Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2025-12-26T04:26:00.159440Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159440Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2025-12-26T04:26:00.159441Z 01O 1460 | if (verbose) { 2025-12-26T04:26:00.159441Z 01O | ^~~~~~~ 2025-12-26T04:26:00.159442Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2025-12-26T04:26:00.159443Z 01O 1460 | if (verbose) { 2025-12-26T04:26:00.159443Z 01O | ^ 2025-12-26T04:26:00.159445Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2025-12-26T04:26:00.159446Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2025-12-26T04:26:00.159447Z 01O | ^ 2025-12-26T04:26:00.159450Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2025-12-26T04:26:00.159450Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2025-12-26T04:26:00.159451Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159453Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2025-12-26T04:26:00.159454Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2025-12-26T04:26:00.159459Z 01O | ^ 2025-12-26T04:26:00.159462Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2025-12-26T04:26:00.159463Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2025-12-26T04:26:00.159464Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159570Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2025-12-26T04:26:00.159571Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2025-12-26T04:26:00.159571Z 01O | ^ 2025-12-26T04:26:00.159572Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2025-12-26T04:26:00.159573Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2025-12-26T04:26:00.159573Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.159575Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2025-12-26T04:26:00.159576Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2025-12-26T04:26:00.159577Z 01O | ^ 2025-12-26T04:26:00.159581Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2025-12-26T04:26:00.159582Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2025-12-26T04:26:00.159583Z 01O | ^~~~~~~ 2025-12-26T04:26:00.159583Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2025-12-26T04:26:00.159584Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2025-12-26T04:26:00.159584Z 01O | ^ 2025-12-26T04:26:00.159585Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2025-12-26T04:26:00.159585Z 01O 1511 | if (args.input) { 2025-12-26T04:26:00.159586Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.159586Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2025-12-26T04:26:00.159587Z 01O 1511 | if (args.input) { 2025-12-26T04:26:00.159587Z 01O | ^ 2025-12-26T04:26:00.159588Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is null 2025-12-26T04:26:00.159588Z 01O 1518 | else if (args.filename) { 2025-12-26T04:26:00.159589Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.159589Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking false branch 2025-12-26T04:26:00.159590Z 01O 1518 | else if (args.filename) { 2025-12-26T04:26:00.159590Z 01O | ^ 2025-12-26T04:26:00.159593Z 01O /builds/Rdatatable/data.table/src/fread.c:1586:5: note: Loop condition is false. Exiting loop 2025-12-26T04:26:00.159594Z 01O 1586 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2025-12-26T04:26:00.159594Z 01O | ^ 2025-12-26T04:26:00.159695Z 01O /builds/Rdatatable/data.table/src/freadR.h:25:28: note: expanded from macro 'INTERNAL_STOP' 2025-12-26T04:26:00.159696Z 01O 25 | #define INTERNAL_STOP(...) do {snprintf(internal_error_buff, sizeof(internal_error_buff), __VA_ARGS__); halt__(0, "%s %s: %s. %s", _("Internal error in"), __func__, internal_error_buff, _("Please report to the data.table issues tracker"));} while (0) 2025-12-26T04:26:00.159697Z 01O | ^ 2025-12-26T04:26:00.159698Z 01O /builds/Rdatatable/data.table/src/fread.c:1603:7: note: 'verbose' is false 2025-12-26T04:26:00.159699Z 01O 1603 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2025-12-26T04:26:00.159699Z 01O | ^~~~~~~ 2025-12-26T04:26:00.159700Z 01O /builds/Rdatatable/data.table/src/fread.c:1603:3: note: Taking false branch 2025-12-26T04:26:00.159700Z 01O 1603 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2025-12-26T04:26:00.159701Z 01O | ^ 2025-12-26T04:26:00.159706Z 01O /builds/Rdatatable/data.table/src/fread.c:1604:7: note: Assuming 'fileSize' is < 3 2025-12-26T04:26:00.159706Z 01O 1604 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2025-12-26T04:26:00.159707Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.159707Z 01O /builds/Rdatatable/data.table/src/fread.c:1604:21: note: Left side of '&&' is false 2025-12-26T04:26:00.159708Z 01O 1604 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2025-12-26T04:26:00.159709Z 01O | ^ 2025-12-26T04:26:00.159711Z 01O /builds/Rdatatable/data.table/src/fread.c:1609:12: note: 'fileSize' is < 4 2025-12-26T04:26:00.159712Z 01O 1609 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2025-12-26T04:26:00.159713Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.159713Z 01O /builds/Rdatatable/data.table/src/fread.c:1609:26: note: Left side of '&&' is false 2025-12-26T04:26:00.159714Z 01O 1609 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2025-12-26T04:26:00.159714Z 01O | ^ 2025-12-26T04:26:00.159717Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:12: note: Assuming 'fileSize' is < 2 2025-12-26T04:26:00.159717Z 01O 1614 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2025-12-26T04:26:00.159718Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.159721Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:26: note: Left side of '&&' is false 2025-12-26T04:26:00.159722Z 01O 1614 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2025-12-26T04:26:00.159723Z 01O | ^ 2025-12-26T04:26:00.159723Z 01O /builds/Rdatatable/data.table/src/fread.c:1617:7: note: Assuming 'eof' is <= 'sof' 2025-12-26T04:26:00.159724Z 01O 1617 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2025-12-26T04:26:00.159724Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.159725Z 01O /builds/Rdatatable/data.table/src/fread.c:1617:17: note: Left side of '&&' is false 2025-12-26T04:26:00.159726Z 01O 1617 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2025-12-26T04:26:00.159726Z 01O | ^ 2025-12-26T04:26:00.159842Z 01O /builds/Rdatatable/data.table/src/fread.c:1623:7: note: Assuming 'eof' is > 'sof' 2025-12-26T04:26:00.159843Z 01O 1623 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2025-12-26T04:26:00.159844Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.159846Z 01O /builds/Rdatatable/data.table/src/fread.c:1623:3: note: Taking false branch 2025-12-26T04:26:00.159847Z 01O 1623 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2025-12-26T04:26:00.159847Z 01O | ^ 2025-12-26T04:26:00.159848Z 01O /builds/Rdatatable/data.table/src/fread.c:1629:7: note: 'verbose' is false 2025-12-26T04:26:00.159849Z 01O 1629 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2025-12-26T04:26:00.159849Z 01O | ^~~~~~~ 2025-12-26T04:26:00.159851Z 01O /builds/Rdatatable/data.table/src/fread.c:1629:3: note: Taking false branch 2025-12-26T04:26:00.159852Z 01O 1629 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2025-12-26T04:26:00.159853Z 01O | ^ 2025-12-26T04:26:00.159855Z 01O /builds/Rdatatable/data.table/src/fread.c:1637:7: note: Assuming the condition is false 2025-12-26T04:26:00.159855Z 01O 1637 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2025-12-26T04:26:00.159856Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.159859Z 01O /builds/Rdatatable/data.table/src/fread.c:1637:3: note: Taking false branch 2025-12-26T04:26:00.159860Z 01O 1637 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2025-12-26T04:26:00.159861Z 01O | ^ 2025-12-26T04:26:00.159866Z 01O /builds/Rdatatable/data.table/src/fread.c:1638:3: note: Loop condition is false. Execution continues on line 1656 2025-12-26T04:26:00.159866Z 01O 1638 | while (ch < sample_end) { 2025-12-26T04:26:00.159867Z 01O | ^ 2025-12-26T04:26:00.159867Z 01O /builds/Rdatatable/data.table/src/fread.c:1657:7: note: 'verbose' is false 2025-12-26T04:26:00.159868Z 01O 1657 | if (verbose) DTPRINT(eol_one_r ? 2025-12-26T04:26:00.159868Z 01O | ^~~~~~~ 2025-12-26T04:26:00.159878Z 01O /builds/Rdatatable/data.table/src/fread.c:1657:3: note: Taking false branch 2025-12-26T04:26:00.159878Z 01O 1657 | if (verbose) DTPRINT(eol_one_r ? 2025-12-26T04:26:00.159879Z 01O | ^ 2025-12-26T04:26:00.159879Z 01O /builds/Rdatatable/data.table/src/fread.c:1663:7: note: Assuming field 'filename' is null 2025-12-26T04:26:00.159880Z 01O 1663 | if (args.filename) { 2025-12-26T04:26:00.159881Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.159881Z 01O /builds/Rdatatable/data.table/src/fread.c:1663:3: note: Taking false branch 2025-12-26T04:26:00.159882Z 01O 1663 | if (args.filename) { 2025-12-26T04:26:00.159882Z 01O | ^ 2025-12-26T04:26:00.159883Z 01O /builds/Rdatatable/data.table/src/fread.c:1737:7: note: 'verbose' is false 2025-12-26T04:26:00.159883Z 01O 1737 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2025-12-26T04:26:00.159884Z 01O | ^~~~~~~ 2025-12-26T04:26:00.159998Z 01O /builds/Rdatatable/data.table/src/fread.c:1737:3: note: Taking false branch 2025-12-26T04:26:00.159999Z 01O 1737 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2025-12-26T04:26:00.160000Z 01O | ^ 2025-12-26T04:26:00.160000Z 01O /builds/Rdatatable/data.table/src/fread.c:1741:7: note: Assuming field 'skipString' is null 2025-12-26T04:26:00.160001Z 01O 1741 | if (args.skipString) { 2025-12-26T04:26:00.160002Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160002Z 01O /builds/Rdatatable/data.table/src/fread.c:1741:3: note: Taking false branch 2025-12-26T04:26:00.160003Z 01O 1741 | if (args.skipString) { 2025-12-26T04:26:00.160003Z 01O | ^ 2025-12-26T04:26:00.160003Z 01O /builds/Rdatatable/data.table/src/fread.c:1753:12: note: Assuming field 'skipNrow' is < 0 2025-12-26T04:26:00.160004Z 01O 1753 | else if (args.skipNrow >= 0) { 2025-12-26T04:26:00.160005Z 01O | ^~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160005Z 01O /builds/Rdatatable/data.table/src/fread.c:1753:8: note: Taking false branch 2025-12-26T04:26:00.160006Z 01O 1753 | else if (args.skipNrow >= 0) { 2025-12-26T04:26:00.160006Z 01O | ^ 2025-12-26T04:26:00.160009Z 01O /builds/Rdatatable/data.table/src/fread.c:1774:10: note: Assuming 'ch' is >= 'eof' 2025-12-26T04:26:00.160009Z 01O 1774 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2025-12-26T04:26:00.160010Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.160012Z 01O /builds/Rdatatable/data.table/src/fread.c:1774:19: note: Left side of '&&' is false 2025-12-26T04:26:00.160013Z 01O 1774 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2025-12-26T04:26:00.160014Z 01O | ^ 2025-12-26T04:26:00.160016Z 01O /builds/Rdatatable/data.table/src/fread.c:1777:7: note: Assuming 'ch' is < 'eof' 2025-12-26T04:26:00.160016Z 01O 1777 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2025-12-26T04:26:00.160017Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.160020Z 01O /builds/Rdatatable/data.table/src/fread.c:1777:3: note: Taking false branch 2025-12-26T04:26:00.160020Z 01O 1777 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2025-12-26T04:26:00.160021Z 01O | ^ 2025-12-26T04:26:00.160021Z 01O /builds/Rdatatable/data.table/src/fread.c:1778:7: note: 'verbose' is false 2025-12-26T04:26:00.160027Z 01O 1778 | if (verbose) { 2025-12-26T04:26:00.160027Z 01O | ^~~~~~~ 2025-12-26T04:26:00.160028Z 01O /builds/Rdatatable/data.table/src/fread.c:1778:3: note: Taking false branch 2025-12-26T04:26:00.160028Z 01O 1778 | if (verbose) { 2025-12-26T04:26:00.160029Z 01O | ^ 2025-12-26T04:26:00.160037Z 01O /builds/Rdatatable/data.table/src/fread.c:1796:19: note: Assuming 'nrowLimit' is not equal to 0 2025-12-26T04:26:00.160038Z 01O 1796 | int jumpLines = nrowLimit == 0 ? 100 : (int)umin(100, nrowLimit); // how many lines from each jump point to use. If nrows>0 is supplied, nJumps is later set to 1. #4029 2025-12-26T04:26:00.160038Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.160039Z 01O /builds/Rdatatable/data.table/src/fread.c:1796:19: note: '?' condition is false 2025-12-26T04:26:00.160040Z 01O /builds/Rdatatable/data.table/src/fread.c:1797:7: note: Assuming 'fill' is not equal to INT_MAX 2025-12-26T04:26:00.160040Z 01O 1797 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2025-12-26T04:26:00.160041Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160047Z 01O /builds/Rdatatable/data.table/src/fread.c:1797:3: note: Taking false branch 2025-12-26T04:26:00.160047Z 01O 1797 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2025-12-26T04:26:00.160048Z 01O | ^ 2025-12-26T04:26:00.160051Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:9: note: 'verbose' is false 2025-12-26T04:26:00.160052Z 01O 1803 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2025-12-26T04:26:00.160053Z 01O | ^~~~~~~ 2025-12-26T04:26:00.160053Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:5: note: Taking false branch 2025-12-26T04:26:00.160054Z 01O 1803 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2025-12-26T04:26:00.160054Z 01O | ^ 2025-12-26T04:26:00.160055Z 01O /builds/Rdatatable/data.table/src/fread.c:1805:9: note: Assuming the condition is false 2025-12-26T04:26:00.160055Z 01O 1805 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2025-12-26T04:26:00.160056Z 01O | ^~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160140Z 01O /builds/Rdatatable/data.table/src/fread.c:1805:5: note: Taking false branch 2025-12-26T04:26:00.160141Z 01O 1805 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2025-12-26T04:26:00.160142Z 01O | ^ 2025-12-26T04:26:00.160146Z 01O /builds/Rdatatable/data.table/src/fread.c:1823:20: note: Assuming the condition is false 2025-12-26T04:26:00.160146Z 01O 1823 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2025-12-26T04:26:00.160147Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.160148Z 01O /builds/Rdatatable/data.table/src/fread.c:1823:20: note: '?' condition is false 2025-12-26T04:26:00.160150Z 01O /builds/Rdatatable/data.table/src/fread.c:1825:11: note: Assuming the condition is true 2025-12-26T04:26:00.160151Z 01O 1825 | if (args.sep == '\0') { 2025-12-26T04:26:00.160152Z 01O | ^~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160152Z 01O /builds/Rdatatable/data.table/src/fread.c:1825:7: note: Taking true branch 2025-12-26T04:26:00.160153Z 01O 1825 | if (args.sep == '\0') { 2025-12-26T04:26:00.160153Z 01O | ^ 2025-12-26T04:26:00.160155Z 01O /builds/Rdatatable/data.table/src/fread.c:1826:13: note: 'verbose' is false 2025-12-26T04:26:00.160156Z 01O 1826 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2025-12-26T04:26:00.160157Z 01O | ^~~~~~~ 2025-12-26T04:26:00.160159Z 01O /builds/Rdatatable/data.table/src/fread.c:1826:9: note: Taking false branch 2025-12-26T04:26:00.160160Z 01O 1826 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2025-12-26T04:26:00.160161Z 01O | ^ 2025-12-26T04:26:00.160167Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2025-12-26T04:26:00.160168Z 01O 1837 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2025-12-26T04:26:00.160169Z 01O | ^~ 2025-12-26T04:26:00.160205Z 01O /builds/Rdatatable/data.table/src/fread.c:1874:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.160206Z 01O 1874 | const char *prevLineStart = ch, *lineStart = ch; 2025-12-26T04:26:00.160206Z 01O | ^~~~~~~~~~~~~ ~~ 2025-12-26T04:26:00.160207Z 01O /builds/Rdatatable/data.table/src/fread.c:1874:25: note: Value stored to 'prevLineStart' during its initialization is never read 2025-12-26T04:26:00.160208Z 01O 1874 | const char *prevLineStart = ch, *lineStart = ch; 2025-12-26T04:26:00.160208Z 01O | ^~~~~~~~~~~~~ ~~ 2025-12-26T04:26:00.160211Z 01O /builds/Rdatatable/data.table/src/fread.c:2262:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.160212Z 01O 2262 | estnrow = 1; 2025-12-26T04:26:00.160212Z 01O | ^ ~ 2025-12-26T04:26:00.160213Z 01O /builds/Rdatatable/data.table/src/fread.c:2262:3: note: Value stored to 'estnrow' is never read 2025-12-26T04:26:00.160213Z 01O 2262 | estnrow = 1; 2025-12-26T04:26:00.160214Z 01O | ^ ~ 2025-12-26T04:26:00.160273Z 01O /builds/Rdatatable/data.table/src/fread.c:2263:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.160274Z 01O 2263 | allocnrow = 0; // Number of rows in the allocated DataTable 2025-12-26T04:26:00.160275Z 01O | ^ ~ 2025-12-26T04:26:00.160275Z 01O /builds/Rdatatable/data.table/src/fread.c:2263:3: note: Value stored to 'allocnrow' is never read 2025-12-26T04:26:00.160276Z 01O 2263 | allocnrow = 0; // Number of rows in the allocated DataTable 2025-12-26T04:26:00.160276Z 01O | ^ ~ 2025-12-26T04:26:00.160288Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.160288Z 01O 2269 | estnrow = allocnrow = sampleLines; 2025-12-26T04:26:00.160289Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160289Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:5: note: Value stored to 'estnrow' is never read 2025-12-26T04:26:00.160290Z 01O 2269 | estnrow = allocnrow = sampleLines; 2025-12-26T04:26:00.160291Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160291Z 01O /builds/Rdatatable/data.table/src/fread.c:2293:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.160292Z 01O 2293 | estnrow = allocnrow = nrowLimit; 2025-12-26T04:26:00.160292Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160293Z 01O /builds/Rdatatable/data.table/src/fread.c:2293:5: note: Value stored to 'estnrow' is never read 2025-12-26T04:26:00.160294Z 01O 2293 | estnrow = allocnrow = nrowLimit; 2025-12-26T04:26:00.160294Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160295Z 01O /builds/Rdatatable/data.table/src/fread.c:2463:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.160295Z 01O 2463 | nth = imin(nJumps, nth); 2025-12-26T04:26:00.160296Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160352Z 01O /builds/Rdatatable/data.table/src/fread.c:2463:3: note: Value stored to 'nth' is never read 2025-12-26T04:26:00.160353Z 01O 2463 | nth = imin(nJumps, nth); 2025-12-26T04:26:00.160354Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.160357Z 01O /builds/Rdatatable/data.table/src/fread.c:2721:21: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2025-12-26T04:26:00.160363Z 01O 2721 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2025-12-26T04:26:00.160364Z 01O | ^~~~~~ 2025-12-26T04:26:00.160368Z 01O /builds/Rdatatable/data.table/src/fread.c:2721:21: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2025-12-26T04:26:00.160369Z 01O 2721 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2025-12-26T04:26:00.160369Z 01O | ^~~~~~ 2025-12-26T04:26:00.160409Z 01O /builds/Rdatatable/data.table/src/fread.c:2755:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.160409Z 01O 2755 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2025-12-26T04:26:00.160410Z 01O | ^ ~~~ 2025-12-26T04:26:00.160411Z 01O /builds/Rdatatable/data.table/src/fread.c:2755:73: note: Value stored to 'tLast' is never read 2025-12-26T04:26:00.160411Z 01O 2755 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2025-12-26T04:26:00.160412Z 01O | ^ ~~~ 2025-12-26T04:26:00.160521Z 01O /builds/Rdatatable/data.table/src/froll.c:1362:3: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.160522Z 01O 1362 | next[p] = tail; 2025-12-26T04:26:00.160522Z 01O | ^ 2025-12-26T04:26:00.160523Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.160523Z 01O 1504 | if (verbose) 2025-12-26T04:26:00.160524Z 01O | ^~~~~~~ 2025-12-26T04:26:00.160524Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2025-12-26T04:26:00.160525Z 01O 1504 | if (verbose) 2025-12-26T04:26:00.160525Z 01O | ^ 2025-12-26T04:26:00.160526Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2025-12-26T04:26:00.160526Z 01O 1506 | if (k == 0) { 2025-12-26T04:26:00.160527Z 01O | ^~~~~~ 2025-12-26T04:26:00.160527Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2025-12-26T04:26:00.160528Z 01O 1506 | if (k == 0) { 2025-12-26T04:26:00.160528Z 01O | ^ 2025-12-26T04:26:00.160528Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2025-12-26T04:26:00.160529Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.160530Z 01O | ^~~~~~ 2025-12-26T04:26:00.160530Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2025-12-26T04:26:00.160602Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2025-12-26T04:26:00.160603Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.160603Z 01O | ^~~~~~ 2025-12-26T04:26:00.160606Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2025-12-26T04:26:00.160607Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.160608Z 01O | ^ 2025-12-26T04:26:00.160608Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2025-12-26T04:26:00.160609Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.160615Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.160615Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2025-12-26T04:26:00.160616Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.160616Z 01O | ^ 2025-12-26T04:26:00.160619Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2025-12-26T04:26:00.160620Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.160620Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.160621Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2025-12-26T04:26:00.160621Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.160622Z 01O | ^ 2025-12-26T04:26:00.160625Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2025-12-26T04:26:00.160625Z 01O 1572 | bool even = !(k % 2); 2025-12-26T04:26:00.160626Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.160626Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2025-12-26T04:26:00.160627Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2025-12-26T04:26:00.160628Z 01O | ^~~~ 2025-12-26T04:26:00.160628Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2025-12-26T04:26:00.160630Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2025-12-26T04:26:00.160631Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.160631Z 01O | ^~ 2025-12-26T04:26:00.160680Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2025-12-26T04:26:00.160681Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.160681Z 01O | ^ 2025-12-26T04:26:00.160682Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2025-12-26T04:26:00.160682Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.160683Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.160686Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2025-12-26T04:26:00.160686Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.160687Z 01O | ^ 2025-12-26T04:26:00.160687Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2025-12-26T04:26:00.160688Z 01O 1586 | if (!m) { // # nocov start 2025-12-26T04:26:00.160688Z 01O | ^~ 2025-12-26T04:26:00.160689Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2025-12-26T04:26:00.160690Z 01O 1586 | if (!m) { // # nocov start 2025-12-26T04:26:00.160690Z 01O | ^ 2025-12-26T04:26:00.160693Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2025-12-26T04:26:00.160693Z 01O 1592 | if (!n) { // # nocov start 2025-12-26T04:26:00.160694Z 01O | ^~ 2025-12-26T04:26:00.160694Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2025-12-26T04:26:00.160695Z 01O 1592 | if (!n) { // # nocov start 2025-12-26T04:26:00.160695Z 01O | ^ 2025-12-26T04:26:00.160696Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2025-12-26T04:26:00.160696Z 01O 1598 | if (!s) { // # nocov start 2025-12-26T04:26:00.160697Z 01O | ^~ 2025-12-26T04:26:00.160788Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2025-12-26T04:26:00.160788Z 01O 1598 | if (!s) { // # nocov start 2025-12-26T04:26:00.160789Z 01O | ^ 2025-12-26T04:26:00.160789Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2025-12-26T04:26:00.160790Z 01O 1604 | if (!prev) { // # nocov start 2025-12-26T04:26:00.160791Z 01O | ^~~~~ 2025-12-26T04:26:00.160792Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2025-12-26T04:26:00.160793Z 01O 1604 | if (!prev) { // # nocov start 2025-12-26T04:26:00.160798Z 01O | ^ 2025-12-26T04:26:00.160801Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2025-12-26T04:26:00.160802Z 01O 1610 | if (!next) { // # nocov start 2025-12-26T04:26:00.160802Z 01O | ^~~~~ 2025-12-26T04:26:00.160803Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2025-12-26T04:26:00.160803Z 01O 1610 | if (!next) { // # nocov start 2025-12-26T04:26:00.160804Z 01O | ^ 2025-12-26T04:26:00.160804Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2025-12-26T04:26:00.160805Z 01O 1616 | if (verbose) 2025-12-26T04:26:00.160805Z 01O | ^~~~~~~ 2025-12-26T04:26:00.160806Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2025-12-26T04:26:00.160806Z 01O 1616 | if (verbose) 2025-12-26T04:26:00.160807Z 01O | ^ 2025-12-26T04:26:00.160809Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2025-12-26T04:26:00.160810Z 01O 1619 | for (int j=0; j= 'k' 2025-12-26T04:26:00.160837Z 01O 1356 | for (int i=0; i=0) { 2025-12-26T04:26:00.160963Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.160964Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2025-12-26T04:26:00.160964Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.160965Z 01O | ^ 2025-12-26T04:26:00.160965Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2025-12-26T04:26:00.160966Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.160966Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.161137Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2025-12-26T04:26:00.161138Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.161139Z 01O | ^ 2025-12-26T04:26:00.161139Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2025-12-26T04:26:00.161140Z 01O 1572 | bool even = !(k % 2); 2025-12-26T04:26:00.161140Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.161141Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2025-12-26T04:26:00.161141Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2025-12-26T04:26:00.161142Z 01O | ^~~~ 2025-12-26T04:26:00.161142Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2025-12-26T04:26:00.161143Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2025-12-26T04:26:00.161143Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.161144Z 01O | ^~ 2025-12-26T04:26:00.161144Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2025-12-26T04:26:00.161145Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.161145Z 01O | ^ 2025-12-26T04:26:00.161152Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2025-12-26T04:26:00.161153Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.161153Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.161159Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2025-12-26T04:26:00.161159Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.161160Z 01O | ^ 2025-12-26T04:26:00.161160Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2025-12-26T04:26:00.161161Z 01O 1586 | if (!m) { // # nocov start 2025-12-26T04:26:00.161161Z 01O | ^~ 2025-12-26T04:26:00.161162Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2025-12-26T04:26:00.161163Z 01O 1586 | if (!m) { // # nocov start 2025-12-26T04:26:00.161163Z 01O | ^ 2025-12-26T04:26:00.161163Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2025-12-26T04:26:00.161164Z 01O 1592 | if (!n) { // # nocov start 2025-12-26T04:26:00.161165Z 01O | ^~ 2025-12-26T04:26:00.161165Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2025-12-26T04:26:00.161166Z 01O 1592 | if (!n) { // # nocov start 2025-12-26T04:26:00.161166Z 01O | ^ 2025-12-26T04:26:00.161166Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2025-12-26T04:26:00.161167Z 01O 1598 | if (!s) { // # nocov start 2025-12-26T04:26:00.161168Z 01O | ^~ 2025-12-26T04:26:00.161168Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2025-12-26T04:26:00.161169Z 01O 1598 | if (!s) { // # nocov start 2025-12-26T04:26:00.161169Z 01O | ^ 2025-12-26T04:26:00.161169Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2025-12-26T04:26:00.161170Z 01O 1604 | if (!prev) { // # nocov start 2025-12-26T04:26:00.161171Z 01O | ^~~~~ 2025-12-26T04:26:00.161173Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2025-12-26T04:26:00.161174Z 01O 1604 | if (!prev) { // # nocov start 2025-12-26T04:26:00.161174Z 01O | ^ 2025-12-26T04:26:00.161175Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2025-12-26T04:26:00.161175Z 01O 1610 | if (!next) { // # nocov start 2025-12-26T04:26:00.161176Z 01O | ^~~~~ 2025-12-26T04:26:00.161176Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2025-12-26T04:26:00.161177Z 01O 1610 | if (!next) { // # nocov start 2025-12-26T04:26:00.161178Z 01O | ^ 2025-12-26T04:26:00.161291Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2025-12-26T04:26:00.161292Z 01O 1616 | if (verbose) 2025-12-26T04:26:00.161292Z 01O | ^~~~~~~ 2025-12-26T04:26:00.161293Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2025-12-26T04:26:00.161293Z 01O 1616 | if (verbose) 2025-12-26T04:26:00.161294Z 01O | ^ 2025-12-26T04:26:00.161298Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2025-12-26T04:26:00.161299Z 01O 1619 | for (int j=0; j= 'b' 2025-12-26T04:26:00.161339Z 01O 1619 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2025-12-26T04:26:00.161452Z 01O | ^~~ 2025-12-26T04:26:00.161453Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2025-12-26T04:26:00.161453Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.161454Z 01O 1631 | for (int i=0; i= 'm' 2025-12-26T04:26:00.161722Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2025-12-26T04:26:00.161722Z 01O | ^~~~~ 2025-12-26T04:26:00.161723Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:7: note: Returning from 'small' 2025-12-26T04:26:00.161724Z 01O 1391 | if (SMALL(i)) { 2025-12-26T04:26:00.161724Z 01O | ^ 2025-12-26T04:26:00.161724Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2025-12-26T04:26:00.161725Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2025-12-26T04:26:00.161726Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.161726Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:3: note: Taking false branch 2025-12-26T04:26:00.161727Z 01O 1391 | if (SMALL(i)) { 2025-12-26T04:26:00.161727Z 01O | ^ 2025-12-26T04:26:00.161728Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:9: note: Assuming the condition is false 2025-12-26T04:26:00.161728Z 01O 1394 | if (m[0] == i) { 2025-12-26T04:26:00.161729Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.161729Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:5: note: Taking false branch 2025-12-26T04:26:00.161730Z 01O 1394 | if (m[0] == i) { 2025-12-26T04:26:00.161730Z 01O | ^ 2025-12-26T04:26:00.161732Z 01O /builds/Rdatatable/data.table/src/froll.c:1397:5: note: Taking true branch 2025-12-26T04:26:00.161733Z 01O 1397 | if (s[0] > 0) { 2025-12-26T04:26:00.161733Z 01O | ^ 2025-12-26T04:26:00.161742Z 01O /builds/Rdatatable/data.table/src/froll.c:1398:14: note: Access of the heap area at negative byte offset 2025-12-26T04:26:00.161743Z 01O 1398 | m[0] = prev[m[0]]; 2025-12-26T04:26:00.161743Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.161744Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.161744Z 01O 1469 | m[0] = prev[m[0]]; 2025-12-26T04:26:00.161745Z 01O | ^ 2025-12-26T04:26:00.161745Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is true 2025-12-26T04:26:00.161746Z 01O 1504 | if (verbose) 2025-12-26T04:26:00.161746Z 01O | ^~~~~~~ 2025-12-26T04:26:00.161747Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking true branch 2025-12-26T04:26:00.161747Z 01O 1504 | if (verbose) 2025-12-26T04:26:00.161748Z 01O | ^ 2025-12-26T04:26:00.161748Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2025-12-26T04:26:00.161749Z 01O 1506 | if (k == 0) { 2025-12-26T04:26:00.161749Z 01O | ^~~~~~ 2025-12-26T04:26:00.161750Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2025-12-26T04:26:00.161750Z 01O 1506 | if (k == 0) { 2025-12-26T04:26:00.161751Z 01O | ^ 2025-12-26T04:26:00.161801Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2025-12-26T04:26:00.161802Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.161803Z 01O | ^~~~~~ 2025-12-26T04:26:00.161803Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2025-12-26T04:26:00.161806Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2025-12-26T04:26:00.161806Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.161807Z 01O | ^~~~~~ 2025-12-26T04:26:00.161811Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2025-12-26T04:26:00.161812Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.161816Z 01O | ^ 2025-12-26T04:26:00.161817Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2025-12-26T04:26:00.161818Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.161818Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.161818Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2025-12-26T04:26:00.161819Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.161820Z 01O | ^ 2025-12-26T04:26:00.161820Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2025-12-26T04:26:00.161821Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.161821Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.161821Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2025-12-26T04:26:00.161822Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.161822Z 01O | ^ 2025-12-26T04:26:00.161882Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is true 2025-12-26T04:26:00.161883Z 01O 1572 | bool even = !(k % 2); 2025-12-26T04:26:00.161883Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.161884Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is true 2025-12-26T04:26:00.161884Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2025-12-26T04:26:00.161885Z 01O | ^~~~ 2025-12-26T04:26:00.161885Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is true 2025-12-26T04:26:00.161886Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2025-12-26T04:26:00.161886Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.161887Z 01O | ^~ 2025-12-26T04:26:00.161887Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2025-12-26T04:26:00.161888Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.161889Z 01O | ^ 2025-12-26T04:26:00.161889Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2025-12-26T04:26:00.161889Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.161890Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.161898Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2025-12-26T04:26:00.161899Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.161899Z 01O | ^ 2025-12-26T04:26:00.161900Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2025-12-26T04:26:00.161900Z 01O 1586 | if (!m) { // # nocov start 2025-12-26T04:26:00.161901Z 01O | ^~ 2025-12-26T04:26:00.161901Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2025-12-26T04:26:00.161902Z 01O 1586 | if (!m) { // # nocov start 2025-12-26T04:26:00.161902Z 01O | ^ 2025-12-26T04:26:00.161903Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2025-12-26T04:26:00.161903Z 01O 1592 | if (!n) { // # nocov start 2025-12-26T04:26:00.161904Z 01O | ^~ 2025-12-26T04:26:00.161904Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2025-12-26T04:26:00.161905Z 01O 1592 | if (!n) { // # nocov start 2025-12-26T04:26:00.161905Z 01O | ^ 2025-12-26T04:26:00.161908Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2025-12-26T04:26:00.161908Z 01O 1598 | if (!s) { // # nocov start 2025-12-26T04:26:00.161909Z 01O | ^~ 2025-12-26T04:26:00.161909Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2025-12-26T04:26:00.161910Z 01O 1598 | if (!s) { // # nocov start 2025-12-26T04:26:00.161910Z 01O | ^ 2025-12-26T04:26:00.161962Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2025-12-26T04:26:00.161963Z 01O 1604 | if (!prev) { // # nocov start 2025-12-26T04:26:00.161963Z 01O | ^~~~~ 2025-12-26T04:26:00.161968Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2025-12-26T04:26:00.161969Z 01O 1604 | if (!prev) { // # nocov start 2025-12-26T04:26:00.161969Z 01O | ^ 2025-12-26T04:26:00.161977Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2025-12-26T04:26:00.161978Z 01O 1610 | if (!next) { // # nocov start 2025-12-26T04:26:00.161978Z 01O | ^~~~~ 2025-12-26T04:26:00.161979Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2025-12-26T04:26:00.161979Z 01O 1610 | if (!next) { // # nocov start 2025-12-26T04:26:00.161980Z 01O | ^ 2025-12-26T04:26:00.161980Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2025-12-26T04:26:00.161981Z 01O 1616 | if (verbose) 2025-12-26T04:26:00.161981Z 01O | ^~~~~~~ 2025-12-26T04:26:00.161982Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2025-12-26T04:26:00.161982Z 01O 1616 | if (verbose) 2025-12-26T04:26:00.161983Z 01O | ^ 2025-12-26T04:26:00.161983Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2025-12-26T04:26:00.161984Z 01O 1619 | for (int j=0; j= 'b' 2025-12-26T04:26:00.162209Z 01O 1619 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2025-12-26T04:26:00.162253Z 01O | ^~~ 2025-12-26T04:26:00.162254Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2025-12-26T04:26:00.162254Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.162255Z 01O 1631 | for (int i=0; i= 'm' 2025-12-26T04:26:00.162535Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2025-12-26T04:26:00.162536Z 01O | ^~~~~ 2025-12-26T04:26:00.162536Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:7: note: Returning from 'small' 2025-12-26T04:26:00.162537Z 01O 1458 | if (SMALL(i)) { 2025-12-26T04:26:00.162537Z 01O | ^ 2025-12-26T04:26:00.162538Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2025-12-26T04:26:00.162538Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2025-12-26T04:26:00.162539Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.162539Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking false branch 2025-12-26T04:26:00.162540Z 01O 1458 | if (SMALL(i)) { 2025-12-26T04:26:00.162540Z 01O | ^ 2025-12-26T04:26:00.162541Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:9: note: Assuming the condition is false 2025-12-26T04:26:00.162541Z 01O 1461 | if (m[0] == i) { 2025-12-26T04:26:00.162542Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.162542Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:5: note: Taking false branch 2025-12-26T04:26:00.162543Z 01O 1461 | if (m[0] == i) { 2025-12-26T04:26:00.162543Z 01O | ^ 2025-12-26T04:26:00.162575Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: 'even' is true 2025-12-26T04:26:00.162576Z 01O 1465 | } else if (even && n[0] == i) { 2025-12-26T04:26:00.162576Z 01O | ^~~~ 2025-12-26T04:26:00.162577Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: Left side of '&&' is true 2025-12-26T04:26:00.162577Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:24: note: Assuming the condition is false 2025-12-26T04:26:00.162578Z 01O 1465 | } else if (even && n[0] == i) { 2025-12-26T04:26:00.162579Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.162582Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:12: note: Taking false branch 2025-12-26T04:26:00.162582Z 01O 1465 | } else if (even && n[0] == i) { 2025-12-26T04:26:00.162583Z 01O | ^ 2025-12-26T04:26:00.162583Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:9: note: Assuming the condition is true 2025-12-26T04:26:00.162584Z 01O 1468 | if (s[0] > 0) { 2025-12-26T04:26:00.162584Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.162590Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:5: note: Taking true branch 2025-12-26T04:26:00.162591Z 01O 1468 | if (s[0] > 0) { 2025-12-26T04:26:00.162591Z 01O | ^ 2025-12-26T04:26:00.162594Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: note: Access of the heap area at negative byte offset 2025-12-26T04:26:00.162594Z 01O 1469 | m[0] = prev[m[0]]; 2025-12-26T04:26:00.162595Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.162677Z 01O /builds/Rdatatable/data.table/src/froll.c:1490:10: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.162678Z 01O 1490 | m[0] = next[m[0]]; 2025-12-26T04:26:00.162678Z 01O | ^ 2025-12-26T04:26:00.162678Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is true 2025-12-26T04:26:00.162679Z 01O 1504 | if (verbose) 2025-12-26T04:26:00.162680Z 01O | ^~~~~~~ 2025-12-26T04:26:00.162680Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking true branch 2025-12-26T04:26:00.162681Z 01O 1504 | if (verbose) 2025-12-26T04:26:00.162681Z 01O | ^ 2025-12-26T04:26:00.162681Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2025-12-26T04:26:00.162682Z 01O 1506 | if (k == 0) { 2025-12-26T04:26:00.162683Z 01O | ^~~~~~ 2025-12-26T04:26:00.162683Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2025-12-26T04:26:00.162684Z 01O 1506 | if (k == 0) { 2025-12-26T04:26:00.162684Z 01O | ^ 2025-12-26T04:26:00.162686Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2025-12-26T04:26:00.162687Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.162688Z 01O | ^~~~~~ 2025-12-26T04:26:00.162688Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2025-12-26T04:26:00.162730Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2025-12-26T04:26:00.162731Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.162732Z 01O | ^~~~~~ 2025-12-26T04:26:00.162732Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2025-12-26T04:26:00.162733Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.162734Z 01O | ^ 2025-12-26T04:26:00.162734Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2025-12-26T04:26:00.162735Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.162735Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.162735Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2025-12-26T04:26:00.162736Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.162737Z 01O | ^ 2025-12-26T04:26:00.162744Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2025-12-26T04:26:00.162745Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.162745Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.162746Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2025-12-26T04:26:00.162746Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.162747Z 01O | ^ 2025-12-26T04:26:00.162747Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is true 2025-12-26T04:26:00.162748Z 01O 1572 | bool even = !(k % 2); 2025-12-26T04:26:00.162748Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.162749Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is true 2025-12-26T04:26:00.162749Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2025-12-26T04:26:00.162750Z 01O | ^~~~ 2025-12-26T04:26:00.162755Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is true 2025-12-26T04:26:00.162755Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2025-12-26T04:26:00.162756Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.162756Z 01O | ^~ 2025-12-26T04:26:00.162757Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2025-12-26T04:26:00.162757Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.162758Z 01O | ^ 2025-12-26T04:26:00.162819Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2025-12-26T04:26:00.162819Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.162820Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.162822Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2025-12-26T04:26:00.162823Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.162824Z 01O | ^ 2025-12-26T04:26:00.162824Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2025-12-26T04:26:00.162825Z 01O 1586 | if (!m) { // # nocov start 2025-12-26T04:26:00.162825Z 01O | ^~ 2025-12-26T04:26:00.162827Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2025-12-26T04:26:00.162828Z 01O 1586 | if (!m) { // # nocov start 2025-12-26T04:26:00.162828Z 01O | ^ 2025-12-26T04:26:00.162830Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2025-12-26T04:26:00.162831Z 01O 1592 | if (!n) { // # nocov start 2025-12-26T04:26:00.162831Z 01O | ^~ 2025-12-26T04:26:00.162833Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2025-12-26T04:26:00.162834Z 01O 1592 | if (!n) { // # nocov start 2025-12-26T04:26:00.162834Z 01O | ^ 2025-12-26T04:26:00.162836Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2025-12-26T04:26:00.162837Z 01O 1598 | if (!s) { // # nocov start 2025-12-26T04:26:00.162837Z 01O | ^~ 2025-12-26T04:26:00.162871Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2025-12-26T04:26:00.162872Z 01O 1598 | if (!s) { // # nocov start 2025-12-26T04:26:00.162872Z 01O | ^ 2025-12-26T04:26:00.162873Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2025-12-26T04:26:00.162873Z 01O 1604 | if (!prev) { // # nocov start 2025-12-26T04:26:00.162874Z 01O | ^~~~~ 2025-12-26T04:26:00.162874Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2025-12-26T04:26:00.162875Z 01O 1604 | if (!prev) { // # nocov start 2025-12-26T04:26:00.162875Z 01O | ^ 2025-12-26T04:26:00.162876Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2025-12-26T04:26:00.162876Z 01O 1610 | if (!next) { // # nocov start 2025-12-26T04:26:00.162877Z 01O | ^~~~~ 2025-12-26T04:26:00.162877Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2025-12-26T04:26:00.162878Z 01O 1610 | if (!next) { // # nocov start 2025-12-26T04:26:00.162878Z 01O | ^ 2025-12-26T04:26:00.162879Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2025-12-26T04:26:00.162879Z 01O 1616 | if (verbose) 2025-12-26T04:26:00.162880Z 01O | ^~~~~~~ 2025-12-26T04:26:00.162880Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2025-12-26T04:26:00.162881Z 01O 1616 | if (verbose) 2025-12-26T04:26:00.162881Z 01O | ^ 2025-12-26T04:26:00.162883Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2025-12-26T04:26:00.162884Z 01O 1619 | for (int j=0; j= 'b' 2025-12-26T04:26:00.163061Z 01O 1619 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2025-12-26T04:26:00.163140Z 01O | ^~~ 2025-12-26T04:26:00.163141Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2025-12-26T04:26:00.163141Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.163142Z 01O 1631 | for (int i=0; i= 'm' 2025-12-26T04:26:00.163403Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2025-12-26T04:26:00.163403Z 01O | ^~~~~ 2025-12-26T04:26:00.163465Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:7: note: Returning from 'small' 2025-12-26T04:26:00.163466Z 01O 1458 | if (SMALL(i)) { 2025-12-26T04:26:00.163466Z 01O | ^ 2025-12-26T04:26:00.163467Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2025-12-26T04:26:00.163468Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2025-12-26T04:26:00.163468Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.163469Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking false branch 2025-12-26T04:26:00.163469Z 01O 1458 | if (SMALL(i)) { 2025-12-26T04:26:00.163470Z 01O | ^ 2025-12-26T04:26:00.163470Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:9: note: Assuming the condition is false 2025-12-26T04:26:00.163471Z 01O 1461 | if (m[0] == i) { 2025-12-26T04:26:00.163471Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.163472Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:5: note: Taking false branch 2025-12-26T04:26:00.163472Z 01O 1461 | if (m[0] == i) { 2025-12-26T04:26:00.163473Z 01O | ^ 2025-12-26T04:26:00.163473Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: 'even' is true 2025-12-26T04:26:00.163474Z 01O 1465 | } else if (even && n[0] == i) { 2025-12-26T04:26:00.163474Z 01O | ^~~~ 2025-12-26T04:26:00.163475Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: Left side of '&&' is true 2025-12-26T04:26:00.163475Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:24: note: Assuming the condition is false 2025-12-26T04:26:00.163476Z 01O 1465 | } else if (even && n[0] == i) { 2025-12-26T04:26:00.163476Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.163477Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:12: note: Taking false branch 2025-12-26T04:26:00.163478Z 01O 1465 | } else if (even && n[0] == i) { 2025-12-26T04:26:00.163478Z 01O | ^ 2025-12-26T04:26:00.163479Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:9: note: Assuming the condition is false 2025-12-26T04:26:00.163479Z 01O 1468 | if (s[0] > 0) { 2025-12-26T04:26:00.163480Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.163480Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:5: note: Taking false branch 2025-12-26T04:26:00.163481Z 01O 1468 | if (s[0] > 0) { 2025-12-26T04:26:00.163481Z 01O | ^ 2025-12-26T04:26:00.163482Z 01O /builds/Rdatatable/data.table/src/froll.c:1693:9: note: Returning from 'delete2' 2025-12-26T04:26:00.163482Z 01O 1693 | DELETE2(A); 2025-12-26T04:26:00.163483Z 01O | ^ 2025-12-26T04:26:00.163494Z 01O /builds/Rdatatable/data.table/src/froll.c:1476:20: note: expanded from macro 'DELETE2' 2025-12-26T04:26:00.163494Z 01O 1476 | #define DELETE2(j) delete2(i, &x[(j)*k], &prev[(j)*(k+1)], &next[(j)*(k+1)], &m[(j)], &n[(j)], &s[(j)], tail, even) 2025-12-26T04:26:00.163495Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.163496Z 01O /builds/Rdatatable/data.table/src/froll.c:1699:13: note: Assuming the condition is true 2025-12-26T04:26:00.163496Z 01O 1699 | if (s[A] + s[B] < h) { 2025-12-26T04:26:00.163497Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.163546Z 01O /builds/Rdatatable/data.table/src/froll.c:1699:9: note: Taking true branch 2025-12-26T04:26:00.163547Z 01O 1699 | if (s[A] + s[B] < h) { 2025-12-26T04:26:00.163548Z 01O | ^ 2025-12-26T04:26:00.163555Z 01O /builds/Rdatatable/data.table/src/froll.c:1700:15: note: Assuming the condition is true 2025-12-26T04:26:00.163556Z 01O 1700 | if (PEEK(A) <= PEEK(B)) { 2025-12-26T04:26:00.163557Z 01O | ^ 2025-12-26T04:26:00.163557Z 01O /builds/Rdatatable/data.table/src/froll.c:1369:17: note: expanded from macro 'PEEK' 2025-12-26T04:26:00.163558Z 01O 1369 | #define PEEK(j) peek(&x[(j)*k], m[(j)], tail) 2025-12-26T04:26:00.163558Z 01O | ^ 2025-12-26T04:26:00.163559Z 01O /builds/Rdatatable/data.table/src/froll.c:1700:11: note: Taking true branch 2025-12-26T04:26:00.163559Z 01O 1700 | if (PEEK(A) <= PEEK(B)) { 2025-12-26T04:26:00.163560Z 01O | ^ 2025-12-26T04:26:00.163560Z 01O /builds/Rdatatable/data.table/src/froll.c:1701:13: note: Calling 'advance2' 2025-12-26T04:26:00.163561Z 01O 1701 | ADVANCE2(A); 2025-12-26T04:26:00.163561Z 01O | ^ 2025-12-26T04:26:00.163611Z 01O /builds/Rdatatable/data.table/src/froll.c:1495:21: note: expanded from macro 'ADVANCE2' 2025-12-26T04:26:00.163612Z 01O 1495 | #define ADVANCE2(j) advance2(&next[(j)*(k+1)], &m[(j)], &n[(j)], &s[(j)], even) 2025-12-26T04:26:00.163613Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.163613Z 01O /builds/Rdatatable/data.table/src/froll.c:1490:10: note: Access of the heap area at negative byte offset 2025-12-26T04:26:00.163614Z 01O 1490 | m[0] = next[m[0]]; 2025-12-26T04:26:00.163615Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.163618Z 01O /builds/Rdatatable/data.table/src/froll.c:1576:12: warning: Call to 'malloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2025-12-26T04:26:00.163619Z 01O 1576 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2025-12-26T04:26:00.163620Z 01O | ^ ~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.163620Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.163621Z 01O 1504 | if (verbose) 2025-12-26T04:26:00.163621Z 01O | ^~~~~~~ 2025-12-26T04:26:00.163622Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2025-12-26T04:26:00.163622Z 01O 1504 | if (verbose) 2025-12-26T04:26:00.163623Z 01O | ^ 2025-12-26T04:26:00.163623Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2025-12-26T04:26:00.163624Z 01O 1506 | if (k == 0) { 2025-12-26T04:26:00.163624Z 01O | ^~~~~~ 2025-12-26T04:26:00.163681Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2025-12-26T04:26:00.163682Z 01O 1506 | if (k == 0) { 2025-12-26T04:26:00.163682Z 01O | ^ 2025-12-26T04:26:00.163683Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2025-12-26T04:26:00.163683Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.163684Z 01O | ^~~~~~ 2025-12-26T04:26:00.163685Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2025-12-26T04:26:00.163691Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2025-12-26T04:26:00.163692Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.163692Z 01O | ^~~~~~ 2025-12-26T04:26:00.163693Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2025-12-26T04:26:00.163694Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2025-12-26T04:26:00.163694Z 01O | ^ 2025-12-26T04:26:00.163695Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is >= 0 2025-12-26T04:26:00.163695Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.163696Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.163702Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2025-12-26T04:26:00.163703Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.163704Z 01O | ^ 2025-12-26T04:26:00.163706Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is >= 'nx' 2025-12-26T04:26:00.163707Z 01O 1547 | for (uint64_t i=0; i= 0 2025-12-26T04:26:00.163921Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.163921Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.163922Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2025-12-26T04:26:00.163922Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.163923Z 01O | ^ 2025-12-26T04:26:00.163923Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2025-12-26T04:26:00.163924Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2025-12-26T04:26:00.164134Z 01O 1547 | for (uint64_t i=0; i= 0 2025-12-26T04:26:00.164504Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.164505Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.164505Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2025-12-26T04:26:00.164506Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.164506Z 01O | ^ 2025-12-26T04:26:00.164609Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2025-12-26T04:26:00.164610Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2025-12-26T04:26:00.164630Z 01O 1547 | for (uint64_t i=0; i=0) { 2025-12-26T04:26:00.164934Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.164934Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2025-12-26T04:26:00.164935Z 01O 1546 | if (hasnf>=0) { 2025-12-26T04:26:00.164935Z 01O | ^ 2025-12-26T04:26:00.164960Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is not equal to 0 2025-12-26T04:26:00.164961Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.164962Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.164962Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking true branch 2025-12-26T04:26:00.164963Z 01O 1565 | if (nx_mod_k) { 2025-12-26T04:26:00.164963Z 01O | ^ 2025-12-26T04:26:00.164964Z 01O /builds/Rdatatable/data.table/src/froll.c:1566:9: note: 'verbose' is false 2025-12-26T04:26:00.164964Z 01O 1566 | if (verbose) 2025-12-26T04:26:00.164965Z 01O | ^~~~~~~ 2025-12-26T04:26:00.164967Z 01O /builds/Rdatatable/data.table/src/froll.c:1566:5: note: Taking false branch 2025-12-26T04:26:00.164967Z 01O 1566 | if (verbose) 2025-12-26T04:26:00.164968Z 01O | ^ 2025-12-26T04:26:00.165017Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2025-12-26T04:26:00.165017Z 01O 1572 | bool even = !(k % 2); 2025-12-26T04:26:00.165018Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.165018Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2025-12-26T04:26:00.165019Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2025-12-26T04:26:00.165019Z 01O | ^~~~ 2025-12-26T04:26:00.165020Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2025-12-26T04:26:00.165020Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2025-12-26T04:26:00.165025Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.165026Z 01O | ^~ 2025-12-26T04:26:00.165026Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2025-12-26T04:26:00.165027Z 01O 1577 | if (!o) { // # nocov start 2025-12-26T04:26:00.165027Z 01O | ^ 2025-12-26T04:26:00.165046Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is not equal to 0 2025-12-26T04:26:00.165049Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.165050Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.165053Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking true branch 2025-12-26T04:26:00.165053Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2025-12-26T04:26:00.165054Z 01O | ^ 2025-12-26T04:26:00.165054Z 01O /builds/Rdatatable/data.table/src/froll.c:1582:19: note: Assuming the condition is false 2025-12-26T04:26:00.165055Z 01O 1582 | for (int i=0; i= nx_mod_k) 2025-12-26T04:26:00.165537Z 01O | ^ 2025-12-26T04:26:00.165543Z 01O /builds/Rdatatable/data.table/src/froll.c:1690:11: note: Taking false branch 2025-12-26T04:26:00.165544Z 01O 1690 | if (i >= nx_mod_k) 2025-12-26T04:26:00.165544Z 01O | ^ 2025-12-26T04:26:00.165545Z 01O /builds/Rdatatable/data.table/src/froll.c:1693:9: note: Calling 'delete2' 2025-12-26T04:26:00.165545Z 01O 1693 | DELETE2(A); 2025-12-26T04:26:00.165546Z 01O | ^ 2025-12-26T04:26:00.165554Z 01O /builds/Rdatatable/data.table/src/froll.c:1476:20: note: expanded from macro 'DELETE2' 2025-12-26T04:26:00.165554Z 01O 1476 | #define DELETE2(j) delete2(i, &x[(j)*k], &prev[(j)*(k+1)], &next[(j)*(k+1)], &m[(j)], &n[(j)], &s[(j)], tail, even) 2025-12-26T04:26:00.165555Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.165556Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking true branch 2025-12-26T04:26:00.165556Z 01O 1458 | if (SMALL(i)) { 2025-12-26T04:26:00.165557Z 01O | ^ 2025-12-26T04:26:00.165557Z 01O /builds/Rdatatable/data.table/src/froll.c:1475:1: note: Returning without writing to '*n' 2025-12-26T04:26:00.165558Z 01O 1475 | } 2025-12-26T04:26:00.165558Z 01O | ^ 2025-12-26T04:26:00.165621Z 01O /builds/Rdatatable/data.table/src/froll.c:1693:9: note: Returning from 'delete2' 2025-12-26T04:26:00.165622Z 01O 1693 | DELETE2(A); 2025-12-26T04:26:00.165622Z 01O | ^ 2025-12-26T04:26:00.165623Z 01O /builds/Rdatatable/data.table/src/froll.c:1476:20: note: expanded from macro 'DELETE2' 2025-12-26T04:26:00.165623Z 01O 1476 | #define DELETE2(j) delete2(i, &x[(j)*k], &prev[(j)*(k+1)], &next[(j)*(k+1)], &m[(j)], &n[(j)], &s[(j)], tail, even) 2025-12-26T04:26:00.165624Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.165625Z 01O /builds/Rdatatable/data.table/src/froll.c:1699:9: note: Taking true branch 2025-12-26T04:26:00.165625Z 01O 1699 | if (s[A] + s[B] < h) { 2025-12-26T04:26:00.165626Z 01O | ^ 2025-12-26T04:26:00.165634Z 01O /builds/Rdatatable/data.table/src/froll.c:1700:15: note: Assuming the condition is false 2025-12-26T04:26:00.165635Z 01O 1700 | if (PEEK(A) <= PEEK(B)) { 2025-12-26T04:26:00.165641Z 01O | ^ 2025-12-26T04:26:00.165641Z 01O /builds/Rdatatable/data.table/src/froll.c:1369:17: note: expanded from macro 'PEEK' 2025-12-26T04:26:00.165642Z 01O 1369 | #define PEEK(j) peek(&x[(j)*k], m[(j)], tail) 2025-12-26T04:26:00.165642Z 01O | ^ 2025-12-26T04:26:00.165643Z 01O /builds/Rdatatable/data.table/src/froll.c:1700:11: note: Taking false branch 2025-12-26T04:26:00.165643Z 01O 1700 | if (PEEK(A) <= PEEK(B)) { 2025-12-26T04:26:00.165644Z 01O | ^ 2025-12-26T04:26:00.165644Z 01O /builds/Rdatatable/data.table/src/froll.c:1710:17: note: The left operand of '!=' is a garbage value 2025-12-26T04:26:00.165645Z 01O 1710 | if (n[A]!=tail && m[A] == n[A]) { 2025-12-26T04:26:00.165645Z 01O | ~~~~^ 2025-12-26T04:26:00.165759Z 01O /builds/Rdatatable/data.table/src/frollR.c:28:8: warning: Value stored to 'ans' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.165760Z 01O 28 | SEXP ans = R_NilValue; 2025-12-26T04:26:00.165760Z 01O | ^~~ ~~~~~~~~~~ 2025-12-26T04:26:00.165761Z 01O /builds/Rdatatable/data.table/src/frollR.c:28:8: note: Value stored to 'ans' during its initialization is never read 2025-12-26T04:26:00.165762Z 01O 28 | SEXP ans = R_NilValue; 2025-12-26T04:26:00.165762Z 01O | ^~~ ~~~~~~~~~~ 2025-12-26T04:26:00.165836Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:563:19: warning: Out of bound access to memory after the end of the heap area [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.165837Z 01O 563 | if (isnan[i+j]) { 2025-12-26T04:26:00.165838Z 01O | ^ 2025-12-26T04:26:00.165838Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:12:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.165839Z 01O 12 | if (verbose) 2025-12-26T04:26:00.165839Z 01O | ^~~~~~~ 2025-12-26T04:26:00.165850Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:12:3: note: Taking false branch 2025-12-26T04:26:00.165851Z 01O 12 | if (verbose) 2025-12-26T04:26:00.165852Z 01O | ^ 2025-12-26T04:26:00.165852Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:14:3: note: Control jumps to 'case MAX:' at line 29 2025-12-26T04:26:00.165853Z 01O 14 | switch (rfun) { 2025-12-26T04:26:00.165853Z 01O | ^ 2025-12-26T04:26:00.165854Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:30:9: note: Assuming 'algo' is not equal to 0 2025-12-26T04:26:00.165854Z 01O 30 | if (algo==0 && verbose) { 2025-12-26T04:26:00.165855Z 01O | ^~~~~~~ 2025-12-26T04:26:00.165855Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:30:17: note: Left side of '&&' is false 2025-12-26T04:26:00.165856Z 01O 30 | if (algo==0 && verbose) { 2025-12-26T04:26:00.165856Z 01O | ^ 2025-12-26T04:26:00.165857Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:34:5: note: Calling 'frolladaptivemaxExact' 2025-12-26T04:26:00.165857Z 01O 34 | frolladaptivemaxExact(x, nx, ans, k, fill, narm, hasnf, verbose); 2025-12-26T04:26:00.165858Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.165859Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:511:7: note: 'verbose' is false 2025-12-26T04:26:00.165859Z 01O 511 | if (verbose) 2025-12-26T04:26:00.165860Z 01O | ^~~~~~~ 2025-12-26T04:26:00.165860Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:511:3: note: Taking false branch 2025-12-26T04:26:00.165861Z 01O 511 | if (verbose) 2025-12-26T04:26:00.165861Z 01O | ^ 2025-12-26T04:26:00.165904Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:513:7: note: Assuming 'narm' is false 2025-12-26T04:26:00.165905Z 01O 513 | if (narm || hasnf==-1) { // fastest we can get for adaptive max as there is no algo='fast', therefore we drop any NA checks when has.nf=FALSE 2025-12-26T04:26:00.165905Z 01O | ^~~~ 2025-12-26T04:26:00.165906Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:513:7: note: Left side of '||' is false 2025-12-26T04:26:00.165914Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:513:15: note: Assuming the condition is false 2025-12-26T04:26:00.165915Z 01O 513 | if (narm || hasnf==-1) { // fastest we can get for adaptive max as there is no algo='fast', therefore we drop any NA checks when has.nf=FALSE 2025-12-26T04:26:00.165916Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.165916Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:513:3: note: Taking false branch 2025-12-26T04:26:00.165917Z 01O 513 | if (narm || hasnf==-1) { // fastest we can get for adaptive max as there is no algo='fast', therefore we drop any NA checks when has.nf=FALSE 2025-12-26T04:26:00.165918Z 01O | ^ 2025-12-26T04:26:00.165990Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:529:9: note: Assuming 'isnan' is non-null 2025-12-26T04:26:00.165991Z 01O 529 | if (!isnan) { // # nocov start 2025-12-26T04:26:00.165992Z 01O | ^~~~~~ 2025-12-26T04:26:00.165992Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:529:5: note: Taking false branch 2025-12-26T04:26:00.165993Z 01O 529 | if (!isnan) { // # nocov start 2025-12-26T04:26:00.165993Z 01O | ^ 2025-12-26T04:26:00.165994Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:533:22: note: Assuming 'hasnf' is > 0 2025-12-26T04:26:00.165994Z 01O 533 | bool truehasnf = hasnf>0; 2025-12-26T04:26:00.165995Z 01O | ^~~~~~~ 2025-12-26T04:26:00.165997Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:534:24: note: 'i' is < 'nx' 2025-12-26T04:26:00.165998Z 01O 534 | for (uint64_t i=0; i= 'nx' 2025-12-26T04:26:00.166051Z 01O 534 | for (uint64_t i=0; i 0 2025-12-26T04:26:00.166355Z 01O 608 | bool truehasnf = hasnf>0; 2025-12-26T04:26:00.166356Z 01O | ^~~~~~~ 2025-12-26T04:26:00.166356Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:609:24: note: 'i' is < 'nx' 2025-12-26T04:26:00.166357Z 01O 609 | for (uint64_t i=0; i= 'nx' 2025-12-26T04:26:00.166481Z 01O 609 | for (uint64_t i=0; i= 'nx' 2025-12-26T04:26:00.166609Z 01O 931 | for (uint64_t i=1; i=0; i--) { 2025-12-26T04:26:00.166842Z 01O | ^ 2025-12-26T04:26:00.166894Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:11: note: Assuming the condition is false 2025-12-26T04:26:00.166895Z 01O 880 | if (i+1 == ik) { 2025-12-26T04:26:00.166895Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.166896Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:7: note: Taking false branch 2025-12-26T04:26:00.166896Z 01O 880 | if (i+1 == ik) { 2025-12-26T04:26:00.166897Z 01O | ^ 2025-12-26T04:26:00.166897Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:18: note: Assuming the condition is false 2025-12-26T04:26:00.166898Z 01O 882 | } else if (i+1 < ik) { 2025-12-26T04:26:00.166898Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.166902Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:14: note: Taking false branch 2025-12-26T04:26:00.166903Z 01O 882 | } else if (i+1 < ik) { 2025-12-26T04:26:00.166903Z 01O | ^ 2025-12-26T04:26:00.166904Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:885:25: note: Assuming index is non-negative and less than 1, the number of 'int' elements in the heap area 2025-12-26T04:26:00.166904Z 01O 885 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2025-12-26T04:26:00.166905Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.166906Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:878:5: note: Loop condition is false. Execution continues on line 889 2025-12-26T04:26:00.166906Z 01O 878 | for (int64_t i=nx-1; i>=0; i--) { 2025-12-26T04:26:00.166907Z 01O | ^ 2025-12-26T04:26:00.166907Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:989:14: note: Returning from 'frolladaptiveNAFast' 2025-12-26T04:26:00.166908Z 01O 989 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2025-12-26T04:26:00.166908Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.166909Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:10: note: 'nc' is 1 2025-12-26T04:26:00.166910Z 01O 990 | if (!nc) { // total NA for x 2025-12-26T04:26:00.166910Z 01O | ^~ 2025-12-26T04:26:00.166918Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:5: note: Taking false branch 2025-12-26T04:26:00.166918Z 01O 990 | if (!nc) { // total NA for x 2025-12-26T04:26:00.166919Z 01O | ^ 2025-12-26T04:26:00.166919Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.166924Z 01O 998 | for (uint64_t i=0; i= 'ngrp' 2025-12-26T04:26:00.167382Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2025-12-26T04:26:00.167576Z 01O | ^~~~~~~ 2025-12-26T04:26:00.167576Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2025-12-26T04:26:00.167577Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2025-12-26T04:26:00.167577Z 01O | ^ 2025-12-26T04:26:00.167667Z 01O /builds/Rdatatable/data.table/src/data.table.h:60:19: note: expanded from macro 'MAX' 2025-12-26T04:26:00.167668Z 01O 60 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2025-12-26T04:26:00.167669Z 01O | ^ 2025-12-26T04:26:00.167669Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2025-12-26T04:26:00.167670Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2025-12-26T04:26:00.167670Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.167671Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2025-12-26T04:26:00.167679Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2025-12-26T04:26:00.167679Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2025-12-26T04:26:00.167680Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.167680Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2025-12-26T04:26:00.167681Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2025-12-26T04:26:00.167682Z 01O | ^ 2025-12-26T04:26:00.167682Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2025-12-26T04:26:00.167683Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2025-12-26T04:26:00.167683Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.167688Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2025-12-26T04:26:00.167689Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2025-12-26T04:26:00.167689Z 01O | ^ 2025-12-26T04:26:00.167690Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2025-12-26T04:26:00.167691Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2025-12-26T04:26:00.167829Z 01O | ^~~~~~~ 2025-12-26T04:26:00.167840Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2025-12-26T04:26:00.167841Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2025-12-26T04:26:00.167842Z 01O | ^ 2025-12-26T04:26:00.167842Z 01O /builds/Rdatatable/data.table/src/data.table.h:60:19: note: expanded from macro 'MAX' 2025-12-26T04:26:00.167843Z 01O 60 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2025-12-26T04:26:00.167843Z 01O | ^ 2025-12-26T04:26:00.167844Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2025-12-26T04:26:00.167844Z 01O 122 | if (!counts || !TMP ) { 2025-12-26T04:26:00.167845Z 01O | ^~~~~~~ 2025-12-26T04:26:00.167850Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2025-12-26T04:26:00.167850Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2025-12-26T04:26:00.167851Z 01O 122 | if (!counts || !TMP ) { 2025-12-26T04:26:00.167852Z 01O | ^~~~ 2025-12-26T04:26:00.167852Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2025-12-26T04:26:00.167853Z 01O 122 | if (!counts || !TMP ) { 2025-12-26T04:26:00.167853Z 01O | ^ 2025-12-26T04:26:00.167856Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2025-12-26T04:26:00.167857Z 01O 127 | for (int b=0; b= 'howMany' 2025-12-26T04:26:00.167951Z 01O 131 | for (int i=0; i= 'highSize' 2025-12-26T04:26:00.167961Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2025-12-26T04:26:00.168233Z 01O | ^ 2025-12-26T04:26:00.168234Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2025-12-26T04:26:00.168235Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2025-12-26T04:26:00.168235Z 01O | ^ ~ 2025-12-26T04:26:00.168236Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2025-12-26T04:26:00.168236Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2025-12-26T04:26:00.168237Z 01O | ^ ~ 2025-12-26T04:26:00.168263Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2025-12-26T04:26:00.168264Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168264Z 01O | ^ 2025-12-26T04:26:00.168265Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168265Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168266Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.168267Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2025-12-26T04:26:00.168267Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168268Z 01O | ^ 2025-12-26T04:26:00.168271Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168272Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168273Z 01O | ^ 2025-12-26T04:26:00.168273Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2025-12-26T04:26:00.168274Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168274Z 01O | ^ 2025-12-26T04:26:00.168337Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168338Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168339Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.168339Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2025-12-26T04:26:00.168340Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168340Z 01O | ^ 2025-12-26T04:26:00.168345Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168346Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168347Z 01O | ^ 2025-12-26T04:26:00.168347Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2025-12-26T04:26:00.168348Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168348Z 01O | ^ 2025-12-26T04:26:00.168353Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168354Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168355Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.168355Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2025-12-26T04:26:00.168356Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168357Z 01O | ^ 2025-12-26T04:26:00.168412Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2025-12-26T04:26:00.168413Z 01O 1120 | if (!isVectorAtomic(x)) 2025-12-26T04:26:00.168414Z 01O | ^~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.168414Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2025-12-26T04:26:00.168415Z 01O 1120 | if (!isVectorAtomic(x)) 2025-12-26T04:26:00.168415Z 01O | ^ 2025-12-26T04:26:00.168416Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2025-12-26T04:26:00.168416Z 01O 1122 | if (inherits(x, "factor")) 2025-12-26T04:26:00.168417Z 01O | ^ 2025-12-26T04:26:00.168419Z 01O /usr/local/lib/R/include/Rinternals.h:944:19: note: expanded from macro 'inherits' 2025-12-26T04:26:00.168420Z 01O 944 | #define inherits Rf_inherits 2025-12-26T04:26:00.168420Z 01O | ^ 2025-12-26T04:26:00.168421Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2025-12-26T04:26:00.168422Z 01O 1122 | if (inherits(x, "factor")) 2025-12-26T04:26:00.168422Z 01O | ^ 2025-12-26T04:26:00.168426Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2025-12-26T04:26:00.168427Z 01O 1124 | const bool nosubset = irowslen==-1; 2025-12-26T04:26:00.168427Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.168428Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2025-12-26T04:26:00.168428Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2025-12-26T04:26:00.168429Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.168429Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2025-12-26T04:26:00.168488Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2025-12-26T04:26:00.168489Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2025-12-26T04:26:00.168490Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.168490Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2025-12-26T04:26:00.168491Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2025-12-26T04:26:00.168492Z 01O | ^ 2025-12-26T04:26:00.168495Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2025-12-26T04:26:00.168496Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2025-12-26T04:26:00.168497Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.168497Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2025-12-26T04:26:00.168498Z 01O 1129 | if (!s) 2025-12-26T04:26:00.168498Z 01O | ^~ 2025-12-26T04:26:00.168499Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2025-12-26T04:26:00.168499Z 01O 1129 | if (!s) 2025-12-26T04:26:00.168500Z 01O | ^ 2025-12-26T04:26:00.168502Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2025-12-26T04:26:00.168503Z 01O 1131 | for (int i=0; i= 'n' 2025-12-26T04:26:00.168561Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2025-12-26T04:26:00.168614Z 01O | ^ 2025-12-26T04:26:00.168615Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2025-12-26T04:26:00.168615Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2025-12-26T04:26:00.168616Z 01O | ^ ~ 2025-12-26T04:26:00.168616Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2025-12-26T04:26:00.168617Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2025-12-26T04:26:00.168617Z 01O | ^ ~ 2025-12-26T04:26:00.168659Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2025-12-26T04:26:00.168660Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2025-12-26T04:26:00.168660Z 01O | ~~~~ ^ 2025-12-26T04:26:00.168661Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2025-12-26T04:26:00.168661Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168662Z 01O | ^ 2025-12-26T04:26:00.168666Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168667Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168672Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.168673Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2025-12-26T04:26:00.168673Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168674Z 01O | ^ 2025-12-26T04:26:00.168696Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168697Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168698Z 01O | ^ 2025-12-26T04:26:00.168714Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2025-12-26T04:26:00.168715Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168715Z 01O | ^ 2025-12-26T04:26:00.168716Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168717Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168717Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.168718Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2025-12-26T04:26:00.168718Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168719Z 01O | ^ 2025-12-26T04:26:00.168719Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168720Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168721Z 01O | ^ 2025-12-26T04:26:00.168765Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2025-12-26T04:26:00.168766Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168767Z 01O | ^ 2025-12-26T04:26:00.168785Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.168785Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.168786Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.168787Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2025-12-26T04:26:00.168787Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2025-12-26T04:26:00.168788Z 01O | ^ 2025-12-26T04:26:00.168788Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2025-12-26T04:26:00.168789Z 01O 1120 | if (!isVectorAtomic(x)) 2025-12-26T04:26:00.168789Z 01O | ^~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.168790Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2025-12-26T04:26:00.168790Z 01O 1120 | if (!isVectorAtomic(x)) 2025-12-26T04:26:00.168791Z 01O | ^ 2025-12-26T04:26:00.168825Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2025-12-26T04:26:00.168826Z 01O 1122 | if (inherits(x, "factor")) 2025-12-26T04:26:00.168827Z 01O | ^ 2025-12-26T04:26:00.168827Z 01O /usr/local/lib/R/include/Rinternals.h:944:19: note: expanded from macro 'inherits' 2025-12-26T04:26:00.168828Z 01O 944 | #define inherits Rf_inherits 2025-12-26T04:26:00.168828Z 01O | ^ 2025-12-26T04:26:00.168829Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2025-12-26T04:26:00.168829Z 01O 1122 | if (inherits(x, "factor")) 2025-12-26T04:26:00.168830Z 01O | ^ 2025-12-26T04:26:00.168833Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2025-12-26T04:26:00.168834Z 01O 1124 | const bool nosubset = irowslen==-1; 2025-12-26T04:26:00.168839Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.168840Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2025-12-26T04:26:00.168841Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2025-12-26T04:26:00.168841Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.168842Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2025-12-26T04:26:00.168864Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2025-12-26T04:26:00.168864Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2025-12-26T04:26:00.168865Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.168866Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2025-12-26T04:26:00.168866Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2025-12-26T04:26:00.168867Z 01O | ^ 2025-12-26T04:26:00.168937Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2025-12-26T04:26:00.168938Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2025-12-26T04:26:00.168938Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.168939Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2025-12-26T04:26:00.168939Z 01O 1129 | if (!s) 2025-12-26T04:26:00.168940Z 01O | ^~ 2025-12-26T04:26:00.168940Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2025-12-26T04:26:00.168941Z 01O 1129 | if (!s) 2025-12-26T04:26:00.168941Z 01O | ^ 2025-12-26T04:26:00.168942Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2025-12-26T04:26:00.168942Z 01O 1131 | for (int i=0; i= 'n' 2025-12-26T04:26:00.168947Z 01O 1135 | for (int i=0; i' is a garbage value 2025-12-26T04:26:00.169001Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2025-12-26T04:26:00.169002Z 01O | ~~~~ ^ 2025-12-26T04:26:00.169102Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: warning: Right shift by '64' overflows the capacity of 'size_t' [clang-analyzer-core.BitwiseShift] 2025-12-26T04:26:00.169103Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2025-12-26T04:26:00.169104Z 01O | ^ 2025-12-26T04:26:00.169104Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2025-12-26T04:26:00.169105Z 01O 162 | if (!hash_set_(h, key, value)) { 2025-12-26T04:26:00.169105Z 01O | ^ 2025-12-26T04:26:00.169106Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2025-12-26T04:26:00.169106Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2025-12-26T04:26:00.169107Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.169116Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2025-12-26T04:26:00.169117Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2025-12-26T04:26:00.169117Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169119Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2025-12-26T04:26:00.169120Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2025-12-26T04:26:00.169121Z 01O | ^ 2025-12-26T04:26:00.169164Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2025-12-26T04:26:00.169165Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2025-12-26T04:26:00.169166Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169166Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2025-12-26T04:26:00.169167Z 01O 54 | if (!ret) 2025-12-26T04:26:00.169167Z 01O | ^~~~ 2025-12-26T04:26:00.169168Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2025-12-26T04:26:00.169168Z 01O 54 | if (!ret) 2025-12-26T04:26:00.169169Z 01O | ^ 2025-12-26T04:26:00.169169Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2025-12-26T04:26:00.169170Z 01O 59 | if (!table) { 2025-12-26T04:26:00.169170Z 01O | ^~~~~~ 2025-12-26T04:26:00.169171Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2025-12-26T04:26:00.169171Z 01O 59 | if (!table) { 2025-12-26T04:26:00.169172Z 01O | ^ 2025-12-26T04:26:00.169176Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2025-12-26T04:26:00.169176Z 01O 70 | while ((1ULL << k) < n_full) k++; 2025-12-26T04:26:00.169177Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169177Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2025-12-26T04:26:00.169178Z 01O 70 | while ((1ULL << k) < n_full) k++; 2025-12-26T04:26:00.169179Z 01O | ^ 2025-12-26T04:26:00.169179Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2025-12-26T04:26:00.169180Z 01O 71 | ret->shift = HASH_BITS - k; 2025-12-26T04:26:00.169180Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169181Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2025-12-26T04:26:00.169188Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2025-12-26T04:26:00.169189Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169189Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2025-12-26T04:26:00.169190Z 01O 133 | if (!new_h) return NULL; 2025-12-26T04:26:00.169190Z 01O | ^~~~~ 2025-12-26T04:26:00.169191Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2025-12-26T04:26:00.169192Z 01O 133 | if (!new_h) return NULL; 2025-12-26T04:26:00.169192Z 01O | ^ 2025-12-26T04:26:00.169280Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2025-12-26T04:26:00.169281Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2025-12-26T04:26:00.169281Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.169282Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.169283Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2025-12-26T04:26:00.169283Z 01O | ^ 2025-12-26T04:26:00.169284Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2025-12-26T04:26:00.169284Z 01O 138 | if (h->table[i].key) 2025-12-26T04:26:00.169285Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169285Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2025-12-26T04:26:00.169286Z 01O 138 | if (h->table[i].key) 2025-12-26T04:26:00.169286Z 01O | ^ 2025-12-26T04:26:00.169289Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2025-12-26T04:26:00.169290Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2025-12-26T04:26:00.169290Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169291Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2025-12-26T04:26:00.169291Z 01O 110 | size_t idx = hash_index(key, h->shift); 2025-12-26T04:26:00.169292Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.169301Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2025-12-26T04:26:00.169301Z 01O 110 | size_t idx = hash_index(key, h->shift); 2025-12-26T04:26:00.169302Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169303Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2025-12-26T04:26:00.169303Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2025-12-26T04:26:00.169304Z 01O | ^ 2025-12-26T04:26:00.169304Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2025-12-26T04:26:00.169305Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2025-12-26T04:26:00.169306Z 01O | ^ 2025-12-26T04:26:00.169306Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: note: The result of right shift is undefined because the right operand '64' is not smaller than 64, the capacity of 'size_t' 2025-12-26T04:26:00.169307Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2025-12-26T04:26:00.169308Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2025-12-26T04:26:00.169444Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.169445Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2025-12-26T04:26:00.169446Z 01O | ^ 2025-12-26T04:26:00.169447Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2025-12-26T04:26:00.169452Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.169453Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2025-12-26T04:26:00.169454Z 01O | ^ 2025-12-26T04:26:00.169455Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2025-12-26T04:26:00.169458Z 01O /builds/Rdatatable/data.table/src/ijoin.c:373:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.169459Z 01O 373 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2025-12-26T04:26:00.169459Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169460Z 01O /builds/Rdatatable/data.table/src/ijoin.c:373:13: note: Value stored to 'tmp2' is never read 2025-12-26T04:26:00.169461Z 01O 373 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2025-12-26T04:26:00.169461Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169574Z 01O /builds/Rdatatable/data.table/src/nafill.c:10:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.169575Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2025-12-26T04:26:00.169575Z 01O | ^ 2025-12-26T04:26:00.169576Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.169577Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.169577Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.169577Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.169578Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.169579Z 01O | ^ 2025-12-26T04:26:00.169579Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.169580Z 01O 103 | if (verbose) 2025-12-26T04:26:00.169580Z 01O | ^~~~~~~ 2025-12-26T04:26:00.169580Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.169581Z 01O 103 | if (verbose) 2025-12-26T04:26:00.169582Z 01O | ^ 2025-12-26T04:26:00.169587Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.169588Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.169588Z 01O | ^ 2025-12-26T04:26:00.169589Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.169589Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.169590Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.169591Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.169591Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.169592Z 01O | ^ 2025-12-26T04:26:00.169594Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.169595Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.169596Z 01O | ^ 2025-12-26T04:26:00.169613Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.169614Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.169614Z 01O | ^ 2025-12-26T04:26:00.169646Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.169651Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.169652Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.169652Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.169653Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.169653Z 01O | ^ 2025-12-26T04:26:00.169654Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.169655Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.169655Z 01O | ^ 2025-12-26T04:26:00.169656Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.169656Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.169657Z 01O | ^ 2025-12-26T04:26:00.169657Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.169658Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.169659Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.170006Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.170006Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170007Z 01O | ^ 2025-12-26T04:26:00.170007Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.170008Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.170008Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.170009Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.170010Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.170010Z 01O | ^ 2025-12-26T04:26:00.170010Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.170011Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.170028Z 01O 139 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2025-12-26T04:26:00.170175Z 01O | ^ 2025-12-26T04:26:00.170175Z 01O /builds/Rdatatable/data.table/src/nafill.c:14:30: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.170176Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2025-12-26T04:26:00.170182Z 01O | ^ 2025-12-26T04:26:00.170183Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.170184Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.170184Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.170184Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.170185Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.170186Z 01O | ^ 2025-12-26T04:26:00.170186Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.170187Z 01O 103 | if (verbose) 2025-12-26T04:26:00.170187Z 01O | ^~~~~~~ 2025-12-26T04:26:00.170190Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.170191Z 01O 103 | if (verbose) 2025-12-26T04:26:00.170191Z 01O | ^ 2025-12-26T04:26:00.170192Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.170192Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170193Z 01O | ^ 2025-12-26T04:26:00.170197Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170198Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170199Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.170199Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.170200Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170200Z 01O | ^ 2025-12-26T04:26:00.170201Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170201Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170202Z 01O | ^ 2025-12-26T04:26:00.170280Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.170280Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170281Z 01O | ^ 2025-12-26T04:26:00.170281Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170282Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170283Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.170283Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.170284Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170285Z 01O | ^ 2025-12-26T04:26:00.170285Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170286Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170286Z 01O | ^ 2025-12-26T04:26:00.170289Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.170289Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170290Z 01O | ^ 2025-12-26T04:26:00.170292Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170293Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170294Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.170298Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.170303Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170303Z 01O | ^ 2025-12-26T04:26:00.170304Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.170304Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.170305Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.170305Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.170306Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.170306Z 01O | ^ 2025-12-26T04:26:00.170307Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.170308Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.170335Z 01O 139 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2025-12-26T04:26:00.170589Z 01O | ^ 2025-12-26T04:26:00.170606Z 01O /builds/Rdatatable/data.table/src/nafill.c:19:29: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.170607Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2025-12-26T04:26:00.170608Z 01O | ^ 2025-12-26T04:26:00.170608Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.170609Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.170609Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.170610Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.170610Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.170611Z 01O | ^ 2025-12-26T04:26:00.170611Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.170612Z 01O 103 | if (verbose) 2025-12-26T04:26:00.170612Z 01O | ^~~~~~~ 2025-12-26T04:26:00.170613Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.170613Z 01O 103 | if (verbose) 2025-12-26T04:26:00.170614Z 01O | ^ 2025-12-26T04:26:00.170614Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.170615Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170615Z 01O | ^ 2025-12-26T04:26:00.170660Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170660Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170661Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.170662Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.170667Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170667Z 01O | ^ 2025-12-26T04:26:00.170696Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170696Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170697Z 01O | ^ 2025-12-26T04:26:00.170698Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.170698Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170699Z 01O | ^ 2025-12-26T04:26:00.170699Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170700Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170701Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.170701Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.170702Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170702Z 01O | ^ 2025-12-26T04:26:00.170738Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170739Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170740Z 01O | ^ 2025-12-26T04:26:00.170740Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.170741Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170741Z 01O | ^ 2025-12-26T04:26:00.170744Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.170744Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.170745Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.170748Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.170748Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.170749Z 01O | ^ 2025-12-26T04:26:00.170804Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.170805Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.170805Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.170806Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.170806Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.170807Z 01O | ^ 2025-12-26T04:26:00.170807Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.170808Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.170880Z 01O 139 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2025-12-26T04:26:00.171187Z 01O | ^ 2025-12-26T04:26:00.171188Z 01O /builds/Rdatatable/data.table/src/nafill.c:24:28: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.171189Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2025-12-26T04:26:00.171189Z 01O | ^ 2025-12-26T04:26:00.171190Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.171190Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.171191Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.171191Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.171192Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.171192Z 01O | ^ 2025-12-26T04:26:00.171193Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.171193Z 01O 103 | if (verbose) 2025-12-26T04:26:00.171194Z 01O | ^~~~~~~ 2025-12-26T04:26:00.171196Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.171197Z 01O 103 | if (verbose) 2025-12-26T04:26:00.171198Z 01O | ^ 2025-12-26T04:26:00.171198Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.171199Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171199Z 01O | ^ 2025-12-26T04:26:00.171204Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171204Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171205Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.171205Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.171206Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171207Z 01O | ^ 2025-12-26T04:26:00.171275Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171276Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171276Z 01O | ^ 2025-12-26T04:26:00.171277Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.171277Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171278Z 01O | ^ 2025-12-26T04:26:00.171278Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171279Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171280Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.171280Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.171285Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171286Z 01O | ^ 2025-12-26T04:26:00.171304Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171304Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171305Z 01O | ^ 2025-12-26T04:26:00.171305Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.171306Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171307Z 01O | ^ 2025-12-26T04:26:00.171307Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171308Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171308Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.171309Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.171310Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171310Z 01O | ^ 2025-12-26T04:26:00.171311Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.171311Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.171312Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.171312Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.171313Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.171313Z 01O | ^ 2025-12-26T04:26:00.171368Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.171369Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.171452Z 01O 139 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2025-12-26T04:26:00.171697Z 01O | ^ 2025-12-26T04:26:00.171782Z 01O /builds/Rdatatable/data.table/src/nafill.c:31:32: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.171787Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2025-12-26T04:26:00.171788Z 01O | ^ 2025-12-26T04:26:00.171788Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.171789Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.171789Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.171790Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.171790Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.171791Z 01O | ^ 2025-12-26T04:26:00.171791Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.171792Z 01O 103 | if (verbose) 2025-12-26T04:26:00.171792Z 01O | ^~~~~~~ 2025-12-26T04:26:00.171793Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.171793Z 01O 103 | if (verbose) 2025-12-26T04:26:00.171794Z 01O | ^ 2025-12-26T04:26:00.171794Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.171795Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171795Z 01O | ^ 2025-12-26T04:26:00.171796Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171796Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171797Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.171798Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.171798Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171799Z 01O | ^ 2025-12-26T04:26:00.171799Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171800Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171801Z 01O | ^ 2025-12-26T04:26:00.171803Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.171804Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171804Z 01O | ^ 2025-12-26T04:26:00.171813Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171814Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171815Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.171815Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.171816Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171816Z 01O | ^ 2025-12-26T04:26:00.171817Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171817Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171818Z 01O | ^ 2025-12-26T04:26:00.171854Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.171854Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171855Z 01O | ^ 2025-12-26T04:26:00.171855Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.171856Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.171857Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.171862Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.171862Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.171863Z 01O | ^ 2025-12-26T04:26:00.171863Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.171864Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.171864Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.171865Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.171865Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.171866Z 01O | ^ 2025-12-26T04:26:00.171938Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.171939Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.171956Z 01O 139 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2025-12-26T04:26:00.172279Z 01O | ^ 2025-12-26T04:26:00.172351Z 01O /builds/Rdatatable/data.table/src/nafill.c:36:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.172352Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2025-12-26T04:26:00.172357Z 01O | ^ 2025-12-26T04:26:00.172358Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.172358Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.172359Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.172359Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.172360Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.172360Z 01O | ^ 2025-12-26T04:26:00.172361Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.172361Z 01O 103 | if (verbose) 2025-12-26T04:26:00.172362Z 01O | ^~~~~~~ 2025-12-26T04:26:00.172362Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.172363Z 01O 103 | if (verbose) 2025-12-26T04:26:00.172363Z 01O | ^ 2025-12-26T04:26:00.172363Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.172364Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172365Z 01O | ^ 2025-12-26T04:26:00.172365Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.172366Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.172366Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.172449Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.172450Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172450Z 01O | ^ 2025-12-26T04:26:00.172451Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.172452Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.172452Z 01O | ^ 2025-12-26T04:26:00.172455Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.172455Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172456Z 01O | ^ 2025-12-26T04:26:00.172462Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.172463Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.172463Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.172464Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.172464Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172465Z 01O | ^ 2025-12-26T04:26:00.172465Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.172466Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.172467Z 01O | ^ 2025-12-26T04:26:00.172467Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.172468Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172468Z 01O | ^ 2025-12-26T04:26:00.172469Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.172469Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.172470Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.172471Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.172475Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172476Z 01O | ^ 2025-12-26T04:26:00.172500Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.172501Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.172501Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.172502Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.172502Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.172503Z 01O | ^ 2025-12-26T04:26:00.172506Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.172506Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.172630Z 01O 139 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2025-12-26T04:26:00.172882Z 01O | ^ 2025-12-26T04:26:00.172892Z 01O /builds/Rdatatable/data.table/src/nafill.c:73:25: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.172893Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2025-12-26T04:26:00.172893Z 01O | ^ 2025-12-26T04:26:00.172898Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.172899Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.172899Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.172900Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.172900Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.172901Z 01O | ^ 2025-12-26T04:26:00.172901Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.172902Z 01O 103 | if (verbose) 2025-12-26T04:26:00.172902Z 01O | ^~~~~~~ 2025-12-26T04:26:00.172933Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.172934Z 01O 103 | if (verbose) 2025-12-26T04:26:00.172935Z 01O | ^ 2025-12-26T04:26:00.172970Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.172971Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172972Z 01O | ^ 2025-12-26T04:26:00.172972Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.172973Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.172973Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.172974Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.172975Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172975Z 01O | ^ 2025-12-26T04:26:00.172975Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.172976Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.172977Z 01O | ^ 2025-12-26T04:26:00.172977Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.172978Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172978Z 01O | ^ 2025-12-26T04:26:00.172979Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.172980Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.172980Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.172981Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.172981Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.172982Z 01O | ^ 2025-12-26T04:26:00.173029Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.173030Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.173030Z 01O | ^ 2025-12-26T04:26:00.173070Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.173071Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.173071Z 01O | ^ 2025-12-26T04:26:00.173072Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.173073Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.173074Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.173075Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.173076Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.173082Z 01O | ^ 2025-12-26T04:26:00.173083Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.173084Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.173084Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.173084Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.173085Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.173086Z 01O | ^ 2025-12-26T04:26:00.173086Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.173087Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.173227Z 01O 139 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2025-12-26T04:26:00.173398Z 01O | ^ 2025-12-26T04:26:00.173399Z 01O /builds/Rdatatable/data.table/src/nafill.c:76:23: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.173399Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2025-12-26T04:26:00.173400Z 01O | ^ 2025-12-26T04:26:00.173401Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.173401Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.173402Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.173457Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.173457Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.173458Z 01O | ^ 2025-12-26T04:26:00.173458Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.173459Z 01O 103 | if (verbose) 2025-12-26T04:26:00.173459Z 01O | ^~~~~~~ 2025-12-26T04:26:00.173460Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.173460Z 01O 103 | if (verbose) 2025-12-26T04:26:00.173461Z 01O | ^ 2025-12-26T04:26:00.173491Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.173492Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.173493Z 01O | ^ 2025-12-26T04:26:00.173493Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.173494Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.173494Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.173495Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.173495Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.173496Z 01O | ^ 2025-12-26T04:26:00.173496Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.173497Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.173498Z 01O | ^ 2025-12-26T04:26:00.173498Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.173503Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.173504Z 01O | ^ 2025-12-26T04:26:00.173534Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.173535Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.173535Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.173536Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.173537Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.173537Z 01O | ^ 2025-12-26T04:26:00.173568Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.173569Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.173569Z 01O | ^ 2025-12-26T04:26:00.173570Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.173571Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.173571Z 01O | ^ 2025-12-26T04:26:00.173572Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.173572Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.173573Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.173574Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.173574Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.173575Z 01O | ^ 2025-12-26T04:26:00.173660Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.173661Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.173662Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.173662Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.173663Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.173663Z 01O | ^ 2025-12-26T04:26:00.173664Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.173664Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.173689Z 01O 139 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2025-12-26T04:26:00.173980Z 01O | ^ 2025-12-26T04:26:00.173994Z 01O /builds/Rdatatable/data.table/src/nafill.c:81:26: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2025-12-26T04:26:00.173995Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2025-12-26T04:26:00.173996Z 01O | ^ 2025-12-26T04:26:00.173996Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:7: note: Assuming the condition is false 2025-12-26T04:26:00.173997Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.173997Z 01O | ^~~~~~~~~~~~~ 2025-12-26T04:26:00.173998Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:3: note: Taking false branch 2025-12-26T04:26:00.173998Z 01O 99 | if (!xlength(obj)) 2025-12-26T04:26:00.173999Z 01O | ^ 2025-12-26T04:26:00.173999Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:7: note: Assuming 'verbose' is false 2025-12-26T04:26:00.174000Z 01O 103 | if (verbose) 2025-12-26T04:26:00.174000Z 01O | ^~~~~~~ 2025-12-26T04:26:00.174001Z 01O /builds/Rdatatable/data.table/src/nafill.c:103:3: note: Taking false branch 2025-12-26T04:26:00.174001Z 01O 103 | if (verbose) 2025-12-26T04:26:00.174002Z 01O | ^ 2025-12-26T04:26:00.174002Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.174003Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.174003Z 01O | ^ 2025-12-26T04:26:00.174026Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.174027Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.174027Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174028Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.174029Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.174029Z 01O | ^ 2025-12-26T04:26:00.174065Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.174066Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.174067Z 01O | ^ 2025-12-26T04:26:00.174067Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.174068Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.174068Z 01O | ^ 2025-12-26T04:26:00.174069Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.174069Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.174070Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.174071Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Left side of '&&' is true 2025-12-26T04:26:00.174071Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.174072Z 01O | ^ 2025-12-26T04:26:00.174148Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.174149Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.174149Z 01O | ^ 2025-12-26T04:26:00.174192Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:8: note: Assuming the condition is true 2025-12-26T04:26:00.174192Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.174193Z 01O | ^ 2025-12-26T04:26:00.174193Z 01O /builds/Rdatatable/data.table/src/data.table.h:47:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2025-12-26T04:26:00.174194Z 01O 47 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2025-12-26T04:26:00.174202Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174203Z 01O /builds/Rdatatable/data.table/src/nafill.c:107:3: note: Taking false branch 2025-12-26T04:26:00.174203Z 01O 107 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2025-12-26T04:26:00.174204Z 01O | ^ 2025-12-26T04:26:00.174204Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:7: note: Assuming 'obj_scalar' is false 2025-12-26T04:26:00.174205Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.174205Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.174206Z 01O /builds/Rdatatable/data.table/src/nafill.c:113:3: note: Taking false branch 2025-12-26T04:26:00.174206Z 01O 113 | if (obj_scalar) { 2025-12-26T04:26:00.174207Z 01O | ^ 2025-12-26T04:26:00.174207Z 01O /builds/Rdatatable/data.table/src/nafill.c:125:17: note: Assuming the condition is false 2025-12-26T04:26:00.174208Z 01O 125 | for (int i=0; i= 'nx' 2025-12-26T04:26:00.174259Z 01O 139 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2025-12-26T04:26:00.174554Z 01O | ^ 2025-12-26T04:26:00.174687Z 01O /builds/Rdatatable/data.table/src/nafill.c:111:8: warning: Value stored to 'x' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2025-12-26T04:26:00.174688Z 01O 111 | SEXP x = R_NilValue; 2025-12-26T04:26:00.174689Z 01O | ^ ~~~~~~~~~~ 2025-12-26T04:26:00.174689Z 01O /builds/Rdatatable/data.table/src/nafill.c:111:8: note: Value stored to 'x' during its initialization is never read 2025-12-26T04:26:00.174694Z 01O 111 | SEXP x = R_NilValue; 2025-12-26T04:26:00.174695Z 01O | ^ ~~~~~~~~~~ 2025-12-26T04:26:00.174698Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: warning: Potential out of bound access to the region with tainted index [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.174699Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2025-12-26T04:26:00.174700Z 01O | ^ 2025-12-26T04:26:00.174703Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2025-12-26T04:26:00.174703Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2025-12-26T04:26:00.174704Z 01O | ^ 2025-12-26T04:26:00.174704Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2025-12-26T04:26:00.174705Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2025-12-26T04:26:00.174706Z 01O | ^ 2025-12-26T04:26:00.174723Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2025-12-26T04:26:00.174724Z 01O 125 | if (!isNull(restore_after_fork)) { 2025-12-26T04:26:00.174724Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174725Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2025-12-26T04:26:00.174725Z 01O 125 | if (!isNull(restore_after_fork)) { 2025-12-26T04:26:00.174726Z 01O | ^ 2025-12-26T04:26:00.174733Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2025-12-26T04:26:00.174733Z 01O 131 | if (length(throttle)) { 2025-12-26T04:26:00.174734Z 01O | ^ 2025-12-26T04:26:00.174734Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2025-12-26T04:26:00.174735Z 01O 999 | #define length(x) Rf_length(x) 2025-12-26T04:26:00.174736Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.174736Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2025-12-26T04:26:00.174737Z 01O 131 | if (length(throttle)) { 2025-12-26T04:26:00.174737Z 01O | ^ 2025-12-26T04:26:00.174738Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2025-12-26T04:26:00.174738Z 01O 137 | if (!length(threads) && !length(throttle)) { 2025-12-26T04:26:00.174739Z 01O | ^~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174739Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2025-12-26T04:26:00.174740Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2025-12-26T04:26:00.174740Z 01O 137 | if (!length(threads) && !length(throttle)) { 2025-12-26T04:26:00.174741Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174822Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2025-12-26T04:26:00.174822Z 01O 137 | if (!length(threads) && !length(throttle)) { 2025-12-26T04:26:00.174823Z 01O | ^ 2025-12-26T04:26:00.174823Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2025-12-26T04:26:00.174824Z 01O 138 | initDTthreads(); 2025-12-26T04:26:00.174824Z 01O | ^~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174828Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2025-12-26T04:26:00.174829Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2025-12-26T04:26:00.174830Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174830Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2025-12-26T04:26:00.174831Z 01O 14 | const char *val = getenv(name); 2025-12-26T04:26:00.174831Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.174832Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2025-12-26T04:26:00.174837Z 01O 14 | const char *val = getenv(name); 2025-12-26T04:26:00.174837Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.174840Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2025-12-26T04:26:00.174841Z 01O 14 | const char *val = getenv(name); 2025-12-26T04:26:00.174841Z 01O | ^~~~~~~~~~~~ 2025-12-26T04:26:00.174844Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2025-12-26T04:26:00.174845Z 01O 15 | if (val == NULL) return def; 2025-12-26T04:26:00.174845Z 01O | ^~~ 2025-12-26T04:26:00.174846Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2025-12-26T04:26:00.174846Z 01O 15 | if (val == NULL) return def; 2025-12-26T04:26:00.174847Z 01O | ^ 2025-12-26T04:26:00.174847Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2025-12-26T04:26:00.174848Z 01O 17 | if (nchar == 0) return def; 2025-12-26T04:26:00.174848Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.174849Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2025-12-26T04:26:00.174849Z 01O 17 | if (nchar == 0) return def; 2025-12-26T04:26:00.174850Z 01O | ^ 2025-12-26T04:26:00.174858Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2025-12-26T04:26:00.174859Z 01O 20 | long int ans = strtol(val, &end, 10); // ignores leading whitespace. If it fully consumed the string, *end=='\0' and isspace('\0')==false 2025-12-26T04:26:00.174859Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174888Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: note: Access of the region with a tainted index that may be too large 2025-12-26T04:26:00.174889Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2025-12-26T04:26:00.174890Z 01O | ^ 2025-12-26T04:26:00.174890Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2025-12-26T04:26:00.174891Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2025-12-26T04:26:00.174891Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.174892Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2025-12-26T04:26:00.174892Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2025-12-26T04:26:00.174893Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175062Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:101:19: warning: Call to 'calloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2025-12-26T04:26:00.175063Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2025-12-26T04:26:00.175064Z 01O | ^ ~~~~~ 2025-12-26T04:26:00.175065Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:7: note: Assuming the condition is false 2025-12-26T04:26:00.175065Z 01O 7 | if (!isLogical(fillArg) || LENGTH(fillArg) != 1 || LOGICAL(fillArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175066Z 01O | ^~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175066Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:7: note: Left side of '||' is false 2025-12-26T04:26:00.175067Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:30: note: Assuming the condition is false 2025-12-26T04:26:00.175068Z 01O 7 | if (!isLogical(fillArg) || LENGTH(fillArg) != 1 || LOGICAL(fillArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175068Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:7: note: Left side of '||' is false 2025-12-26T04:26:00.175069Z 01O 7 | if (!isLogical(fillArg) || LENGTH(fillArg) != 1 || LOGICAL(fillArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175070Z 01O | ^ 2025-12-26T04:26:00.175089Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:54: note: Assuming the condition is false 2025-12-26T04:26:00.175090Z 01O 7 | if (!isLogical(fillArg) || LENGTH(fillArg) != 1 || LOGICAL(fillArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175091Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175092Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2025-12-26T04:26:00.175092Z 01O 7 | if (!isLogical(fillArg) || LENGTH(fillArg) != 1 || LOGICAL(fillArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175093Z 01O | ^ 2025-12-26T04:26:00.175093Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2025-12-26T04:26:00.175094Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2025-12-26T04:26:00.175095Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2025-12-26T04:26:00.175180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2025-12-26T04:26:00.175181Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2025-12-26T04:26:00.175181Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2025-12-26T04:26:00.175183Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2025-12-26T04:26:00.175183Z 01O | ^ 2025-12-26T04:26:00.175184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:7: note: Assuming the condition is false 2025-12-26T04:26:00.175184Z 01O 11 | if (!isLogical(ignoreattrArg) || LENGTH(ignoreattrArg)!=1 || LOGICAL(ignoreattrArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175185Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:7: note: Left side of '||' is false 2025-12-26T04:26:00.175193Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:36: note: Assuming the condition is false 2025-12-26T04:26:00.175193Z 01O 11 | if (!isLogical(ignoreattrArg) || LENGTH(ignoreattrArg)!=1 || LOGICAL(ignoreattrArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175194Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:7: note: Left side of '||' is false 2025-12-26T04:26:00.175195Z 01O 11 | if (!isLogical(ignoreattrArg) || LENGTH(ignoreattrArg)!=1 || LOGICAL(ignoreattrArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175196Z 01O | ^ 2025-12-26T04:26:00.175196Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:64: note: Assuming the condition is false 2025-12-26T04:26:00.175197Z 01O 11 | if (!isLogical(ignoreattrArg) || LENGTH(ignoreattrArg)!=1 || LOGICAL(ignoreattrArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175198Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2025-12-26T04:26:00.175208Z 01O 11 | if (!isLogical(ignoreattrArg) || LENGTH(ignoreattrArg)!=1 || LOGICAL(ignoreattrArg)[0] == NA_LOGICAL) 2025-12-26T04:26:00.175209Z 01O | ^ 2025-12-26T04:26:00.175209Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2025-12-26T04:26:00.175210Z 01O 13 | if (!length(l)) return(l); 2025-12-26T04:26:00.175210Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.175211Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2025-12-26T04:26:00.175211Z 01O 13 | if (!length(l)) return(l); 2025-12-26T04:26:00.175212Z 01O | ^ 2025-12-26T04:26:00.175260Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2025-12-26T04:26:00.175261Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2025-12-26T04:26:00.175270Z 01O | ^~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175276Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2025-12-26T04:26:00.175276Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2025-12-26T04:26:00.175277Z 01O | ^ 2025-12-26T04:26:00.175278Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2025-12-26T04:26:00.175278Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2025-12-26T04:26:00.175279Z 01O | ^~~~ 2025-12-26T04:26:00.175279Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2025-12-26T04:26:00.175280Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2025-12-26T04:26:00.175280Z 01O | ^ 2025-12-26T04:26:00.175281Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2025-12-26T04:26:00.175281Z 01O 21 | const bool idcol = !isNull(idcolArg); 2025-12-26T04:26:00.175282Z 01O | ^~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175283Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2025-12-26T04:26:00.175283Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2025-12-26T04:26:00.175284Z 01O | ^~~~~ 2025-12-26T04:26:00.175337Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2025-12-26T04:26:00.175338Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2025-12-26T04:26:00.175339Z 01O | ^ 2025-12-26T04:26:00.175339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2025-12-26T04:26:00.175340Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.175341Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.175357Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.175358Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.175358Z 01O | ^ 2025-12-26T04:26:00.175359Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2025-12-26T04:26:00.175359Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.175360Z 01O | ^ 2025-12-26T04:26:00.175360Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.175361Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.175361Z 01O | ^ 2025-12-26T04:26:00.175362Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2025-12-26T04:26:00.175362Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.175363Z 01O | ^ 2025-12-26T04:26:00.175363Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2025-12-26T04:26:00.175364Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.175365Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175443Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2025-12-26T04:26:00.175444Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.175445Z 01O | ^ 2025-12-26T04:26:00.175445Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2025-12-26T04:26:00.175446Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.175451Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.175452Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2025-12-26T04:26:00.175452Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.175453Z 01O | ^ 2025-12-26T04:26:00.175453Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2025-12-26T04:26:00.175454Z 01O 37 | if (fill) { 2025-12-26T04:26:00.175454Z 01O | ^~~~ 2025-12-26T04:26:00.175455Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2025-12-26T04:26:00.175455Z 01O 37 | if (fill) { 2025-12-26T04:26:00.175456Z 01O | ^ 2025-12-26T04:26:00.175465Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2025-12-26T04:26:00.175466Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.175466Z 01O | ^~~~ 2025-12-26T04:26:00.175467Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2025-12-26T04:26:00.175467Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.175468Z 01O | ^ 2025-12-26T04:26:00.175468Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2025-12-26T04:26:00.175469Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.175470Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.175470Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2025-12-26T04:26:00.175471Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.175472Z 01O | ^ 2025-12-26T04:26:00.175472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2025-12-26T04:26:00.175473Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.175473Z 01O | ^~~~~~ 2025-12-26T04:26:00.175510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2025-12-26T04:26:00.175510Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.175511Z 01O | ^ 2025-12-26T04:26:00.175542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2025-12-26T04:26:00.175542Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.175543Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.175544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2025-12-26T04:26:00.175544Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.175545Z 01O | ^ 2025-12-26T04:26:00.175546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2025-12-26T04:26:00.175546Z 01O 49 | for (int j=0; j0 checked above 2025-12-26T04:26:00.175550Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.175615Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2025-12-26T04:26:00.175616Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.175622Z 01O | ^ 2025-12-26T04:26:00.175622Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2025-12-26T04:26:00.175623Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.175623Z 01O | ^~~~~~~ 2025-12-26T04:26:00.175627Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2025-12-26T04:26:00.175627Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.175628Z 01O | ^ 2025-12-26T04:26:00.175628Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2025-12-26T04:26:00.175629Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.175629Z 01O | ^~~~ 2025-12-26T04:26:00.175630Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2025-12-26T04:26:00.175673Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2025-12-26T04:26:00.175674Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.175674Z 01O | ^~~~ 2025-12-26T04:26:00.175675Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2025-12-26T04:26:00.175675Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.175676Z 01O | ^ 2025-12-26T04:26:00.175676Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2025-12-26T04:26:00.175677Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.175678Z 01O | ^~~~ 2025-12-26T04:26:00.175678Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2025-12-26T04:26:00.175679Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.175680Z 01O | ^ 2025-12-26T04:26:00.175705Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2025-12-26T04:26:00.175706Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.175707Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.175710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2025-12-26T04:26:00.175711Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.175711Z 01O | ^ 2025-12-26T04:26:00.175712Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2025-12-26T04:26:00.175712Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.175713Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.175714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2025-12-26T04:26:00.175714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2025-12-26T04:26:00.175715Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.175715Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.175745Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2025-12-26T04:26:00.175746Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.175746Z 01O | ^ 2025-12-26T04:26:00.175747Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2025-12-26T04:26:00.175747Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2025-12-26T04:26:00.175748Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.175748Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2025-12-26T04:26:00.175754Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2025-12-26T04:26:00.175754Z 01O | ^ 2025-12-26T04:26:00.175755Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2025-12-26T04:26:00.175755Z 01O 83 | int nuniq=0; 2025-12-26T04:26:00.175756Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.175758Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2025-12-26T04:26:00.175759Z 01O 85 | for (int i=0; i0 checked above 2025-12-26T04:26:00.176190Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.176191Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.176191Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.176192Z 01O | ^ 2025-12-26T04:26:00.176192Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2025-12-26T04:26:00.176193Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.176193Z 01O | ^ 2025-12-26T04:26:00.176194Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.176194Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.176195Z 01O | ^ 2025-12-26T04:26:00.176195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2025-12-26T04:26:00.176196Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.176197Z 01O | ^ 2025-12-26T04:26:00.176307Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2025-12-26T04:26:00.176308Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.176309Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.176309Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2025-12-26T04:26:00.176310Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.176310Z 01O | ^ 2025-12-26T04:26:00.176311Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2025-12-26T04:26:00.176311Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.176312Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.176312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2025-12-26T04:26:00.176313Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.176314Z 01O | ^ 2025-12-26T04:26:00.176314Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2025-12-26T04:26:00.176315Z 01O 37 | if (fill) { 2025-12-26T04:26:00.176315Z 01O | ^~~~ 2025-12-26T04:26:00.176318Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2025-12-26T04:26:00.176319Z 01O 37 | if (fill) { 2025-12-26T04:26:00.176320Z 01O | ^ 2025-12-26T04:26:00.176320Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2025-12-26T04:26:00.176321Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.176321Z 01O | ^~~~ 2025-12-26T04:26:00.176325Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2025-12-26T04:26:00.176325Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.176326Z 01O | ^ 2025-12-26T04:26:00.176326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2025-12-26T04:26:00.176332Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.176333Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.176394Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2025-12-26T04:26:00.176395Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.176396Z 01O | ^ 2025-12-26T04:26:00.176396Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2025-12-26T04:26:00.176397Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.176397Z 01O | ^~~~~~ 2025-12-26T04:26:00.176398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2025-12-26T04:26:00.176398Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.176399Z 01O | ^ 2025-12-26T04:26:00.176399Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2025-12-26T04:26:00.176400Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.176401Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.176401Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2025-12-26T04:26:00.176402Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.176403Z 01O | ^ 2025-12-26T04:26:00.176403Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2025-12-26T04:26:00.176404Z 01O 49 | for (int j=0; j0 checked above 2025-12-26T04:26:00.176410Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.176411Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2025-12-26T04:26:00.176411Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.176412Z 01O | ^ 2025-12-26T04:26:00.176412Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2025-12-26T04:26:00.176413Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.176414Z 01O | ^~~~~~~ 2025-12-26T04:26:00.176414Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2025-12-26T04:26:00.176415Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.176415Z 01O | ^ 2025-12-26T04:26:00.176451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2025-12-26T04:26:00.176452Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.176453Z 01O | ^~~~ 2025-12-26T04:26:00.176453Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2025-12-26T04:26:00.176456Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2025-12-26T04:26:00.176456Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.176457Z 01O | ^~~~ 2025-12-26T04:26:00.176459Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2025-12-26T04:26:00.176464Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.176465Z 01O | ^ 2025-12-26T04:26:00.176498Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2025-12-26T04:26:00.176498Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.176499Z 01O | ^~~~ 2025-12-26T04:26:00.176503Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2025-12-26T04:26:00.176504Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.176504Z 01O | ^ 2025-12-26T04:26:00.176505Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2025-12-26T04:26:00.176506Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.176506Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.176507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2025-12-26T04:26:00.176507Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.176508Z 01O | ^ 2025-12-26T04:26:00.176557Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2025-12-26T04:26:00.176558Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.176558Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.176559Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2025-12-26T04:26:00.176562Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2025-12-26T04:26:00.176562Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.176563Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.176563Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2025-12-26T04:26:00.176564Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.176565Z 01O | ^ 2025-12-26T04:26:00.176567Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2025-12-26T04:26:00.176568Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2025-12-26T04:26:00.176568Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.176569Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2025-12-26T04:26:00.176569Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2025-12-26T04:26:00.176570Z 01O | ^ 2025-12-26T04:26:00.176611Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2025-12-26T04:26:00.176612Z 01O 85 | for (int i=0; i= 'thisncol' 2025-12-26T04:26:00.176706Z 01O 92 | for (int j=0; j 'ncol' 2025-12-26T04:26:00.176835Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2025-12-26T04:26:00.176835Z 01O | ^~~~~~ 2025-12-26T04:26:00.176857Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2025-12-26T04:26:00.176858Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2025-12-26T04:26:00.176858Z 01O | ^ 2025-12-26T04:26:00.176859Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2025-12-26T04:26:00.176860Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2025-12-26T04:26:00.176860Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.176890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2025-12-26T04:26:00.176891Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2025-12-26T04:26:00.176892Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.176893Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:153:40: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2025-12-26T04:26:00.176893Z 01O 153 | for (int j=0; j0 checked above 2025-12-26T04:26:00.177311Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.177311Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.177312Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.177312Z 01O | ^ 2025-12-26T04:26:00.177315Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2025-12-26T04:26:00.177316Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.177316Z 01O | ^ 2025-12-26T04:26:00.177317Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.177317Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.177318Z 01O | ^ 2025-12-26T04:26:00.177326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2025-12-26T04:26:00.177327Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.177327Z 01O | ^ 2025-12-26T04:26:00.177330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2025-12-26T04:26:00.177330Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.177331Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.177377Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2025-12-26T04:26:00.177378Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.177378Z 01O | ^ 2025-12-26T04:26:00.177379Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2025-12-26T04:26:00.177379Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.177380Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.177380Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2025-12-26T04:26:00.177381Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.177382Z 01O | ^ 2025-12-26T04:26:00.177382Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2025-12-26T04:26:00.177383Z 01O 37 | if (fill) { 2025-12-26T04:26:00.177383Z 01O | ^~~~ 2025-12-26T04:26:00.177383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2025-12-26T04:26:00.177384Z 01O 37 | if (fill) { 2025-12-26T04:26:00.177384Z 01O | ^ 2025-12-26T04:26:00.177386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2025-12-26T04:26:00.177387Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.177388Z 01O | ^~~~ 2025-12-26T04:26:00.177389Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2025-12-26T04:26:00.177390Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.177391Z 01O | ^ 2025-12-26T04:26:00.177445Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2025-12-26T04:26:00.177446Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.177447Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.177449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2025-12-26T04:26:00.177450Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.177451Z 01O | ^ 2025-12-26T04:26:00.177451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2025-12-26T04:26:00.177452Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.177452Z 01O | ^~~~~~ 2025-12-26T04:26:00.177454Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2025-12-26T04:26:00.177455Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.177455Z 01O | ^ 2025-12-26T04:26:00.177458Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2025-12-26T04:26:00.177458Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.177459Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.177497Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2025-12-26T04:26:00.177497Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.177498Z 01O | ^ 2025-12-26T04:26:00.177503Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2025-12-26T04:26:00.177504Z 01O 49 | for (int j=0; j0 checked above 2025-12-26T04:26:00.177510Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.177512Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2025-12-26T04:26:00.177513Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.177513Z 01O | ^ 2025-12-26T04:26:00.177515Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2025-12-26T04:26:00.177516Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.177516Z 01O | ^~~~~~~ 2025-12-26T04:26:00.177517Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2025-12-26T04:26:00.177517Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.177518Z 01O | ^ 2025-12-26T04:26:00.177606Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2025-12-26T04:26:00.177607Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.177607Z 01O | ^~~~ 2025-12-26T04:26:00.177608Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2025-12-26T04:26:00.177608Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2025-12-26T04:26:00.177609Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.177610Z 01O | ^~~~ 2025-12-26T04:26:00.177610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2025-12-26T04:26:00.177611Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.177611Z 01O | ^ 2025-12-26T04:26:00.177614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2025-12-26T04:26:00.177614Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.177615Z 01O | ^~~~ 2025-12-26T04:26:00.177618Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2025-12-26T04:26:00.177618Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.177619Z 01O | ^ 2025-12-26T04:26:00.177621Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2025-12-26T04:26:00.177622Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.177623Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.177660Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2025-12-26T04:26:00.177661Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.177662Z 01O | ^ 2025-12-26T04:26:00.177662Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2025-12-26T04:26:00.177663Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.177663Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.177668Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2025-12-26T04:26:00.177672Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2025-12-26T04:26:00.177672Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.177673Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.177673Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2025-12-26T04:26:00.177674Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.177675Z 01O | ^ 2025-12-26T04:26:00.177675Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2025-12-26T04:26:00.177676Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2025-12-26T04:26:00.177676Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.177782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2025-12-26T04:26:00.177783Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2025-12-26T04:26:00.177784Z 01O | ^ 2025-12-26T04:26:00.177784Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2025-12-26T04:26:00.177785Z 01O 85 | for (int i=0; i= 'thisncol' 2025-12-26T04:26:00.177857Z 01O 92 | for (int j=0; j= 'thisncol' 2025-12-26T04:26:00.178002Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2025-12-26T04:26:00.178010Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.178044Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2025-12-26T04:26:00.178045Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2025-12-26T04:26:00.178046Z 01O | ^ 2025-12-26T04:26:00.178046Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2025-12-26T04:26:00.178047Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2025-12-26T04:26:00.178090Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.178090Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2025-12-26T04:26:00.178091Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2025-12-26T04:26:00.178091Z 01O | ^ 2025-12-26T04:26:00.178139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2025-12-26T04:26:00.178140Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.178140Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.178147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2025-12-26T04:26:00.178150Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2025-12-26T04:26:00.178150Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.178151Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.178153Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2025-12-26T04:26:00.178153Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.178154Z 01O | ^ 2025-12-26T04:26:00.178162Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2025-12-26T04:26:00.178163Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.178163Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.178164Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2025-12-26T04:26:00.178164Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.178165Z 01O | ^ 2025-12-26T04:26:00.178165Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2025-12-26T04:26:00.178166Z 01O 142 | for (int i=0; i= 'ncol' 2025-12-26T04:26:00.178229Z 01O 143 | for (int i=0; i0 checked above 2025-12-26T04:26:00.178691Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.178692Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.178692Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.178693Z 01O | ^ 2025-12-26T04:26:00.178732Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2025-12-26T04:26:00.178733Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.178734Z 01O | ^ 2025-12-26T04:26:00.178734Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.178735Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.178735Z 01O | ^ 2025-12-26T04:26:00.178736Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2025-12-26T04:26:00.178737Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.178737Z 01O | ^ 2025-12-26T04:26:00.178739Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2025-12-26T04:26:00.178740Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.178741Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.178782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2025-12-26T04:26:00.178783Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.178784Z 01O | ^ 2025-12-26T04:26:00.178784Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2025-12-26T04:26:00.178785Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.178785Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.178786Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2025-12-26T04:26:00.178786Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.178787Z 01O | ^ 2025-12-26T04:26:00.178787Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2025-12-26T04:26:00.178788Z 01O 37 | if (fill) { 2025-12-26T04:26:00.178788Z 01O | ^~~~ 2025-12-26T04:26:00.178789Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2025-12-26T04:26:00.178793Z 01O 37 | if (fill) { 2025-12-26T04:26:00.178794Z 01O | ^ 2025-12-26T04:26:00.178794Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2025-12-26T04:26:00.178795Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.178795Z 01O | ^~~~ 2025-12-26T04:26:00.178796Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2025-12-26T04:26:00.178797Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.178797Z 01O | ^ 2025-12-26T04:26:00.178889Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2025-12-26T04:26:00.178889Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.178890Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.178893Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2025-12-26T04:26:00.178894Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.178895Z 01O | ^ 2025-12-26T04:26:00.178895Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2025-12-26T04:26:00.178896Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.178896Z 01O | ^~~~~~ 2025-12-26T04:26:00.178897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2025-12-26T04:26:00.178897Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.178898Z 01O | ^ 2025-12-26T04:26:00.178901Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2025-12-26T04:26:00.178902Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.178902Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.178903Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2025-12-26T04:26:00.178903Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.178904Z 01O | ^ 2025-12-26T04:26:00.178905Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2025-12-26T04:26:00.178905Z 01O 49 | for (int j=0; j0 checked above 2025-12-26T04:26:00.178960Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.178963Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2025-12-26T04:26:00.178964Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.178964Z 01O | ^ 2025-12-26T04:26:00.178965Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2025-12-26T04:26:00.178965Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.178966Z 01O | ^~~~~~~ 2025-12-26T04:26:00.178968Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2025-12-26T04:26:00.178968Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.178969Z 01O | ^ 2025-12-26T04:26:00.179031Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2025-12-26T04:26:00.179036Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.179037Z 01O | ^~~~ 2025-12-26T04:26:00.179037Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2025-12-26T04:26:00.179038Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2025-12-26T04:26:00.179039Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.179039Z 01O | ^~~~ 2025-12-26T04:26:00.179042Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2025-12-26T04:26:00.179042Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.179043Z 01O | ^ 2025-12-26T04:26:00.179045Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2025-12-26T04:26:00.179046Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.179047Z 01O | ^~~~ 2025-12-26T04:26:00.179050Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2025-12-26T04:26:00.179050Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.179051Z 01O | ^ 2025-12-26T04:26:00.179052Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2025-12-26T04:26:00.179052Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.179053Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.179060Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2025-12-26T04:26:00.179060Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.179061Z 01O | ^ 2025-12-26T04:26:00.179063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2025-12-26T04:26:00.179064Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.179064Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.179065Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2025-12-26T04:26:00.179129Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2025-12-26T04:26:00.179130Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.179131Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.179132Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2025-12-26T04:26:00.179132Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.179133Z 01O | ^ 2025-12-26T04:26:00.179135Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2025-12-26T04:26:00.179136Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2025-12-26T04:26:00.179137Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.179137Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2025-12-26T04:26:00.179138Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2025-12-26T04:26:00.179138Z 01O | ^ 2025-12-26T04:26:00.179145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2025-12-26T04:26:00.179146Z 01O 85 | for (int i=0; i= 'thisncol' 2025-12-26T04:26:00.179311Z 01O 92 | for (int j=0; j= 'thisncol' 2025-12-26T04:26:00.179395Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2025-12-26T04:26:00.179477Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.179477Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2025-12-26T04:26:00.179478Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2025-12-26T04:26:00.179479Z 01O | ^ 2025-12-26T04:26:00.179479Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2025-12-26T04:26:00.179480Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2025-12-26T04:26:00.179490Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.179490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2025-12-26T04:26:00.179491Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2025-12-26T04:26:00.179491Z 01O | ^ 2025-12-26T04:26:00.179512Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2025-12-26T04:26:00.179513Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.179513Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.179514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2025-12-26T04:26:00.179514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2025-12-26T04:26:00.179515Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.179516Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.179517Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2025-12-26T04:26:00.179518Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.179519Z 01O | ^ 2025-12-26T04:26:00.179521Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2025-12-26T04:26:00.179522Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.179522Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.179523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2025-12-26T04:26:00.179523Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2025-12-26T04:26:00.179524Z 01O | ^ 2025-12-26T04:26:00.179572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2025-12-26T04:26:00.179573Z 01O 142 | for (int i=0; i= 'ncol' 2025-12-26T04:26:00.179583Z 01O 143 | for (int i=0; i0 checked above 2025-12-26T04:26:00.180105Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.180151Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.180152Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.180153Z 01O | ^ 2025-12-26T04:26:00.180153Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2025-12-26T04:26:00.180154Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.180155Z 01O | ^ 2025-12-26T04:26:00.180155Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.180156Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.180156Z 01O | ^ 2025-12-26T04:26:00.180157Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2025-12-26T04:26:00.180157Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.180158Z 01O | ^ 2025-12-26T04:26:00.180205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2025-12-26T04:26:00.180206Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.180207Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.180207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2025-12-26T04:26:00.180208Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.180209Z 01O | ^ 2025-12-26T04:26:00.180209Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2025-12-26T04:26:00.180210Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.180210Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.180211Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2025-12-26T04:26:00.180211Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.180212Z 01O | ^ 2025-12-26T04:26:00.180212Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2025-12-26T04:26:00.180213Z 01O 37 | if (fill) { 2025-12-26T04:26:00.180213Z 01O | ^~~~ 2025-12-26T04:26:00.180214Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2025-12-26T04:26:00.180214Z 01O 37 | if (fill) { 2025-12-26T04:26:00.180215Z 01O | ^ 2025-12-26T04:26:00.180215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2025-12-26T04:26:00.180216Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.180216Z 01O | ^~~~ 2025-12-26T04:26:00.180217Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2025-12-26T04:26:00.180217Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.180218Z 01O | ^ 2025-12-26T04:26:00.180261Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2025-12-26T04:26:00.180261Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.180262Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.180265Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2025-12-26T04:26:00.180275Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.180276Z 01O | ^ 2025-12-26T04:26:00.180276Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2025-12-26T04:26:00.180277Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.180277Z 01O | ^~~~~~ 2025-12-26T04:26:00.180278Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2025-12-26T04:26:00.180278Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.180279Z 01O | ^ 2025-12-26T04:26:00.180316Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2025-12-26T04:26:00.180317Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.180318Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.180321Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.180325Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.180325Z 01O | ^ 2025-12-26T04:26:00.180326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2025-12-26T04:26:00.180327Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.180327Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.180388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2025-12-26T04:26:00.180388Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.180389Z 01O | ^ 2025-12-26T04:26:00.180394Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2025-12-26T04:26:00.180395Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.180395Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.180396Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2025-12-26T04:26:00.180397Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.180397Z 01O | ^ 2025-12-26T04:26:00.180398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.180398Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2025-12-26T04:26:00.180401Z 01O | ^~~~ 2025-12-26T04:26:00.180458Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2025-12-26T04:26:00.180459Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2025-12-26T04:26:00.180460Z 01O | ^ 2025-12-26T04:26:00.180460Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2025-12-26T04:26:00.180461Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2025-12-26T04:26:00.180466Z 01O | ^~~~~ 2025-12-26T04:26:00.180483Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2025-12-26T04:26:00.180484Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2025-12-26T04:26:00.180485Z 01O | ^ 2025-12-26T04:26:00.180485Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2025-12-26T04:26:00.180486Z 01O 49 | for (int j=0; j0 checked above 2025-12-26T04:26:00.180488Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.180488Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2025-12-26T04:26:00.180489Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.180490Z 01O | ^ 2025-12-26T04:26:00.180490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2025-12-26T04:26:00.180491Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.180491Z 01O | ^~~~~~~ 2025-12-26T04:26:00.180492Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2025-12-26T04:26:00.180492Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.180493Z 01O | ^ 2025-12-26T04:26:00.180550Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2025-12-26T04:26:00.180551Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.180552Z 01O | ^~~~ 2025-12-26T04:26:00.180552Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2025-12-26T04:26:00.180555Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2025-12-26T04:26:00.180556Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.180556Z 01O | ^~~~ 2025-12-26T04:26:00.180557Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2025-12-26T04:26:00.180557Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.180558Z 01O | ^ 2025-12-26T04:26:00.180581Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2025-12-26T04:26:00.180582Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.180583Z 01O | ^~~~ 2025-12-26T04:26:00.180583Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2025-12-26T04:26:00.180584Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.180585Z 01O | ^ 2025-12-26T04:26:00.180585Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2025-12-26T04:26:00.180586Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.180587Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.180610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2025-12-26T04:26:00.180611Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.180611Z 01O | ^ 2025-12-26T04:26:00.180668Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2025-12-26T04:26:00.180673Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2025-12-26T04:26:00.180674Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.180675Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2025-12-26T04:26:00.180675Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.180676Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.180676Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2025-12-26T04:26:00.180677Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2025-12-26T04:26:00.180678Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.180678Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.180679Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2025-12-26T04:26:00.180679Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.180680Z 01O | ^ 2025-12-26T04:26:00.180680Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2025-12-26T04:26:00.180681Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2025-12-26T04:26:00.180682Z 01O | ^~~~ 2025-12-26T04:26:00.180716Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2025-12-26T04:26:00.180717Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2025-12-26T04:26:00.180718Z 01O | ^ 2025-12-26T04:26:00.180721Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2025-12-26T04:26:00.180721Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.180722Z 01O | ^~~~ 2025-12-26T04:26:00.180722Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2025-12-26T04:26:00.180723Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.180724Z 01O | ^ 2025-12-26T04:26:00.180724Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2025-12-26T04:26:00.180725Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.180725Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.180726Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2025-12-26T04:26:00.180821Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2025-12-26T04:26:00.180822Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.180822Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.180823Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2025-12-26T04:26:00.180824Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.180824Z 01O | ^ 2025-12-26T04:26:00.180825Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2025-12-26T04:26:00.180825Z 01O 242 | if (usenames==NA_LOGICAL) { 2025-12-26T04:26:00.180826Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.180826Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2025-12-26T04:26:00.180827Z 01O 242 | if (usenames==NA_LOGICAL) { 2025-12-26T04:26:00.180827Z 01O | ^ 2025-12-26T04:26:00.180828Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2025-12-26T04:26:00.180828Z 01O 251 | if (idcol) { 2025-12-26T04:26:00.180829Z 01O | ^~~~~ 2025-12-26T04:26:00.180829Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2025-12-26T04:26:00.180834Z 01O 251 | if (idcol) { 2025-12-26T04:26:00.180835Z 01O | ^ 2025-12-26T04:26:00.180835Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.180836Z 01O 276 | for(int j=0; j0 checked above 2025-12-26T04:26:00.181333Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.181333Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.181334Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.181334Z 01O | ^ 2025-12-26T04:26:00.181337Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2025-12-26T04:26:00.181338Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.181338Z 01O | ^ 2025-12-26T04:26:00.181339Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2025-12-26T04:26:00.181339Z 01O 968 | #define isNull Rf_isNull 2025-12-26T04:26:00.181340Z 01O | ^ 2025-12-26T04:26:00.181340Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2025-12-26T04:26:00.181341Z 01O 32 | if (isNull(li)) continue; 2025-12-26T04:26:00.181341Z 01O | ^ 2025-12-26T04:26:00.181447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2025-12-26T04:26:00.181448Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.181449Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.181452Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2025-12-26T04:26:00.181453Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2025-12-26T04:26:00.181453Z 01O | ^ 2025-12-26T04:26:00.181454Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2025-12-26T04:26:00.181454Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.181460Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.181460Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2025-12-26T04:26:00.181461Z 01O 35 | if (!thisncol) continue; 2025-12-26T04:26:00.181461Z 01O | ^ 2025-12-26T04:26:00.181462Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2025-12-26T04:26:00.181463Z 01O 37 | if (fill) { 2025-12-26T04:26:00.181463Z 01O | ^~~~ 2025-12-26T04:26:00.181463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2025-12-26T04:26:00.181464Z 01O 37 | if (fill) { 2025-12-26T04:26:00.181464Z 01O | ^ 2025-12-26T04:26:00.181467Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2025-12-26T04:26:00.181467Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.181468Z 01O | ^~~~ 2025-12-26T04:26:00.181468Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2025-12-26T04:26:00.181469Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2025-12-26T04:26:00.181470Z 01O | ^ 2025-12-26T04:26:00.181472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2025-12-26T04:26:00.181473Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.181474Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.181478Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2025-12-26T04:26:00.181478Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2025-12-26T04:26:00.181479Z 01O | ^ 2025-12-26T04:26:00.181480Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2025-12-26T04:26:00.181480Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.181481Z 01O | ^~~~~~ 2025-12-26T04:26:00.181481Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2025-12-26T04:26:00.181482Z 01O 45 | if (nNames>0) anyNames=true; 2025-12-26T04:26:00.181482Z 01O | ^ 2025-12-26T04:26:00.181483Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2025-12-26T04:26:00.181483Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.181484Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.181485Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.181485Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.181486Z 01O | ^ 2025-12-26T04:26:00.181599Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2025-12-26T04:26:00.181600Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.181600Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.181603Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2025-12-26T04:26:00.181604Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.181604Z 01O | ^ 2025-12-26T04:26:00.181608Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2025-12-26T04:26:00.181608Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.181614Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.181614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2025-12-26T04:26:00.181615Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2025-12-26T04:26:00.181616Z 01O | ^ 2025-12-26T04:26:00.181616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.181617Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2025-12-26T04:26:00.181622Z 01O | ^~~~ 2025-12-26T04:26:00.181625Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2025-12-26T04:26:00.181625Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2025-12-26T04:26:00.181626Z 01O | ^ 2025-12-26T04:26:00.181629Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2025-12-26T04:26:00.181630Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2025-12-26T04:26:00.181630Z 01O | ^~~~~ 2025-12-26T04:26:00.181742Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2025-12-26T04:26:00.181743Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2025-12-26T04:26:00.181744Z 01O | ^ 2025-12-26T04:26:00.181744Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2025-12-26T04:26:00.181745Z 01O 49 | for (int j=0; j0 checked above 2025-12-26T04:26:00.181747Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.181750Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2025-12-26T04:26:00.181751Z 01O 29 | for (int i=0; i0 checked above 2025-12-26T04:26:00.181751Z 01O | ^ 2025-12-26T04:26:00.181752Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2025-12-26T04:26:00.181752Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.181753Z 01O | ^~~~~~~ 2025-12-26T04:26:00.181753Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2025-12-26T04:26:00.181754Z 01O 57 | if (numZero) { // #1871 2025-12-26T04:26:00.181754Z 01O | ^ 2025-12-26T04:26:00.181757Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2025-12-26T04:26:00.181757Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.181758Z 01O | ^~~~ 2025-12-26T04:26:00.181758Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2025-12-26T04:26:00.181759Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2025-12-26T04:26:00.181759Z 01O | ^ 2025-12-26T04:26:00.181763Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2025-12-26T04:26:00.181764Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.181769Z 01O | ^~~~ 2025-12-26T04:26:00.181769Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2025-12-26T04:26:00.181770Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2025-12-26T04:26:00.181771Z 01O | ^ 2025-12-26T04:26:00.181771Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2025-12-26T04:26:00.181772Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.181773Z 01O | ^~~~~~~~~~~~~~ 2025-12-26T04:26:00.181775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2025-12-26T04:26:00.181776Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2025-12-26T04:26:00.181776Z 01O | ^ 2025-12-26T04:26:00.181898Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2025-12-26T04:26:00.181899Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2025-12-26T04:26:00.181899Z 01O | ^~~~~~~~~~~ 2025-12-26T04:26:00.181900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2025-12-26T04:26:00.181901Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.181901Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.181902Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2025-12-26T04:26:00.181904Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2025-12-26T04:26:00.181905Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.181906Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.181906Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2025-12-26T04:26:00.181907Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2025-12-26T04:26:00.181907Z 01O | ^ 2025-12-26T04:26:00.181910Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2025-12-26T04:26:00.181910Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2025-12-26T04:26:00.181911Z 01O | ^~~~ 2025-12-26T04:26:00.181914Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2025-12-26T04:26:00.181915Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2025-12-26T04:26:00.181916Z 01O | ^ 2025-12-26T04:26:00.181916Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2025-12-26T04:26:00.181917Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.181917Z 01O | ^~~~ 2025-12-26T04:26:00.181920Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2025-12-26T04:26:00.181920Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.181921Z 01O | ^ 2025-12-26T04:26:00.181922Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2025-12-26T04:26:00.181922Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.181923Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.181923Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2025-12-26T04:26:00.181931Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2025-12-26T04:26:00.181932Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.181932Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.181933Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2025-12-26T04:26:00.181933Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2025-12-26T04:26:00.181934Z 01O | ^ 2025-12-26T04:26:00.181934Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2025-12-26T04:26:00.181935Z 01O 242 | if (usenames==NA_LOGICAL) { 2025-12-26T04:26:00.181936Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.181936Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2025-12-26T04:26:00.181937Z 01O 242 | if (usenames==NA_LOGICAL) { 2025-12-26T04:26:00.181937Z 01O | ^ 2025-12-26T04:26:00.182073Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2025-12-26T04:26:00.182074Z 01O 251 | if (idcol) { 2025-12-26T04:26:00.182075Z 01O | ^~~~~ 2025-12-26T04:26:00.182076Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2025-12-26T04:26:00.182078Z 01O 251 | if (idcol) { 2025-12-26T04:26:00.182078Z 01O | ^ 2025-12-26T04:26:00.182079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.182080Z 01O 276 | for(int j=0; j= 1 2025-12-26T04:26:00.182510Z 01O 27 | if (n<1) return 0; 2025-12-26T04:26:00.182511Z 01O | ^~~ 2025-12-26T04:26:00.182511Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2025-12-26T04:26:00.182512Z 01O 27 | if (n<1) return 0; 2025-12-26T04:26:00.182512Z 01O | ^ 2025-12-26T04:26:00.182513Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2025-12-26T04:26:00.182513Z 01O 29 | va_start(ap, fmt); 2025-12-26T04:26:00.182514Z 01O | ^ 2025-12-26T04:26:00.182576Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2025-12-26T04:26:00.182577Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2025-12-26T04:26:00.182577Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-12-26T04:26:00.182578Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2025-12-26T04:26:00.182579Z 01O 40 | while (*ch!='\0') { 2025-12-26T04:26:00.182579Z 01O | ^~~~~~~~~ 2025-12-26T04:26:00.182580Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2025-12-26T04:26:00.182580Z 01O 40 | while (*ch!='\0') { 2025-12-26T04:26:00.182581Z 01O | ^ 2025-12-26T04:26:00.182581Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2025-12-26T04:26:00.182582Z 01O 41 | if (*ch!='%') {ch++; continue;} 2025-12-26T04:26:00.182582Z 01O | ^~~~~~~~ 2025-12-26T04:26:00.182583Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2025-12-26T04:26:00.182583Z 01O 41 | if (*ch!='%') {ch++; continue;} 2025-12-26T04:26:00.182589Z 01O | ^ 2025-12-26T04:26:00.182589Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2025-12-26T04:26:00.182590Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2025-12-26T04:26:00.182590Z 01O | ^~~~~~~~~~ 2025-12-26T04:26:00.182591Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2025-12-26T04:26:00.182591Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2025-12-26T04:26:00.182592Z 01O | ^ 2025-12-26T04:26:00.182592Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2025-12-26T04:26:00.182593Z 01O 47 | if (!end) { 2025-12-26T04:26:00.182593Z 01O | ^~~~ 2025-12-26T04:26:00.182670Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2025-12-26T04:26:00.182671Z 01O 47 | if (!end) { 2025-12-26T04:26:00.182671Z 01O | ^ 2025-12-26T04:26:00.182673Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2025-12-26T04:26:00.182674Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2025-12-26T04:26:00.182675Z 01O | ^ 2025-12-26T04:26:00.182679Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2025-12-26T04:26:00.182681Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2025-12-26T04:26:00.182681Z 01O | ^~~~~~ 2025-12-26T04:26:00.182682Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2025-12-26T04:26:00.182683Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2025-12-26T04:26:00.182683Z 01O | ^~~~~~ 2025-12-26T04:26:00.204614Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2025-12-26T04:26:00.765146Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2025-12-26T04:26:00.765167Z 01O * using R Under development (unstable) (2025-12-24 r89227) 2025-12-26T04:26:00.765421Z 01O * using platform: x86_64-pc-linux-gnu 2025-12-26T04:26:00.765563Z 01O * R was compiled by 2025-12-26T04:26:00.765742Z 01O Debian clang version 21.1.8 (1) 2025-12-26T04:26:00.765742Z 01O GNU Fortran (Debian 15.2.0-11) 15.2.0 2025-12-26T04:26:00.765913Z 01O * running under: Debian GNU/Linux forky/sid 2025-12-26T04:26:00.766190Z 01O * using session charset: UTF-8 2025-12-26T04:26:01.565933Z 01O * using option ‘--as-cran’ 2025-12-26T04:26:01.566265Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2025-12-26T04:26:01.568512Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2025-12-26T04:26:01.568712Z 01O * package encoding: UTF-8 2025-12-26T04:26:01.569020Z 01O * checking CRAN incoming feasibility ... OK 2025-12-26T04:26:02.122548Z 01O * checking package namespace information ... OK 2025-12-26T04:26:02.133257Z 01O * checking package dependencies ... OK 2025-12-26T04:26:03.261522Z 01O * checking if this is a source package ... OK 2025-12-26T04:26:03.264598Z 01O * checking if there is a namespace ... OK 2025-12-26T04:26:03.269225Z 01O * checking for .dll and .exe files ... OK 2025-12-26T04:26:03.269743Z 01O * checking for hidden files and directories ... OK 2025-12-26T04:26:03.272854Z 01O * checking for portable file names ... OK 2025-12-26T04:26:03.277691Z 01O * checking for sufficient/correct file permissions ... OK 2025-12-26T04:26:03.281799Z 01O * checking serialization versions ... OK 2025-12-26T04:26:03.283548Z 01O * checking whether package ‘data.table’ can be installed ... [23s/23s] OK 2025-12-26T04:26:26.075912Z 01O * used C compiler: ‘Debian clang version 21.1.8 (1)’ 2025-12-26T04:26:26.076221Z 01O * checking installed package size ... INFO 2025-12-26T04:26:26.080214Z 01O installed size is 7.8Mb 2025-12-26T04:26:26.080821Z 01O sub-directories of 1Mb or more: 2025-12-26T04:26:26.081362Z 01O doc 1.0Mb 2025-12-26T04:26:26.081363Z 01O libs 1.5Mb 2025-12-26T04:26:26.081364Z 01O po 1.7Mb 2025-12-26T04:26:26.081364Z 01O tests 2.1Mb 2025-12-26T04:26:26.103174Z 01O * checking package directory ... OK 2025-12-26T04:26:26.103364Z 01O * checking for future file timestamps ... OK 2025-12-26T04:26:26.103950Z 01O * checking ‘build’ directory ... OK 2025-12-26T04:26:26.104974Z 01O * checking DESCRIPTION meta-information ... OK 2025-12-26T04:26:26.985610Z 01O * checking top-level files ... OK 2025-12-26T04:26:28.628383Z 01O * checking for left-over files ... OK 2025-12-26T04:26:28.632298Z 01O * checking index information ... OK 2025-12-26T04:26:28.954516Z 01O * checking package subdirectories ... OK 2025-12-26T04:26:29.610076Z 01O * checking code files for non-ASCII characters ... OK 2025-12-26T04:26:29.661221Z 01O * checking R files for syntax errors ... OK 2025-12-26T04:26:29.743275Z 01O * checking whether the package can be loaded ... OK 2025-12-26T04:26:29.961748Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2025-12-26T04:26:30.139544Z 01O * checking whether the package can be unloaded cleanly ... OK 2025-12-26T04:26:30.321348Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2025-12-26T04:26:30.502553Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2025-12-26T04:26:30.734972Z 01O * checking loading without being on the library search path ... OK 2025-12-26T04:26:31.181603Z 01O * checking whether startup messages can be suppressed ... OK 2025-12-26T04:26:31.387439Z 01O * checking use of S3 registration ... OK 2025-12-26T04:26:31.421022Z 01O * checking dependencies in R code ... OK 2025-12-26T04:26:32.360131Z 01O * checking S3 generic/method consistency ... OK 2025-12-26T04:26:32.761967Z 01O * checking replacement functions ... OK 2025-12-26T04:26:33.006726Z 01O * checking foreign function calls ... OK 2025-12-26T04:26:33.882100Z 01O * checking R code for possible problems ... OK 2025-12-26T04:26:36.891453Z 01O * checking Rd files ... OK 2025-12-26T04:26:37.552233Z 01O * checking Rd metadata ... OK 2025-12-26T04:26:37.602742Z 01O * checking Rd line widths ... OK 2025-12-26T04:26:37.955339Z 01O * checking Rd cross-references ... OK 2025-12-26T04:26:38.633517Z 01O * checking for missing documentation entries ... OK 2025-12-26T04:26:38.909142Z 01O * checking for code/documentation mismatches ... OK 2025-12-26T04:26:40.100074Z 01O * checking Rd \usage sections ... OK 2025-12-26T04:26:41.134543Z 01O * checking Rd contents ... OK 2025-12-26T04:26:41.628682Z 01O * checking for unstated dependencies in examples ... OK 2025-12-26T04:26:42.156338Z 01O * checking line endings in shell scripts ... OK 2025-12-26T04:26:42.156975Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2025-12-26T04:26:42.177184Z 01O * checking line endings in Makefiles ... OK 2025-12-26T04:26:42.177807Z 01O * checking compilation flags in Makevars ... OK 2025-12-26T04:26:42.236758Z 01O * checking for GNU extensions in Makefiles ... OK 2025-12-26T04:26:42.237672Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2025-12-26T04:26:42.239263Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2025-12-26T04:26:42.243582Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2025-12-26T04:26:42.250458Z 01O * checking pragmas in C/C++ headers and code ... OK 2025-12-26T04:26:42.274727Z 01O * checking compilation flags used ... OK 2025-12-26T04:26:42.276643Z 01O * checking compiled code ... NOTE 2025-12-26T04:26:42.405416Z 01O File ‘data.table/libs/data_table.so’: 2025-12-26T04:26:42.405419Z 01O Found non-API calls to R: ‘ATTRIB’, ‘SET_ATTRIB’ 2025-12-26T04:26:42.406020Z 01O 2025-12-26T04:26:42.406020Z 01O Compiled code should not call non-API entry points in R. 2025-12-26T04:26:42.406021Z 01O 2025-12-26T04:26:42.406022Z 01O See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual, 2025-12-26T04:26:42.406023Z 01O and section ‘Moving into C API compliance’ for issues with the use of 2025-12-26T04:26:42.406023Z 01O non-API entry points. 2025-12-26T04:26:42.407229Z 01O * checking installed files from ‘inst/doc’ ... OK 2025-12-26T04:26:42.694055Z 01O * checking files in ‘vignettes’ ... OK 2025-12-26T04:26:42.989347Z 01O * checking examples ... OK 2025-12-26T04:26:50.729184Z 01O * checking examples with --run-donttest ... [10s/11s] OK 2025-12-26T04:27:01.731063Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2025-12-26T04:27:01.804071Z 01O * checking tests ... 2025-12-26T04:27:01.972365Z 01E Running ‘autoprint.R’ 2025-12-26T04:27:02.270513Z 01E Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2025-12-26T04:27:02.279131Z 01E Running ‘froll.R’ [414s/414s] 2025-12-26T04:33:56.344311Z 01E Running ‘knitr.R’ 2025-12-26T04:33:56.656838Z 01E Comparing ‘knitr.Rout’ to ‘knitr.Rout.save’ ... OK 2025-12-26T04:33:56.662964Z 01E Running ‘main.R’ [45s/45s] 2025-12-26T04:34:41.325532Z 01E Running ‘mergelist.R’ 2025-12-26T04:34:43.082724Z 01E Running ‘nafill.R’ 2025-12-26T04:34:43.583166Z 01E Running ‘other.R’ 2025-12-26T04:34:43.821023Z 01E Running ‘programming.R’ 2025-12-26T04:34:44.488430Z 01E Running ‘S4.R’ 2025-12-26T04:34:44.845331Z 01E Running ‘types.R’ 2025-12-26T04:34:45.132210Z 01O [463s/463s] OK 2025-12-26T04:34:45.286821Z 01O * checking for unstated dependencies in vignettes ... OK 2025-12-26T04:34:45.719195Z 01O * checking package vignettes ... OK 2025-12-26T04:34:46.207010Z 01O * checking re-building of vignette outputs ... [26s/27s] OK 2025-12-26T04:35:13.166457Z 01O * checking PDF version of manual ... OK 2025-12-26T04:35:19.650139Z 01O * checking HTML version of manual ... NOTE 2025-12-26T04:35:26.017985Z 01O Skipping checking math rendering: package 'V8' unavailable 2025-12-26T04:35:26.017996Z 01O * checking for non-standard things in the check directory ... OK 2025-12-26T04:35:26.018222Z 01O * checking for detritus in the temp directory ... OK 2025-12-26T04:35:26.018573Z 01O * DONE 2025-12-26T04:35:26.018854Z 01E 2025-12-26T04:35:26.019063Z 01O Status: 2 NOTEs 2025-12-26T04:35:26.019257Z 01E See 2025-12-26T04:35:26.019258Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2025-12-26T04:35:26.019259Z 01E for details. 2025-12-26T04:35:26.019398Z 01E 2025-12-26T04:35:26.040721Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2025-12-26T04:35:26.042501Z 01O $ Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 1 NOTE"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (V8 package) but ", shQuote(l)) else q("no")' 2025-12-26T04:35:26.181137Z 01E Error: Last line of '00check.log' is not 'Status: 1 NOTE' (V8 package) but 'Status: 2 NOTEs' 2025-12-26T04:35:26.181141Z 01E Execution halted 2025-12-26T04:35:26.365894Z 00O section_end:1766723726:step_script 2025-12-26T04:35:26.365901Z 00O+section_start:1766723726:after_script 2025-12-26T04:35:26.366363Z 00O+Running after_script 2025-12-26T04:35:26.722144Z 01O Running after script... 2025-12-26T04:35:26.722180Z 01O $ mkdir -p bus/$CI_JOB_NAME 2025-12-26T04:35:26.723285Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2025-12-26T04:35:26.723350Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2025-12-26T04:35:26.723430Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2025-12-26T04:35:26.723555Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2025-12-26T04:35:26.898979Z 00O section_end:1766723726:after_script 2025-12-26T04:35:26.898986Z 00O+section_start:1766723726:upload_artifacts_on_failure 2025-12-26T04:35:26.899860Z 00O+Uploading artifacts for failed job 2025-12-26T04:35:27.311937Z 01O Uploading artifacts... 2025-12-26T04:35:27.376437Z 01E bus/test-lin-dev-clang-cran: found 679 matching artifact files and directories 2025-12-26T04:35:29.717762Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=b7a001e1544b4ceba1eca038bd4ca592 id=12544376800 responseStatus=201 Created token=6b_J8pzQM 2025-12-26T04:35:29.891599Z 00O section_end:1766723729:upload_artifacts_on_failure 2025-12-26T04:35:29.891607Z 00O+section_start:1766723729:cleanup_file_variables 2025-12-26T04:35:29.891705Z 00O+Cleaning up project directory and file based variables 2025-12-26T04:35:30.389282Z 00O section_end:1766723730:cleanup_file_variables 2025-12-26T04:35:30.389291Z 00O+ 2025-12-26T04:35:30.430893Z 00O ERROR: Job failed: exit code 1