Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.3.0 release (fixes #4310) #4633

Merged
merged 5 commits into from
Oct 9, 2021
Merged

v3.3.0 release (fixes #4310) #4633

merged 5 commits into from
Oct 9, 2021

Conversation

jameslamb
Copy link
Collaborator

@jameslamb jameslamb commented Sep 29, 2021

Preparing the 3.3.0 release.

Release checklist below was copied from #4169.

Release checklist:

Necessary PRs and other Changes

I don't believe any additional PRs remain (we had been tracking this all along in #4310).

  • Add @shiyu1994 as maintainer in R-package/DESCRIPTION

@jameslamb
Copy link
Collaborator Author

/gha run r-configure

R-package/DESCRIPTION Outdated Show resolved Hide resolved
@@ -24,7 +25,8 @@ Authors@R: c(
person("Alberto", "Ferreira", role = c("ctb")),
person("Daniel", "Lemire", role = c("ctb")),
person("Victor", "Zverovich", role = c("cph")),
person("IBM Corporation", role = c("ctb"))
person("IBM Corporation", role = c("ctb")),
person("David", "Cortes", role = c("ctb"))
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proposing adding @david-cortes to DESCRIPTION, thanks to their excellent recent contributions (https://github.com/microsoft/LightGBM/pulls?q=is%3Apr+author%3Adavid-cortes+is%3Aclosed)

@jameslamb
Copy link
Collaborator Author

jameslamb commented Sep 29, 2021

/gha run r-valgrind

Workflow R valgrind tests has been triggered! 🚀
https://github.com/microsoft/LightGBM/actions/runs/1286986063

Status: success ✔️.

@jameslamb
Copy link
Collaborator Author

jameslamb commented Sep 29, 2021

/gha run r-solaris

Workflow Solaris CRAN check has been triggered! 🚀
https://github.com/microsoft/LightGBM/actions/runs/1286987335

solaris-x86-patched: https://builder.r-hub.io/status/lightgbm_3.3.0.tar.gz-411d6e28def74dcaa37440e2cd1bf991
solaris-x86-patched-ods: https://builder.r-hub.io/status/lightgbm_3.3.0.tar.gz-be6d3f23b4284dca95fd1dcc161accfb
Reports also have been sent to LightGBM public e-mail: https://yopmail.com?lightgbm_rhub_checks
Status: success ✔️.

@david-cortes
Copy link
Contributor

I'd like to point out that there's at least one blocker left for a potential CRAN release: #4598

@jameslamb
Copy link
Collaborator Author

I'd like to point out that there's at least one blocker left for a potential CRAN release: #4598

@david-cortes we are not treating that as a blocker in releasing to CRAN. The code that issue describes has been in every previous LightGBM submission to CRAN and has not been flagged as problematic.

It would be great to address it at some point but I don't favor delaying this release until that issue is picked up.

@david-cortes
Copy link
Contributor

I'd like to point out that there's at least one blocker left for a potential CRAN release: #4598

@david-cortes we are not treating that as a blocker in releasing to CRAN. The code that issue describes has been in every previous LightGBM submission to CRAN and has not been flagged as problematic.

It would be great to address it at some point but I don't favor delaying this release until that issue is picked up.

But that's because it was only accessible from tests that were skipped. As those tests are now unskipped, they'd either have to be set to skipped again, or the issue addressed, otherwise it might randomly fail their tests (particularly solaris).

@jameslamb
Copy link
Collaborator Author

But that's because it was only accessible from tests that were skipped

This is not a correct statement. LGBM_DatasetCreateFromCSC_R is invoked dozens of times across many of the R package's tests, since the agaricus datasets used for testing are sparse matrices. Any test calling lgb.Dataset() or lgb.train() or lgb.cv() on a dataset built from that data will end up using LGBM_DatasetCreateFromCSC_R.

data(agaricus.train, package = "lightgbm")

library(lightgbm)
data(agaricus.train, package = "lightgbm")
class(agaricus.train$data)

[1] "dgCMatrix"
attr(,"package")
[1] "Matrix"

} else if (methods::is(private$raw_data, "dgCMatrix")) {
if (length(private$raw_data@p) > 2147483647L) {
stop("Cannot support large CSC matrix")
}
# Are we using a dgCMatrix (sparsed matrix column compressed)
handle <- .Call(
LGBM_DatasetCreateFromCSC_R

@StrikerRUS StrikerRUS requested a review from jmoralez September 29, 2021 23:37
@jameslamb
Copy link
Collaborator Author

@shiyu1994 are you ok with releasing the current state of this branch as 3.3.0? I'd like your approval before we merge this and start pushing to package managers.

@shiyu1994
Copy link
Collaborator

Sure. I'm ok with this.

@jameslamb
Copy link
Collaborator Author

Thanks all!

Before we merge... @StrikerRUS did you want #4637 to make it into 3.3.0? If so we'll need to merge latest master here.

@StrikerRUS
Copy link
Collaborator

Yeah, thanks! Let's merge recent commits.

@jameslamb
Copy link
Collaborator Author

jameslamb commented Oct 6, 2021

/gha run r-valgrind

Workflow R valgrind tests has been triggered! 🚀
https://github.com/microsoft/LightGBM/actions/runs/1310167876

Status: success ✔️.

@jameslamb
Copy link
Collaborator Author

jameslamb commented Oct 6, 2021

/gha run r-solaris

Workflow Solaris CRAN check has been triggered! 🚀
https://github.com/microsoft/LightGBM/actions/runs/1310168316

Reports also have been sent to LightGBM public e-mail: https://yopmail.com?lightgbm_rhub_checks
Status: failure ❌.

@jameslamb
Copy link
Collaborator Author

Thanks all! I'm running the R Solaris and valgrind tests one more time, since changes were merged in that affect the C++ side (#4608, #4643, #4650).

If those tests pass, since we have 4 approvals I'll merge this PR and work through some of the other release items like setting a release / tag here on GitHub and submitting the R package to CRAN.

@jameslamb
Copy link
Collaborator Author

There haven't been any updates on that R-hub issue, but going to try another build just in case they've fixed the issue but just haven't updated the issue yet. Maybe we'll get lucky.

@jameslamb
Copy link
Collaborator Author

jameslamb commented Oct 8, 2021

/gha run r-solaris

Workflow Solaris CRAN check has been triggered! 🚀
https://github.com/microsoft/LightGBM/actions/runs/1318876443

Reports also have been sent to LightGBM public e-mail: https://yopmail.com?lightgbm_rhub_checks
Status: failure ❌.

@jameslamb
Copy link
Collaborator Author

R Hub maintainers have just reported that the issue with Solaris has been fixed: r-hub/rhub#488 (comment)

I'm going to wait until tonight to trigger a new build though, based on this comment from there:

there is a long queue, so it might take some time for your build to finish.

I didn't realize that builds were queue-ing up during this outage. I want to wait until tonight to allow that service to catch up. Sorry for the delay!

@jameslamb
Copy link
Collaborator Author

I just updated this to latest master, to get the changes from the few minor PRs that were merged since this was last updated

I'm going to attempt the solaris and valgrind jobs again, hopefully R Hub's Solaris builds will be able to process our jobs successfully this time. If they pass and all other CI passes, I'll merge this and work on releasing to package managers!

@jameslamb
Copy link
Collaborator Author

jameslamb commented Oct 8, 2021

/gha run r-solaris

Workflow Solaris CRAN check has been triggered! 🚀
https://github.com/microsoft/LightGBM/actions/runs/1321892583

solaris-x86-patched: https://builder.r-hub.io/status/lightgbm_3.3.0.tar.gz-c6a4d5a23f4d41c2bb5160b78fb5ea03
solaris-x86-patched-ods: https://builder.r-hub.io/status/lightgbm_3.3.0.tar.gz-c3faf8e7fed04a6f885fba21569e5272
Reports also have been sent to LightGBM public e-mail: https://yopmail.com?lightgbm_rhub_checks
Status: success ✔️.

@jameslamb
Copy link
Collaborator Author

jameslamb commented Oct 8, 2021

/gha run r-valgrind

Workflow R valgrind tests has been triggered! 🚀
https://github.com/microsoft/LightGBM/actions/runs/1321893465

Status: success ✔️.

@jameslamb
Copy link
Collaborator Author

Ok, Solaris tests passed! Thanks for your patience, everyone.

I'm going to merge this and start the work on the remaining checklist items.

@jameslamb jameslamb merged commit fa4ecf4 into master Oct 9, 2021
@jameslamb jameslamb deleted the release/v3.3.0 branch October 9, 2021 01:06
@jameslamb
Copy link
Collaborator Author

GitHub release for 3.3.0 has been published: https://github.com/microsoft/LightGBM/releases/tag/v3.3.0

and tag v3.3.0 has been pushed: https://github.com/microsoft/LightGBM/tags

here's the Azure Pipelines build triggered by the new tag: https://dev.azure.com/lightgbm-ci/lightgbm-ci/_build/results?buildId=11089&view=results

@jameslamb
Copy link
Collaborator Author

The jobs at Azure Pipelines completed successfully. Just submitted to CRAN!

image

I did the renaming we talked about in #4169 (comment) like so:

wget \
    https://github.com/microsoft/LightGBM/releases/download/v3.3.0/lightgbm-3.3.0-r-cran.tar.gz \
    -O lightgbm_3.3.0.tar.gz

@shiyu1994 please check your email. You should get an automated email from CRAN asking you to confirm this submission.

@shiyu1994
Copy link
Collaborator

Thank you @jameslamb. Done with that.

@jameslamb
Copy link
Collaborator Author

Great, thank you!

@jameslamb
Copy link
Collaborator Author

Source distribution of the R package is now available on CRAN.

https://cran.r-project.org/web/packages/lightgbm/index.html

We'll have to check https://cran.r-project.org/web/checks/check_results_lightgbm.html to see how the automated checks there go. Hoping they succeed!!

@StrikerRUS
Copy link
Collaborator

@jameslamb @david-cortes

Hoping they succeed!!

Not sure whether these ASAN additional checks are counted for CRAN acceptance, but they are failing:

=================================================================
==3226314==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffca6724d90 at pc 0x7f2ba7c1f4a7 bp 0x7ffca6724030 sp 0x7ffca6724028
READ of size 8 at 0x7ffca6724d90 thread T0
    #0 0x7f2ba7c1f4a6 in std::__1::__function::__value_func<void (std::__1::vector<std::__1::pair<int, double>, std::__1::allocator<std::__1::pair<int, double> > > const&, double*)>::operator bool() const /usr/local/bin/../include/c++/v1/__functional/function.h:540:55
    #1 0x7f2ba7c1f4a6 in std::__1::function<void (std::__1::vector<std::__1::pair<int, double>, std::__1::allocator<std::__1::pair<int, double> > > const&, double*)>::operator bool() const /usr/local/bin/../include/c++/v1/__functional/function.h:1027:32
    #2 0x7f2ba7c1f4a6 in bool std::__1::operator==<void, std::__1::vector<std::__1::pair<int, double>, std::__1::allocator<std::__1::pair<int, double> > > const&, double*>(std::__1::function<void (std::__1::vector<std::__1::pair<int, double>, std::__1::allocator<std::__1::pair<int, double> > > const&, double*)> const&, std::nullptr_t) /usr/local/bin/../include/c++/v1/__functional/function.h:1208:82
    #3 0x7f2ba7c1f4a6 in LightGBM::DatasetLoader::ExtractFeaturesFromMemory(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*, LightGBM::Parser const*, LightGBM::Dataset*) /data/gannet/ripley/R/packages/tests-clang-SAN/lightgbm/src/io/dataset_loader.cpp:1146:20
    #4 0x7f2ba7c17b2e in LightGBM::DatasetLoader::LoadFromFile(char const*, int, int) /data/gannet/ripley/R/packages/tests-clang-SAN/lightgbm/src/io/dataset_loader.cpp:223:7
    #5 0x7f2ba844b343 in LightGBM::DatasetLoader::LoadFromFile(char const*) /data/gannet/ripley/R/packages/tests-clang-SAN/lightgbm/src/./include/LightGBM/dataset_loader.h:25:12
    #6 0x7f2ba844b343 in LGBM_DatasetCreateFromFile /data/gannet/ripley/R/packages/tests-clang-SAN/lightgbm/src/c_api.cpp:960:21
    #7 0x7f2ba84d19e0 in LGBM_DatasetCreateFromFile_R /data/gannet/ripley/R/packages/tests-clang-SAN/lightgbm/src/lightgbm_R.cpp:123:3
    #8 0x6d7932 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:607:17
    #9 0x7240a9 in do_dotcall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:1284:11
    #10 0x81db7f in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:843:9
    #11 0x892216 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2982:8
    #12 0x81d778 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815:12
    #13 0x8910b2 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2530:10
    #14 0x81d778 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815:12
    #15 0x81d778 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815:12
    #16 0x8910b2 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2530:10
    #17 0x81d778 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815:12
    #18 0x81d778 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815:12
    #19 0x8910b2 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2530:10
    #20 0x81d778 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815:12
    #21 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #22 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #23 0x81ddc8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:863:12
    #24 0x8910b2 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2530:10
    #25 0x81d778 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815:12
    #26 0x897aa5 in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3357:13
    #27 0x834ab8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7128:14
    #28 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #29 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #30 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #31 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #32 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #33 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #34 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #35 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #36 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #37 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #38 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #39 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #40 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #41 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #42 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #43 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #44 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #45 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #46 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #47 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #48 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #49 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #50 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #51 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #52 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #53 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #54 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #55 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #56 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #57 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #58 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #59 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #60 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #61 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #62 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #63 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #64 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #65 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #66 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #67 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #68 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #69 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #70 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #71 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #72 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #73 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #74 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #75 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #76 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #77 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #78 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #79 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #80 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #81 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #82 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #83 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #84 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #85 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #86 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #87 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #88 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #89 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #90 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #91 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #92 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #93 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #94 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #95 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #96 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #97 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #98 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #99 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #100 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #101 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #102 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #103 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #104 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #105 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #106 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #107 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #108 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #109 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #110 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #111 0x81ddc8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:863:12
    #112 0x89838c in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3380:9
    #113 0x834ab8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7128:14
    #114 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #115 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #116 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #117 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #118 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #119 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #120 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #121 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #122 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #123 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #124 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #125 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #126 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #127 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #128 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #129 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #130 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #131 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #132 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #133 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #134 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #135 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #136 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #137 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #138 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #139 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #140 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #141 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #142 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #143 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #144 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #145 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #146 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #147 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #148 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #149 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #150 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #151 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #152 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #153 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #154 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #155 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #156 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #157 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #158 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #159 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #160 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #161 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #162 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #163 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #164 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #165 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #166 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #167 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #168 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #169 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #170 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #171 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #172 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #173 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #174 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #175 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #176 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #177 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #178 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #179 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #180 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #181 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #182 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #183 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #184 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #185 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #186 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #187 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #188 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #189 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #190 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #191 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #192 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #193 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #194 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #195 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #196 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #197 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #198 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #199 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #200 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #201 0x888b5f in R_forceAndCall /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1977:8
    #202 0x526ecf in do_lapply /data/gannet/ripley/R/svn/R-devel/src/main/apply.c:70:8
    #203 0x999c04 in do_internal /data/gannet/ripley/R/svn/R-devel/src/main/names.c:1396:11
    #204 0x832a19 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7148:15
    #205 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #206 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #207 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #208 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #209 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #210 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #211 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #212 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #213 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #214 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #215 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #216 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #217 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #218 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #219 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #220 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #221 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #222 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #223 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #224 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #225 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #226 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #227 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #228 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #229 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #230 0x87efe1 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568:8
    #231 0x8afc40 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149:15
    #232 0x8afc40 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190:14
    #233 0x854c76 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880:20
    #234 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #235 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #236 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #237 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #238 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #239 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #240 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #241 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #242 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #243 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #244 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #245 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #246 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #247 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #248 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #249 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #250 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #251 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #252 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #253 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #254 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #255 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #256 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #257 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #258 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #259 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #260 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #261 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #262 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #263 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #264 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #265 0x841ddf in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096:12
    #266 0x81d38e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740:8
    #267 0x886197 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #268 0x881aff in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836:16
    #269 0x81ddc8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:863:12
    #270 0x94d246 in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:264:2
    #271 0x950790 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:316:11
    #272 0x950599 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1129:5
    #273 0x4e247a in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29:5

Address 0x7ffca6724d90 is located in stack of thread T0 at offset 1840 in frame
    #0 0x7f2ba844b08f in LGBM_DatasetCreateFromFile /data/gannet/ripley/R/packages/tests-clang-SAN/lightgbm/src/c_api.cpp:949

  This frame has 5 object(s):
    [32, 72) 'param' (line 951)
    [112, 1456) 'config' (line 952)
    [1584, 1736) 'loader' (line 957)
    [1808, 1856) 'ref.tmp' (line 957) <== Memory access at offset 1840 is inside this variable
    [1888, 1912) 'ref.tmp61' (line 968)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope /usr/local/bin/../include/c++/v1/__functional/function.h:540:55 in std::__1::__function::__value_func<void (std::__1::vector<std::__1::pair<int, double>, std::__1::allocator<std::__1::pair<int, double> > > const&, double*)>::operator bool() const
Shadow bytes around the buggy address:
  0x100014cdc960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100014cdc970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100014cdc980: 00 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2
  0x100014cdc990: f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100014cdc9a0: 00 00 00 00 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 f8 f8
=>0x100014cdc9b0: f8 f8[f8]f8 f2 f2 f2 f2 f8 f8 f8 f3 f3 f3 f3 f3
  0x100014cdc9c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100014cdc9d0: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 f3 f3 f3
  0x100014cdc9e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100014cdc9f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100014cdca00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==3226314==ABORTING

and

  ==2022826==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffda8d7fa80 at pc 0x7ff65096277b bp 0x7ffda8d7f220 sp 0x7ffda8d7f210
  READ of size 8 at 0x7ffda8d7fa80 thread T0
      #0 0x7ff65096277a in std::_Function_base::_M_empty() const /usr/include/c++/10/bits/std_function.h:248
      #1 0x7ff65096277a in std::function<void (std::vector<std::pair<int, double>, std::allocator<std::pair<int, double> > > const&, double*)>::operator bool() const /usr/include/c++/10/bits/std_function.h:499
      #2 0x7ff65096277a in bool std::operator==<void, std::vector<std::pair<int, double>, std::allocator<std::pair<int, double> > > const&, double*>(std::function<void (std::vector<std::pair<int, double>, std::allocator<std::pair<int, double> > > const&, double*)> const&, decltype(nullptr)) /usr/include/c++/10/bits/std_function.h:681
      #3 0x7ff65096277a in LightGBM::DatasetLoader::ExtractFeaturesFromMemory(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, LightGBM::Parser const*, LightGBM::Dataset*) io/dataset_loader.cpp:1146
      #4 0x7ff650a03643 in LightGBM::DatasetLoader::LoadFromFile(char const*, int, int) io/dataset_loader.cpp:223
      #5 0x7ff651f33b7d in LightGBM::DatasetLoader::LoadFromFile(char const*) include/LightGBM/dataset_loader.h:25
      #6 0x7ff651f33b7d in LGBM_DatasetCreateFromFile /data/gannet/ripley/R/packages/tests-gcc-SAN/lightgbm/src/c_api.cpp:960
      #7 0x7ff652051cba in LGBM_DatasetCreateFromFile_R /data/gannet/ripley/R/packages/tests-gcc-SAN/lightgbm/src/lightgbm_R.cpp:123
      #8 0x57d953 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:607
      #9 0x586bac in do_dotcall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:1284
      #10 0x67124e in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:843
      #11 0x67c8a9 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2982
      #12 0x670c58 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815
      #13 0x678bf6 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2530
      #14 0x670c58 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815
      #15 0x670c58 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815
      #16 0x678bf6 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2530
      #17 0x670c58 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815
      #18 0x670c58 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815
      #19 0x678bf6 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2530
      #20 0x670c58 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815
      #21 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #22 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #23 0x67082f in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:863
      #24 0x678bf6 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2530
      #25 0x670c58 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:815
      #26 0x67f737 in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3357
      #27 0x62824b in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7128
      #28 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #29 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #30 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #31 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #32 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #33 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #34 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #35 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #36 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #37 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #38 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #39 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #40 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #41 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #42 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #43 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #44 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #45 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #46 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #47 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #48 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #49 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #50 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #51 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #52 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #53 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #54 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #55 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #56 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #57 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #58 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #59 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #60 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #61 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #62 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #63 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #64 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #65 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #66 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #67 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #68 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #69 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #70 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #71 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #72 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #73 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #74 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #75 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #76 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #77 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #78 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #79 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #80 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #81 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #82 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #83 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #84 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #85 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #86 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #87 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #88 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #89 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #90 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #91 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #92 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #93 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #94 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #95 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #96 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #97 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #98 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #99 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #100 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #101 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #102 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #103 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #104 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #105 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #106 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #107 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #108 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #109 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #110 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #111 0x67082f in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:863
      #112 0x680177 in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3380
      #113 0x62824b in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7128
      #114 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #115 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #116 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #117 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #118 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #119 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #120 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #121 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #122 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #123 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #124 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #125 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #126 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #127 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #128 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #129 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #130 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #131 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #132 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #133 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #134 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #135 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #136 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #137 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #138 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #139 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #140 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #141 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #142 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #143 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #144 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #145 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #146 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #147 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #148 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #149 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #150 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #151 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #152 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #153 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #154 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #155 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #156 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #157 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #158 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #159 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #160 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #161 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #162 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #163 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #164 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #165 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #166 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #167 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #168 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #169 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #170 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #171 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #172 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #173 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #174 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #175 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #176 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #177 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #178 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #179 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #180 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #181 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #182 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #183 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #184 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #185 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #186 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #187 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #188 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #189 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #190 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #191 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #192 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #193 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #194 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #195 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #196 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #197 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #198 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #199 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #200 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #201 0x67d7dd in R_forceAndCall /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1977
      #202 0x44c98a in do_lapply /data/gannet/ripley/R/svn/R-devel/src/main/apply.c:70
      #203 0x71c9a9 in do_internal /data/gannet/ripley/R/svn/R-devel/src/main/names.c:1396
      #204 0x6234ec in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7148
      #205 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #206 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #207 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #208 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #209 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #210 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #211 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #212 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #213 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #214 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #215 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #216 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #217 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #218 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #219 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #220 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #221 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #222 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #223 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #224 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #225 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #226 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #227 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #228 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #229 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #230 0x671fb2 in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:568
      #231 0x672747 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5149
      #232 0x672747 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:5190
      #233 0x636bda in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6880
      #234 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #235 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #236 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #237 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #238 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #239 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #240 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #241 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #242 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #243 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #244 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #245 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #246 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #247 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #248 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #249 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #250 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #251 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #252 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #253 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #254 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #255 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #256 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #257 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #258 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #259 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #260 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #261 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #262 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #263 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #264 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #265 0x6469ae in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7096
      #266 0x66ff67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:740
      #267 0x675274 in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1910
      #268 0x677697 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1836
      #269 0x67082f in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:863
      #270 0x6f130d in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:264
      #271 0x6f19a0 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:316
      #272 0x6f1ae4 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1129
      #273 0x6f1b32 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1136
      #274 0x41b3e8 in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29
  
  Address 0x7ffda8d7fa80 is located in stack of thread T0 at offset 64 in frame
      #0 0x7ff651f337df in LGBM_DatasetCreateFromFile /data/gannet/ripley/R/packages/tests-gcc-SAN/lightgbm/src/c_api.cpp:949
  
    This frame has 6 object(s):
      [32, 33) '<unknown>'
      [48, 80) '<unknown>' <== Memory access at offset 64 is inside this variable
      [112, 144) '<unknown>'
      [176, 232) 'param' (line 951)
      [272, 456) 'loader' (line 957)
      [528, 2048) 'config' (line 952)
  HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
        (longjmp and C++ exceptions *are* supported)
  SUMMARY: AddressSanitizer: stack-use-after-scope /usr/include/c++/10/bits/std_function.h:248 in std::_Function_base::_M_empty() const
  Shadow bytes around the buggy address:
    0x1000351a7f00: f1 f1 04 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2
    0x1000351a7f10: 00 00 00 f2 f2 f2 f2 f2 00 00 00 f2 f2 f2 f2 f2
    0x1000351a7f20: 00 00 00 f2 f2 f2 f2 f2 00 00 00 f2 f2 f2 f2 f2
    0x1000351a7f30: 00 00 00 00 f3 f3 f3 f3 00 00 00 00 00 00 00 00
    0x1000351a7f40: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 01 f2 f8 f8
  =>0x1000351a7f50:[f8]f8 f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2 00 00
    0x1000351a7f60: 00 00 00 00 00 f2 f2 f2 f2 f2 00 00 00 00 00 00
    0x1000351a7f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0x1000351a7f80: 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00
    0x1000351a7f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0x1000351a7fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  Shadow byte legend (one shadow byte represents 8 application bytes):
    Addressable:           00
    Partially addressable: 01 02 03 04 05 06 07 
    Heap left redzone:       fa
    Freed heap region:       fd
    Stack left redzone:      f1
    Stack mid redzone:       f2
    Stack right redzone:     f3
    Stack after return:      f5
    Stack use after scope:   f8
    Global redzone:          f9
    Global init order:       f6
    Poisoned by user:        f7
    Container overflow:      fc
    Array cookie:            ac
    Intra object redzone:    bb
    ASan internal:           fe
    Left alloca redzone:     ca
    Right alloca redzone:    cb
    Shadow gap:              cc
  ==2022826==ABORTING
* DONE
Status: 1 ERROR

Links:

@david-cortes
Copy link
Contributor

@StrikerRUS Took a look at the error and it's not R specific. The issue is that you're using a C++ std::function as if it were a C function pointer, assigning to and comparing against nullptr. This is a general memory safety issue that should be affecting also the C API and other interfaces relying on it.

@StrikerRUS
Copy link
Collaborator

@david-cortes Thank you very much!

shiyu1994 pushed a commit that referenced this pull request Oct 20, 2021
* don't compare std::function to nullptr ref #4633

* Update dataset_loader.h
@jameslamb jameslamb mentioned this pull request Oct 25, 2021
18 tasks
@github-actions
Copy link

This pull request has been automatically locked since there has not been any recent activity since it was closed. To start a new related discussion, open a new issue at https://github.com/microsoft/LightGBM/issues including a reference to this.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants