)]}'
{"id":"lttng-tools~11559","triplet_id":"lttng-tools~master~Ic505ff0671c321f808050831ef2b7152cdbf4b8a","project":"lttng-tools","branch":"master","topic":"file-lock-fork","attention_set":{"1000006":{"account":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"last_update":"2023-12-13 16:30:13.000000000","reason":"\u003cGERRIT_ACCOUNT_1000000\u003e replied on the change","reason_account":{"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}}},"removed_from_attention_set":{"1000033":{"account":{"_account_id":1000033,"name":"Erica Bugden","display_name":"Erica Bugden","email":"ebugden@efficios.com","username":"ebugden","avatars":[{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"last_update":"2023-12-21 21:38:46.000000000","reason":"Change was submitted"},"1000000":{"account":{"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"last_update":"2023-12-13 16:30:13.000000000","reason":"\u003cGERRIT_ACCOUNT_1000000\u003e replied on the change","reason_account":{"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}}},"hashtags":[],"change_id":"Ic505ff0671c321f808050831ef2b7152cdbf4b8a","subject":"Fix: sessiond: freeze on channel creation on restart","status":"MERGED","created":"2023-12-12 22:00:59.000000000","updated":"2023-12-21 21:38:46.000000000","submitted":"2023-12-21 21:38:46.000000000","submitter":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"11558-file-lock-fork","meta_rev_id":"0c3dc23065c005d305a2afb72ebaf74b6ef43c9c","_number":11559,"virtual_id_number":11559,"owner":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"actions":{},"labels":{"Code-Review":{"recommended":{"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"all":[{"value":0,"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"value":1,"date":"2023-12-21 21:38:46.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"value":1,"default_value":0,"optional":true},"Verified":{"all":[{"value":0,"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"value":0,"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"values":{"-2":"Failure","-1":"Not built"," 0":"No score","+1":"Unstable","+2":"Success"},"description":"CI Build results","default_value":0,"optional":true},"CI-Build":{"all":[{"value":0,"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"value":0,"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"values":{" 0":"No score","+1":"Trigger a CI Build only","+2":"Trigger a CI Build with Fast Tests","+3":"Trigger a CI Build with Complete Tests"},"description":"Trigger CI builds","default_value":0,"optional":true},"Smoke-Build-Lvl1":{"all":[{"value":0,"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"value":0,"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"default_value":0,"optional":true},"Smoke-Build-Lvl2":{"all":[{"value":0,"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"value":0,"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":1000033,"name":"Erica Bugden","display_name":"Erica Bugden","email":"ebugden@efficios.com","username":"ebugden","avatars":[{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}],"reviewers":{"REVIEWER":[{"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},{"_account_id":1000033,"name":"Erica Bugden","display_name":"Erica Bugden","email":"ebugden@efficios.com","username":"ebugden","avatars":[{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-12-12 22:01:52.000000000","updated_by":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2023-12-12 23:17:03.000000000","updated_by":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2023-12-13 00:22:59.000000000","updated_by":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2023-12-13 00:22:59.000000000","updated_by":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000033,"name":"Erica Bugden","display_name":"Erica Bugden","email":"ebugden@efficios.com","username":"ebugden","avatars":[{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c42f50f12968dff6041103eb3b1af3bd.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"state":"REVIEWER"}],"messages":[{"id":"53de86d44ddf1450e964d181116b4bfda32a299f","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2023-12-12 22:00:59.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7943dd46ec7f14c620f539ba1dd3b46f350ee931","author":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2023-12-12 22:01:46.000000000","message":"Patch Set 1: CI-Build+1 Smoke-Build-Lvl1+1 Smoke-Build-Lvl2+1","accounts_in_message":[],"_revision_number":1},{"id":"096c9d3a073150b8a328b7fbe6067e1417117c3f","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-12 22:01:52.000000000","message":"Patch Set 1:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_linuxbuild/104/ (1/5)","accounts_in_message":[],"_revision_number":1},{"id":"00ea68419d866939a6c317373c045e5d80affda5","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-12 22:01:52.000000000","message":"Patch Set 1:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_rootbuild/191/ (2/5)","accounts_in_message":[],"_revision_number":1},{"id":"27c4cd7378a787e41cd816765b89f070c2d0e046","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-12 22:01:52.000000000","message":"Patch Set 1:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_check-format/6/ (3/5)","accounts_in_message":[],"_revision_number":1},{"id":"e182f84902be3060f30c64c095f58c28fba3ede7","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-12 22:01:52.000000000","message":"Patch Set 1:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_clang-tidy/6/ (4/5)","accounts_in_message":[],"_revision_number":1},{"id":"749c8905f0ad44d50e6a44832fdeac2c701b9181","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-12 22:01:52.000000000","message":"Patch Set 1:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_smokebuild/6/ (5/5)","accounts_in_message":[],"_revision_number":1},{"id":"dc3bc1e8f2c27e43df239214c55a0bd3302b41c1","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-12 23:17:03.000000000","message":"Patch Set 1: Verified+2\n\nBuild Successful \n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_check-format/6/ : SUCCESS (skipped)\n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_rootbuild/191/ : SUCCESS\n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_smokebuild/6/ : SUCCESS (skipped)\n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_clang-tidy/6/ : SUCCESS (skipped)\n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_linuxbuild/104/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"2fcff4ca0a21d068f93cf088a1553b5fca394420","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2023-12-13 00:21:38.000000000","message":"Uploaded patch set 2: Commit message was updated.\n\nCopied Votes:\n* CI-Build+1 (copy condition: \"changekind:NO_CHANGE OR **changekind:NO_CODE_CHANGE**\")\n* Smoke-Build-Lvl1+1 (copy condition: \"changekind:NO_CHANGE OR **changekind:NO_CODE_CHANGE**\")\n* Smoke-Build-Lvl2+1 (copy condition: \"changekind:NO_CHANGE OR **changekind:NO_CODE_CHANGE**\")\n* Verified+2 (copy condition: \"changekind:NO_CHANGE OR **changekind:NO_CODE_CHANGE**\")\n","accounts_in_message":[],"_revision_number":2},{"id":"509acbfdfdd2868b1f0a037bf4ff382f7b607543","author":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2023-12-13 00:22:59.000000000","message":"Patch Set 2: CI-Build+1 Smoke-Build-Lvl1+1 Smoke-Build-Lvl2+1\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":2},{"id":"9c0ff10e22286c98f26e7e4d7bb8e65892af0459","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-13 00:23:07.000000000","message":"Patch Set 2: -Verified\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_smokebuild/9/ (1/5)","accounts_in_message":[],"_revision_number":2},{"id":"d8b694e7f6ddff764a60de4f8cf3ee344170eabc","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-13 00:23:07.000000000","message":"Patch Set 2:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_check-format/9/ (2/5)","accounts_in_message":[],"_revision_number":2},{"id":"22a3ebe931085b5c99aeec0a9b97eff4340d7596","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-13 00:23:08.000000000","message":"Patch Set 2:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_clang-tidy/9/ (3/5)","accounts_in_message":[],"_revision_number":2},{"id":"5b2bdb653d5bfabbf41657db244b4456633d3225","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-13 00:23:08.000000000","message":"Patch Set 2:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_linuxbuild/107/ (4/5)","accounts_in_message":[],"_revision_number":2},{"id":"b6fd965e19c3fbced1fa6d84f4fb96e693a2f5de","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-13 00:23:08.000000000","message":"Patch Set 2:\n\nBuild Started https://ci.lttng.org/job/dev_review_lttng-tools_master_rootbuild/194/ (5/5)","accounts_in_message":[],"_revision_number":2},{"id":"c3b4fbf43f8c40d06829e509b1a2766c13280d89","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000002,"name":"jenkins","email":"jenkins@lttng.org","username":"jenkins","avatars":[{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e3f1da3d4191917309975c0380f40764.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}],"tags":["SERVICE_USER"]},"date":"2023-12-13 01:38:32.000000000","message":"Patch Set 2: Verified+2\n\nBuild Successful \n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_check-format/9/ : SUCCESS (skipped)\n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_rootbuild/194/ : SUCCESS\n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_smokebuild/9/ : SUCCESS (skipped)\n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_clang-tidy/9/ : SUCCESS (skipped)\n\nhttps://ci.lttng.org/job/dev_review_lttng-tools_master_linuxbuild/107/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"2c97004c5d0adb8019ec2ee16fb2fa07a49f0af9","author":{"_account_id":1000000,"name":"Michael Jeanson","email":"mjeanson@efficios.com","username":"mjeanson","avatars":[{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4da886b09863c0cdc46c81556b9fa25.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2023-12-13 16:30:13.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"0c3dc23065c005d305a2afb72ebaf74b6ef43c9c","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"date":"2023-12-21 21:38:46.000000000","message":"Change has been successfully pushed.","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"e560c525031d7aba481e0b8655c48a14bade24c2","revisions":{"ab61b3ec86319c524e0bf41056880b0db3b69a83":{"kind":"REWORK","_number":1,"created":"2023-12-12 22:00:59.000000000","uploader":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/59/11559/1","fetch":{"anonymous http":{"url":"https://review.lttng.org/lttng-tools","ref":"refs/changes/59/11559/1","commands":{"Branch":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/1 \u0026\u0026 git checkout -b change-11559 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/lttng-tools refs/changes/59/11559/1","Reset To":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c6a45b3c9f13ba9695ce2b4cbd3d8eaf7f53a8b5","subject":"common: move utils_create_lock_file to its own file","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003dc6a45b3c9f13ba9695ce2b4cbd3d8eaf7f53a8b5"}]}],"author":{"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","date":"2023-12-12 21:54:41.000000000","tz":-300},"committer":{"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","date":"2023-12-12 21:57:28.000000000","tz":-300},"subject":"Fix: sessiond: platofrm blah","message":"Fix: sessiond: platofrm blah\n\nSigned-off-by: Jérémie Galarneau \u003cjeremie.galarneau@efficios.com\u003e\nChange-Id: Ic505ff0671c321f808050831ef2b7152cdbf4b8a\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003dab61b3ec86319c524e0bf41056880b0db3b69a83"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003dab61b3ec86319c524e0bf41056880b0db3b69a83"}]},"branch":"refs/heads/master"},"bc20d3bc74fbc0e95b4286fb92427c1657a31ed4":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2023-12-13 00:21:38.000000000","uploader":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/59/11559/2","fetch":{"anonymous http":{"url":"https://review.lttng.org/lttng-tools","ref":"refs/changes/59/11559/2","commands":{"Branch":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/2 \u0026\u0026 git checkout -b change-11559 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/lttng-tools refs/changes/59/11559/2","Reset To":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"c6a45b3c9f13ba9695ce2b4cbd3d8eaf7f53a8b5","subject":"common: move utils_create_lock_file to its own file","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003dc6a45b3c9f13ba9695ce2b4cbd3d8eaf7f53a8b5"}]}],"author":{"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","date":"2023-12-12 21:54:41.000000000","tz":-300},"committer":{"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","date":"2023-12-12 22:17:56.000000000","tz":-300},"subject":"Fix: sessiond: freeze on channel creation on restart","message":"Fix: sessiond: freeze on channel creation on restart\n\nIssue observed\n--------------\n\nWhen using lttng via a script, the session and consumer daemons appear\nto completely lock up when we request that a channel be created. The\nconditions for this lockup seem to be created by destroying a sessiond\nand then creating a sessiond in quick sequence.\n\nThis can be reproduced, on some systems, by launching a session daemon\nand running the following commands:\n  $ sudo killall lttng-sessiond\n  $ sudo lttng-sessiond --daemonize\n  $ lttng create my_session --snapshot --output /tmp/demo-output\n  $ lttng enable-channel --kernel my_channel\n\nNote that \u0027killall\u0027 above is racy as it does not wait for the session\ndaemon to be killed. Hence, it is not unexpected for the incoming\nsession daemon to see the smoldering ashes of the \"outgoing\" session\ndaemon. However, it would be helpful if the second session daemon\ninstance warned the user of the existing session daemon instance.\n\nFrom the logs captured from both instances of the lttng-sessiond (the\noutgoing and incoming instances), there appears to be a time period\nduring which both session daemons are active at once.\n\nThis behaviour is unexpected as the session daemon guards itself (in\ntheory) from running multiple conflicting instances.\n\nThe guarding mechanism works in two steps (see the implementation of\n`check_existing_daemon` @ src/bin/lttng-sessiond/main.cpp:926)\n\nWhen a session daemon is launched, it attempts to connect to any active\nsession daemon\u0027s \u0027client\u0027 endpoint (a UNIX socket, the same used by\nliblttng-ctl to communicate with the session daemon).\n\nIf the daemon receives a reply, it can assume that another session\ndaemon instance is already active and abort its launch. Conversely, when\nno reply is received, it uses a \"lock file\" mechanism to check for other\nrunning instances.\n\nThe lock file-based check creates a file (typically\n/var/run/lttng/lttng-sessiond.lck in the case of a root session daemon)\nand acquires an exclusive (write) POSIX lock on it [1]. The assumption\nis that any other instance would own the lock and cause the operation to\nfail.\n\nOn a reproducer system, we could notice that the client thread of the\noutgoing sessiond daemon was torn down before the launch of the\ninitialization of the incoming session daemon. This caused the incoming\nsession daemon to not receive a reply to its connection attempt and\nfall-back to the lock file-based mechanism.\n\nSurprinsingly, it appears that the lock file checks succeeds even though\nthe outgoing session daemon still holds the lock file according to its\nlog.\n\nSee the original bug report for more information about the investigation\nand how to reproduce the problem.\n\nCause\n-----\n\nThe POSIX file locking API has a number of surprising behaviours[2] that\nhave seen it being superseded by platform-specific APIs. In our case,\nthe one that bit us is that any file lock held by a process is\nautomatically released when any of the file descriptors that reference\nthe file\u0027s description is released.\n\nIn practical terms, if a process forks and its child dies, it loses its\nfile lock since the child\u0027s file descriptors are closed on exit.\n\nThe LWN article linked below describes a similar scenario:\n\n  It\u0027s common to have a library routine that opens a file, reads or\n  writes to it, and then closes it again, without the calling\n  application ever being aware that has occurred. If the application\n  happens to be holding a lock on the file when that occurs, it can lose\n  that lock without ever being aware of it.\n\nThe problem affects any use of the --background/--daemonize options\nsince, as part of the daemonization process (which occurs after the lock\nfile acquisition), the session daemon forks and its parent process\nexits. This causes one of the descriptors pointing to the lock file to\nbe closed and the lock to be released.\n\nAfter that point, any other instance of the session daemon process would\nsucceed in acquiring the lock file and assume it is the sole instance on\nthe system.\n\nSolution\n--------\n\nThe lock file code is modified to use the non-POSIX `flock`[3]\ninterface which is available on Linux and some BSDs[4]. `flock` provides\nus with the guarantee we thought we had: that the file lock is only\nreleased when _all_ file descriptors pointing to a given file\ndescription are closed.\n\nDrawbacks\n---------\n\nAs a fallback, platforms that don\u0027t support `flock` will use the original\nlocking mechanism. Since this is a \"hint\" to warn users when erroneously\nlaunch a second privileged session daemon, it seems acceptable for it\nto not be completely reliable on secondary platforms.\n\nReferences\n----------\n\n[1] https://man7.org/linux/man-pages/man2/fcntl.2.html (see F_SETLK)\n[2] https://lwn.net/Articles/586904/\n[3] https://linux.die.net/man/2/flock\n[4] https://man.freebsd.org/cgi/man.cgi?query\u003dflock\u0026sektion\u003d2\n\nFixes #1405\n\nReported-by: Erica Bugden \u003cebugden@efficios.com\u003e\nSigned-off-by: Jérémie Galarneau \u003cjeremie.galarneau@efficios.com\u003e\nChange-Id: Ic505ff0671c321f808050831ef2b7152cdbf4b8a\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003dbc20d3bc74fbc0e95b4286fb92427c1657a31ed4"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003dbc20d3bc74fbc0e95b4286fb92427c1657a31ed4"}]},"branch":"refs/heads/master"},"e560c525031d7aba481e0b8655c48a14bade24c2":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2023-12-21 21:38:46.000000000","uploader":{"_account_id":1000006,"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","username":"jgalar","avatars":[{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/8689763327e5bbda7dec9f18846b60ae.jpg?d\u003dretro\u0026r\u003dr\u0026s\u003d120","height":120}]},"ref":"refs/changes/59/11559/3","fetch":{"anonymous http":{"url":"https://review.lttng.org/lttng-tools","ref":"refs/changes/59/11559/3","commands":{"Branch":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/3 \u0026\u0026 git checkout -b change-11559 FETCH_HEAD","Checkout":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.lttng.org/lttng-tools refs/changes/59/11559/3","Reset To":"git fetch https://review.lttng.org/lttng-tools refs/changes/59/11559/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"513792873b851baef066648b41f9cbfe978063fc","subject":"common: move utils_create_lock_file to its own file","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003d513792873b851baef066648b41f9cbfe978063fc"}]}],"author":{"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","date":"2023-12-12 21:54:41.000000000","tz":-300},"committer":{"name":"Jérémie Galarneau","email":"jeremie.galarneau@efficios.com","date":"2023-12-21 16:31:20.000000000","tz":-300},"subject":"Fix: sessiond: freeze on channel creation on restart","message":"Fix: sessiond: freeze on channel creation on restart\n\nIssue observed\n--------------\n\nWhen using lttng via a script, the session and consumer daemons appear\nto completely lock up when we request that a channel be created. The\nconditions for this lockup seem to be created by destroying a sessiond\nand then creating a sessiond in quick sequence.\n\nThis can be reproduced, on some systems, by launching a session daemon\nand running the following commands:\n  $ sudo killall lttng-sessiond\n  $ sudo lttng-sessiond --daemonize\n  $ lttng create my_session --snapshot --output /tmp/demo-output\n  $ lttng enable-channel --kernel my_channel\n\nNote that \u0027killall\u0027 above is racy as it does not wait for the session\ndaemon to be killed. Hence, it is not unexpected for the incoming\nsession daemon to see the smoldering ashes of the \"outgoing\" session\ndaemon. However, it would be helpful if the second session daemon\ninstance warned the user of the existing session daemon instance.\n\nFrom the logs captured from both instances of the lttng-sessiond (the\noutgoing and incoming instances), there appears to be a time period\nduring which both session daemons are active at once.\n\nThis behaviour is unexpected as the session daemon guards itself (in\ntheory) from running multiple conflicting instances.\n\nThe guarding mechanism works in two steps (see the implementation of\n`check_existing_daemon` @ src/bin/lttng-sessiond/main.cpp:926)\n\nWhen a session daemon is launched, it attempts to connect to any active\nsession daemon\u0027s \u0027client\u0027 endpoint (a UNIX socket, the same used by\nliblttng-ctl to communicate with the session daemon).\n\nIf the daemon receives a reply, it can assume that another session\ndaemon instance is already active and abort its launch. Conversely, when\nno reply is received, it uses a \"lock file\" mechanism to check for other\nrunning instances.\n\nThe lock file-based check creates a file (typically\n/var/run/lttng/lttng-sessiond.lck in the case of a root session daemon)\nand acquires an exclusive (write) POSIX lock on it [1]. The assumption\nis that any other instance would own the lock and cause the operation to\nfail.\n\nOn a reproducer system, we could notice that the client thread of the\noutgoing sessiond daemon was torn down before the launch of the\ninitialization of the incoming session daemon. This caused the incoming\nsession daemon to not receive a reply to its connection attempt and\nfall-back to the lock file-based mechanism.\n\nSurprinsingly, it appears that the lock file checks succeeds even though\nthe outgoing session daemon still holds the lock file according to its\nlog.\n\nSee the original bug report for more information about the investigation\nand how to reproduce the problem.\n\nCause\n-----\n\nThe POSIX file locking API has a number of surprising behaviours[2] that\nhave seen it being superseded by platform-specific APIs. In our case,\nthe one that bit us is that any file lock held by a process is\nautomatically released when any of the file descriptors that reference\nthe file\u0027s description is released.\n\nIn practical terms, if a process forks and its child dies, it loses its\nfile lock since the child\u0027s file descriptors are closed on exit.\n\nThe LWN article linked below describes a similar scenario:\n\n  It\u0027s common to have a library routine that opens a file, reads or\n  writes to it, and then closes it again, without the calling\n  application ever being aware that has occurred. If the application\n  happens to be holding a lock on the file when that occurs, it can lose\n  that lock without ever being aware of it.\n\nThe problem affects any use of the --background/--daemonize options\nsince, as part of the daemonization process (which occurs after the lock\nfile acquisition), the session daemon forks and its parent process\nexits. This causes one of the descriptors pointing to the lock file to\nbe closed and the lock to be released.\n\nAfter that point, any other instance of the session daemon process would\nsucceed in acquiring the lock file and assume it is the sole instance on\nthe system.\n\nSolution\n--------\n\nThe lock file code is modified to use the non-POSIX `flock`[3]\ninterface which is available on Linux and some BSDs[4]. `flock` provides\nus with the guarantee we thought we had: that the file lock is only\nreleased when _all_ file descriptors pointing to a given file\ndescription are closed.\n\nDrawbacks\n---------\n\nAs a fallback, platforms that don\u0027t support `flock` will use the original\nlocking mechanism. Since this is a \"hint\" to warn users when erroneously\nlaunch a second privileged session daemon, it seems acceptable for it\nto not be completely reliable on secondary platforms.\n\nReferences\n----------\n\n[1] https://man7.org/linux/man-pages/man2/fcntl.2.html (see F_SETLK)\n[2] https://lwn.net/Articles/586904/\n[3] https://linux.die.net/man/2/flock\n[4] https://man.freebsd.org/cgi/man.cgi?query\u003dflock\u0026sektion\u003d2\n\nFixes #1405\n\nReported-by: Erica Bugden \u003cebugden@efficios.com\u003e\nSigned-off-by: Jérémie Galarneau \u003cjeremie.galarneau@efficios.com\u003e\nChange-Id: Ic505ff0671c321f808050831ef2b7152cdbf4b8a\n","web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003de560c525031d7aba481e0b8655c48a14bade24c2"}],"resolve_conflicts_web_links":[{"name":"gitweb","tooltip":"Open in GitWeb","url":"/gitweb?p\u003dlttng-tools.git;a\u003dcommit;h\u003de560c525031d7aba481e0b8655c48a14bade24c2"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
