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

WIP: [ci] show all leak types in valgrind logs #4835

Closed
wants to merge 1 commit into from

Conversation

jameslamb
Copy link
Collaborator

This PR proposes a configuration change to see more verbose logs when the R valgrind CI job fails.

Also using it to test that that job would fail on the current state of master (as mentioned in #4685 (comment)).

@jameslamb
Copy link
Collaborator Author

jameslamb commented Nov 29, 2021

/gha run r-valgrind

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

Status: success ✔️.

@david-cortes
Copy link
Contributor

I do not think the kind of information that this setting enables would be useful. It also would not provide extra information for issues about usage of uninitialized memory.

@jameslamb
Copy link
Collaborator Author

don't think the kind of information that this setting enables would be useful

I just needed to change something to open a PR and run the valgrind CI job, and thought this would be a good candidate since in the logs from the failed job at #4685 (comment), I saw this:

==4279== Reachable blocks (those to which a pointer was found) are not shown.
==4279== To see them, rerun with: --leak-check=full --show-leak-kinds=all

But I think you're right. With this setting enabled, I see lots of stuff like this in the logs now that is unrelated to LightGBM's code.

==4274== 7,960 bytes in 1 blocks are still reachable in loss record 607 of 2,859
==4274==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==4274==    by 0x49E53E8: GetNewPage (memory.c:974)
==4274==    by 0x49F5079: Rf_cons (memory.c:2442)
==4274==    by 0x49F7346: Rf_allocList (memory.c:2943)
==4274==    by 0x499161C: replaceCall (eval.c:2151)
==4274==    by 0x4994184: applydefine (eval.c:2936)
==4274==    by 0x4994542: do_set (eval.c:3000)
==4274==    by 0x498DEE2: Rf_eval (eval.c:823)
==4274==    by 0x4992F28: do_begin (eval.c:2538)
==4274==    by 0x498DEE2: Rf_eval (eval.c:823)
==4274==    by 0x49944A5: do_set (eval.c:2990)
==4274==    by 0x498DEE2: Rf_eval (eval.c:823)

This was enough to provide evidence that the valgrind CI job is not failing on master, so I'm going to close this PR.

@jameslamb jameslamb closed this Nov 30, 2021
@jameslamb jameslamb deleted the misc/valgrind branch November 30, 2021 03:34
@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.

None yet

2 participants