)]}'
{"id":"openstack%2Fliberasurecode~431812","triplet_id":"openstack%2Fliberasurecode~master~Ibf672d1a309498591b87d739632a90a1b3704f7e","project":"openstack/liberasurecode","branch":"master","topic":"isa-l-free-matrix-on-exit","hashtags":[],"change_id":"Ibf672d1a309498591b87d739632a90a1b3704f7e","subject":"ISA-L: free matrix on exit","status":"MERGED","created":"2017-02-10 02:21:03.000000000","updated":"2017-02-15 08:01:04.000000000","submitted":"2017-02-15 08:01:04.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"1aa3d651746bacde1926ae546506d0d572b99f1e","_number":431812,"virtual_id_number":431812,"owner":{"_account_id":25109,"name":"Daniel Axtens","email":"dja@axtens.net","username":"dja"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":0,"_account_id":8433,"name":"Kevin Greenan","email":"kmgreen2@gmail.com","username":"kmg"},{"value":2,"date":"2017-02-15 08:01:04.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":22042,"name":"Chris Smart","email":"distroguy@gmail.com","username":"csmart"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"all":[{"value":2,"date":"2017-02-15 07:57:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":1,"date":"2017-02-10 19:02:56.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":8433,"name":"Kevin Greenan","email":"kmgreen2@gmail.com","username":"kmg"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2017-02-10 05:13:38.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":22042,"name":"Chris Smart","email":"distroguy@gmail.com","username":"csmart"},{"value":2,"date":"2017-02-10 18:12:17.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"all":[{"value":1,"date":"2017-02-15 07:57:09.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":0,"_account_id":8433,"name":"Kevin Greenan","email":"kmgreen2@gmail.com","username":"kmg"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":22042,"name":"Chris Smart","email":"distroguy@gmail.com","username":"csmart"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"_account_id":8433,"name":"Kevin Greenan","email":"kmgreen2@gmail.com","username":"kmg"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22042,"name":"Chris Smart","email":"distroguy@gmail.com","username":"csmart"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-02-10 05:13:38.000000000","updated_by":{"_account_id":22042,"name":"Chris Smart","email":"distroguy@gmail.com","username":"csmart"},"reviewer":{"_account_id":22042,"name":"Chris Smart","email":"distroguy@gmail.com","username":"csmart"},"state":"REVIEWER"},{"updated":"2017-02-10 18:12:17.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"},{"updated":"2017-02-10 19:02:56.000000000","updated_by":{"_account_id":8433,"name":"Kevin Greenan","email":"kmgreen2@gmail.com","username":"kmg"},"reviewer":{"_account_id":8433,"name":"Kevin Greenan","email":"kmgreen2@gmail.com","username":"kmg"},"state":"REVIEWER"},{"updated":"2017-02-15 07:57:09.000000000","updated_by":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"reviewer":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"state":"REVIEWER"},{"updated":"2017-02-15 08:01:04.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"0f95ca86c3c727ff00db337d0f92cd0fc93975b3","author":{"_account_id":25109,"name":"Daniel Axtens","email":"dja@axtens.net","username":"dja"},"date":"2017-02-10 02:21:03.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e3329a49c2c1feac75ba62ca64853b80a4f903f8","author":{"_account_id":10068,"name":"Welcome, new contributor!","username":"welcome-message"},"date":"2017-02-10 02:21:12.000000000","message":"Patch Set 1:\n\nThank you for your first contribution to OpenStack.\n\n    Your patch will now be tested automatically by OpenStack testing frameworks\n    and once the automatic tests pass, it will be reviewed by other friendly\n    developers. They will give you feedback and may require you to refine it.\n\n    People seldom get their patch approved on the first try, so don\u0027t be\n    concerned if requested to make corrections. Feel free to modify your patch\n    and resubmit a new change-set.\n\n    Patches usually take 3 to 7 days to be reviewed so be patient and be\n    available on IRC to ask and answer questions about your work. Also it\n    takes generally at least a couple of weeks for cores to get around to\n    reviewing code. The more you participate in the community the more\n    rewarding it is for you. You may also notice that the more you get to know\n    people and get to be known, the faster your patches will be reviewed and\n    eventually approved. Get to know others and become known by doing code\n    reviews: anybody can do it, and it\u0027s a great way to learn the code base.\n\n    Thanks again for supporting OpenStack, we look forward to working with you.\n\n    IRC: https://wiki.openstack.org/wiki/IRC\n    Workflow: http://docs.openstack.org/infra/manual/developers.html\n    Commit Messages: https://wiki.openstack.org/wiki/GitCommitMessages","accounts_in_message":[],"_revision_number":1},{"id":"982e84cd89dd3541b0ad4b2f1ddfeb622a6e9083","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-02-10 02:26:00.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-liberasurecode-unit http://logs.openstack.org/12/431812/1/check/gate-liberasurecode-unit/3d74428/ : SUCCESS in 4m 44s","accounts_in_message":[],"_revision_number":1},{"id":"f6860c2fa7e890007d885da57013e61176e4879d","author":{"_account_id":22042,"name":"Chris Smart","email":"distroguy@gmail.com","username":"csmart"},"date":"2017-02-10 05:13:38.000000000","message":"Patch Set 1: Code-Review+1\n\nNice catch, thanks Daniel. And welcome! :-)\n\n-c","accounts_in_message":[],"_revision_number":1},{"id":"a0873fc416ea8d0a291909261fb67acfc6337af7","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-02-10 18:12:17.000000000","message":"Patch Set 1: Code-Review+2\n\nGood catch! I wish I knew a good way to write tests for memory leaks...","accounts_in_message":[],"_revision_number":1},{"id":"9b76206e89c6a4d6767fc53374e92736b3f4a828","author":{"_account_id":8433,"name":"Kevin Greenan","email":"kmgreen2@gmail.com","username":"kmg"},"date":"2017-02-10 19:02:56.000000000","message":"Patch Set 1: Code-Review+1\n\nI am sure that is not the last leak...  FYI, you can use valgrind when running the tests to detect leaks.  It is a runtime tool, so it will not catch everything.","accounts_in_message":[],"_revision_number":1},{"id":"eaab09b14b6ed31163a78e0eccf3eb65cebf74e1","author":{"_account_id":25109,"name":"Daniel Axtens","email":"dja@axtens.net","username":"dja"},"date":"2017-02-10 21:17:28.000000000","message":"Patch Set 1:\n\n\u003e I am sure that is not the last leak...  FYI, you can use valgrind\n \u003e when running the tests to detect leaks.  It is a runtime tool, so\n \u003e it will not catch everything.\n\nI had a look at the Jenkins/zuul results - we do run some tests in valgrind, but I think the execution environment is missing several backends, including ISA-L - hence why it missed this.\n\nIf you can point me to the repository with the CI setup scripts, I can do a patch for that to add more backends.","accounts_in_message":[],"_revision_number":1},{"id":"a294b77aec25960cfd4652a7ac51ee16dc0993de","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-02-10 21:41:19.000000000","message":"Patch Set 1:\n\n\u003e If you can point me to the repository with the CI setup scripts\n\nIt boils down to the shell script baked into https://github.com/openstack-infra/project-config/blob/master/jenkins/jobs/liberasurecode.yaml\n\nI think I might prefer moving that to something in-repo so we can do these sorts of fixups without bugging -infra to rubber-stamp the change.\n\nFWIW, I started playing around with testing against more backends in PyECLib; there\u0027s a chain of three patches ending at https://review.openstack.org/#/c/408286/ that may be worth looking at.\n\nI\u0027m not entirely sure the valgrind-test target does what we want anyway, though; even with ISA-L and Jerasure installed I keep seeing things like\n\n\u003e total heap usage: 0 allocs, 0 frees, 0 bytes allocated\n\nwhich seems patently false :-(","accounts_in_message":[],"_revision_number":1},{"id":"df5bb64ca7d34568a4423ca29f1ab3bc5204ac9b","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2017-02-14 10:07:31.000000000","message":"Patch Set 1: Code-Review+1\n\nThe code looks small enough and it looks good to me. However I\u0027m still wondering how to catch it. It looks like Tim also could not reproduce it.\n\n\u003eI\u0027m not entirely sure the valgrind-test target does what we want anyway, though; even with ISA-L and Jerasure installed I keep seeing things like\n\u003e\u003etotal heap usage: 0 allocs, 0 frees, 0 bytes allocated\n\u003ewhich seems patently false :-(\n\nIn my env, `valgrind --leak-check\u003dfull test/liberasurecode_test` also results in the same above (i.e. no leaks are possible). That is my reason I leave just +1 here because I\u0027d really love to add the check to the gate job to prevent future regression. Daniel, could you give your way to find the leak actually?","accounts_in_message":[],"_revision_number":1},{"id":"fa0f915d1b34c8deb3829a0d7122ae1e2b931b33","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-02-14 19:21:09.000000000","message":"Patch Set 1:\n\nKota, with something like https://gist.github.com/tipabu/04849bee7f4516a1c4a36de881f089bd it comes through clear as day:\n\n \u003d\u003d30473\u003d\u003d 1,200 bytes in 8 blocks are definitely lost in loss record 3 of 11\n \u003d\u003d30473\u003d\u003d    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n \u003d\u003d30473\u003d\u003d    by 0x4E3FBED: isa_l_common_init (isa_l_common.c:527)\n \u003d\u003d30473\u003d\u003d    by 0x4E3B0EA: liberasurecode_instance_create (erasurecode.c:303)\n \u003d\u003d30473\u003d\u003d    by 0x400E50: test (libec-test.c:72)\n \u003d\u003d30473\u003d\u003d    by 0x40104C: main (libec-test.c:122)\n\nWith this, that goes away. There\u0027s definitely trouble with the gate, but that seems unrelated to this particular change.","accounts_in_message":[],"_revision_number":1},{"id":"963547ac0b9c581fe135e4c7b7311d0be546c5a6","author":{"_account_id":25109,"name":"Daniel Axtens","email":"dja@axtens.net","username":"dja"},"date":"2017-02-15 00:24:55.000000000","message":"Patch Set 1:\n\nKota, Tim,\n\nI agree that we should get the gate script to look for leaks more thoroughly.\n\nTim, the patch set that you submitted for pyeclib looks like a good start, but I\u0027d really like to see that as part of the liberasurecode tests rather than (or as well as!) the pyeclib tests.\n\nI\u0027m happy to have a crack at doing an equivalent patch set for libec if you\u0027re in agreement.","accounts_in_message":[],"_revision_number":1},{"id":"b3a8c93f82be7ff7ff31585e446443d9a7961e70","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2017-02-15 07:57:09.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\nOk, thanks Tim and Daniel. I finally reproduced the leak with my *small enough code* [1]. And then, this patch is able to stop the leak so definitely we should patch this asap. Let\u0027s land this one as this is.\n\nHowever, I do NOT get yet why current test suite cannot report the leak even though we have the instance create destroy test in the suite as well.\n\n\n1: https://gist.github.com/bloodeagle40234/677f075d82e1b4ae250a332e72372dcf","accounts_in_message":[],"_revision_number":1},{"id":"f975ebbcfad390d21be0e563a1f152df0989f9b4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-02-15 07:57:20.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"4acef5c8ebf5e00d6eff11026ad211bcb632c0ea","date":"2017-02-15 08:01:04.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":1},{"id":"27948070154bf7a4a61542731ed97edf3154572e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-02-15 08:01:04.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-liberasurecode-unit http://logs.openstack.org/12/431812/1/gate/gate-liberasurecode-unit/113dd22/ : SUCCESS in 3m 42s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"10e096fe097a489eec41bad120f5b5e52fa4b61c","revisions":{"10e096fe097a489eec41bad120f5b5e52fa4b61c":{"kind":"REWORK","_number":1,"created":"2017-02-10 02:21:03.000000000","uploader":{"_account_id":25109,"name":"Daniel Axtens","email":"dja@axtens.net","username":"dja"},"ref":"refs/changes/12/431812/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/liberasurecode","ref":"refs/changes/12/431812/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/12/431812/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/12/431812/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/12/431812/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/liberasurecode refs/changes/12/431812/1"}}},"commit":{"parents":[{"commit":"0794b31c623e4cede76d66be730719d24debcca9","subject":"Merge \"1.4.0 release\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/0794b31c623e4cede76d66be730719d24debcca9"}]}],"author":{"name":"Daniel Axtens","email":"dja@axtens.net","date":"2017-02-10 02:13:20.000000000","tz":660},"committer":{"name":"Daniel Axtens","email":"dja@axtens.net","date":"2017-02-10 02:20:42.000000000","tz":660},"subject":"ISA-L: free matrix on exit","message":"ISA-L: free matrix on exit\n\nisa_l_common_init allocates desc-\u003ematrix, but this isn\u0027t freed in\nisa_l_exit. Instead, the entire isa_l_desc structure is freed,\nthus leaking the memory.\n\nExplicitly free desc-\u003ematrix.\n\nChange-Id: Ibf672d1a309498591b87d739632a90a1b3704f7e\nSigned-off-by: Daniel Axtens \u003cdja@axtens.net\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/10e096fe097a489eec41bad120f5b5e52fa4b61c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/10e096fe097a489eec41bad120f5b5e52fa4b61c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
