-
Notifications
You must be signed in to change notification settings - Fork 51
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
modules/kvs/kvstxn: Fix mem-leak in kvs merge #1946
Conversation
In one run hit
which appears to be #1077. But have never seen
debug shows
which seems disturbing. But I can't imagine my stupid mem-leak fix here could be the cause of this. If my mem-leak fix were truly horrible, there'd be way more bugs than this one. @grondo, got any idea on this one? |
No and I'm not sure I've seen that failure before. Disturbingly, task 2 is getting the output from task 3 and task 3 is missing output. We should open a separate issue and I'll try to see if it can be reproduced. |
Actually, looks like the above |
Well, that's embarrassing. I completely forgot about that. |
rebased |
Codecov Report
@@ Coverage Diff @@
## master #1946 +/- ##
==========================================
+ Coverage 80.03% 80.03% +<.01%
==========================================
Files 195 195
Lines 34945 34931 -14
==========================================
- Hits 27968 27957 -11
+ Misses 6977 6974 -3
|
actually hold off on a merge, I realized I could refactor this a tiny bit to prevent unexpected errors from coming up in the future. I can't remember why I decided to make separate |
re-pushed with a few refactoring fixes |
56a84da
to
e8bf6ca
Compare
rebased |
In kvstxn_create_empty(), the 'keys' array was created that could be overwritten without being destroyed. This was a corner case in PR flux-framework#1859, when key generation was altered. Fixes flux-framework#1944
Allow kvstxn_create() to take several NULL pointers, so that kvstxn_create_empty() can be removed.
All "goto error" paths were ENOMEM errnos, so cleanup code by not setting "errno = ENOMEM" in all paths.
rebased |
Thanks! |
In kvstxn_create_empty(), the 'keys' array was created that
could be overwritten without being destroyed. This was a corner
case in PR #1859, when key generation was altered.
Fixes #1944