LightGBM: Index out of bounds exception in LightGBM when using LGBM_DatasetCreateByReference and LGBM_BoosterResetTrainingData

Using LGBM_DatasetCreateByReference and LGBM_BoosterResetTrainingData causes in index out of bounds exception:

image

Steps to reproduce:

  • Clone LightGBM.Net from https://github.com/rca22/LightGBM.Net
  • Switch to the update_jun_20 branch (no longer necessary, use master branch)
  • Put a Debug build of LightGBM (built from master) in the LightGBM.Net\native\Debug folder
  • Make the Dataset constructor here public instead of private.
  • Uncomment and run the test BoosterTest.ResetTrainingData in LightGBMNet.Train.Test

All this test does is create a dataset, then create a second dataset from the first by taking half the rows, and then calls LGBM_BoosterResetTrainingData on the booster with the second dataset.

Note that this used to work with a previous version of LightGBM built from master last year.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 15 (4 by maintainers)

Most upvoted comments

@guolinke Thanks a lot. I’ve updated the reproduction instructions above to use the master branch, now you will need to re-enable the failing test and corresponding failing constructor as described.

I don’t have the time to reproduce these errors in some other way, unfortunately

The group of maintainers here is also a small group of volunteers with limited time, and we cannot take on the task of reproducing a bug using a library that we do not maintain. We will be happy to help you when you can find time to reproduce this issue using only the software managed in this repo.