)]}'
{"id":"openstack%2Fliberasurecode~983491","triplet_id":"openstack%2Fliberasurecode~master~I212a3c239e9e24c06c4031c751d5d292ed431459","project":"openstack/liberasurecode","branch":"master","attention_set":{},"removed_from_attention_set":{"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2026-04-09 00:59:27.000000000","reason":"\u003cGERRIT_ACCOUNT_15343\u003e replied on the change","reason_account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}},"hashtags":[],"change_id":"I212a3c239e9e24c06c4031c751d5d292ed431459","subject":"Fix off-by-one in fragment index validation","status":"MERGED","created":"2026-04-06 22:15:21.000000000","updated":"2026-04-09 01:34:13.000000000","submitted":"2026-04-09 01:34:13.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"983491","meta_rev_id":"ef6a287c8b0bc571b5e3ea20dbdd8b2d8519a7e9","_number":983491,"virtual_id_number":983491,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-09 01:34:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-04-08 17:38:15.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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-04-08 17:38:15.000000000","permitted_voting_range":{"min":1,"max":1},"_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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-06 22:21:20.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-04-06 22:47:48.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"4677f53e7cc7fc59a2fc969bf9a1eb92e7ddfc09","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-04-06 22:15:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"38bc84dc5f314cef88c639325bb031c073acf5cf","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-06 22:21:20.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/921afb0502bc4d5488c171489c0c591c\n\n- liberasurecode-unittests-arm64 https://zuul.opendev.org/t/openstack/build/d92df5b8467246c281c3bbc4f49aa197 : SUCCESS in 4m 37s","accounts_in_message":[],"_revision_number":1},{"id":"3825bd5789485088299b4f604a0da06ec984cf26","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-06 22:47:48.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d7c65b0d95754a44982980333e50c0bd\n\n- liberasurecode-check-symbols https://zuul.opendev.org/t/openstack/build/ab46259142ff421d8f710302a8a94b84 : SUCCESS in 1m 36s\n- liberasurecode-unittests https://zuul.opendev.org/t/openstack/build/168ddabb54234b99ae2177a6e31c4b59 : SUCCESS in 5m 08s\n- liberasurecode-unittests-memcheck https://zuul.opendev.org/t/openstack/build/1e214bbcecf841b6ae477d782e413f26 : SUCCESS in 21m 38s\n- liberasurecode-unittests-helgrind https://zuul.opendev.org/t/openstack/build/2d216465538a4e1e9827f4ed6f6d5eac : SUCCESS in 3m 33s\n- liberasurecode-unittests-centos-9-stream https://zuul.opendev.org/t/openstack/build/5802e2c67d114f35aac48ab7930f626b : SUCCESS in 7m 38s\n- liberasurecode-unittests-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/251d4526dd1847768a1459f5bc320753 : SUCCESS in 5m 52s","accounts_in_message":[],"_revision_number":1},{"id":"1731214b0f28b7efafc1715918a95924a2128d2a","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-04-08 17:38:15.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"83d49636d067c75d97c303fcf2e1ed260db46042","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 17:38:29.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"abb11f701b4ceec87fa27289453ba3fb9d8ce7ba","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 18:19:40.000000000","message":"Patch Set 1: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/ba43b276f02543c0aa8bdc34b85c6662\n\n- liberasurecode-check-symbols https://zuul.opendev.org/t/openstack/build/36fe2f03c3054dde93c49b27cfdff13c : SUCCESS in 2m 39s\n- liberasurecode-unittests https://zuul.opendev.org/t/openstack/build/aab1f0aaf55d4e7bac0f3f790236867b : RETRY_LIMIT in 3m 58s\n- liberasurecode-unittests-memcheck https://zuul.opendev.org/t/openstack/build/4675789395d940a7bae6fd6eb158922c : SKIPPED Skipped due to failed job liberasurecode-unittests\n- liberasurecode-unittests-helgrind https://zuul.opendev.org/t/openstack/build/f0d7cfa5e6fc46c8acab9e8e92cbf145 : SKIPPED Skipped due to failed job liberasurecode-unittests\n- liberasurecode-unittests-centos-9-stream https://zuul.opendev.org/t/openstack/build/0c2e457a47774df7be226d2fa81f092d : RETRY_LIMIT in 3m 54s\n- liberasurecode-unittests-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c562c2d408ae4908a4be9615f8626340 : RETRY_LIMIT in 4m 21s","accounts_in_message":[],"_revision_number":1},{"id":"d9730720cbfb72e50bcf9f9a5905bab87bfb96a3","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-04-09 00:59:27.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"e59a0df824cce2871d55eef090c36b736c57291a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 01:05:50.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f3aed96cedcb42b7b891cad64b47040d\n\n- liberasurecode-unittests-arm64 https://zuul.opendev.org/t/openstack/build/48fc70215dbb4078b8a2a8f053d40797 : SUCCESS in 4m 47s","accounts_in_message":[],"_revision_number":1},{"id":"9fc2048255b20f1ed9492cd1a2d54b9c4f134375","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 01:14:34.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5e0cc593d5e5435bbe3cb8f45919c65c\n\n- liberasurecode-check-symbols https://zuul.opendev.org/t/openstack/build/b187bd54a3f94b14a7821e71c754db71 : SUCCESS in 1m 59s\n- liberasurecode-unittests https://zuul.opendev.org/t/openstack/build/b30691e6949540aa902ba8a3c44ed5cc : SUCCESS in 3m 06s\n- liberasurecode-unittests-memcheck https://zuul.opendev.org/t/openstack/build/641f3b61ee344d10be75bbe23e8b9815 : SUCCESS in 10m 31s\n- liberasurecode-unittests-helgrind https://zuul.opendev.org/t/openstack/build/d8a06e8e3a1e49fd864645882dfd6455 : SUCCESS in 6m 42s\n- liberasurecode-unittests-centos-9-stream https://zuul.opendev.org/t/openstack/build/697f32c7f9e541fab4661cd503438635 : SUCCESS in 7m 35s\n- liberasurecode-unittests-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0a572d9f35dc40f19070682ea5d6106c : SUCCESS in 7m 58s","accounts_in_message":[],"_revision_number":1},{"id":"5a17c0fa41adec30179c470af5188b0f64c3c44a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 01:14:41.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"65d4a77eae75eccff8be054fc20bc346a132b8d9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 01:34:12.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1c9d6d5c0b5e4ea48ac801aa832b1f1e\n\n- liberasurecode-check-symbols https://zuul.opendev.org/t/openstack/build/57643bb0bcd1443281aa9482e3cfc685 : SUCCESS in 1m 38s\n- liberasurecode-unittests https://zuul.opendev.org/t/openstack/build/f8c18caef999457ea679d56e383250fb : SUCCESS in 4m 49s\n- liberasurecode-unittests-memcheck https://zuul.opendev.org/t/openstack/build/e18a631058944e26ab7065efb78ce77f : SUCCESS in 10m 26s\n- liberasurecode-unittests-helgrind https://zuul.opendev.org/t/openstack/build/4a25bfaddc70412da6c5befcee5c26c1 : SUCCESS in 5m 47s\n- liberasurecode-unittests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b2178dec1fdb409e8f727c550b03ffbe : SUCCESS in 5m 33s\n- liberasurecode-unittests-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1e5a4acbf8d54625b414a8ec7eccb3cf : SUCCESS in 12m 13s","accounts_in_message":[],"_revision_number":1},{"id":"ef6a287c8b0bc571b5e3ea20dbdd8b2d8519a7e9","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 01:34:13.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"9380097749ebb553f5b0ec5ded1fd525fcd6bc2c","revisions":{"9380097749ebb553f5b0ec5ded1fd525fcd6bc2c":{"kind":"REWORK","_number":1,"created":"2026-04-06 22:15:21.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/91/983491/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/liberasurecode","ref":"refs/changes/91/983491/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/91/983491/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/91/983491/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/91/983491/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/liberasurecode refs/changes/91/983491/1"}}},"commit":{"parents":[{"commit":"e1e11e42c7e43151c679f78bf87280abe0665d45","subject":"Allow up to 256 total fragments","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/e1e11e42c7e43151c679f78bf87280abe0665d45"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-04-06 21:38:40.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-04-06 22:14:52.000000000","tz":-420},"subject":"Fix off-by-one in fragment index validation","message":"Fix off-by-one in fragment index validation\n\nliberasurecode_verify_fragment_metadata used `\u003e` instead of `\u003e\u003d` when\nchecking md-\u003eidx against k+m, so a fragment with idx \u003d\u003d k+m (one past\nthe last valid index) was incorrectly accepted as valid.\n\nValid fragment indices are 0..k+m-1; the upper bound check must be\nexclusive, i.e. reject idx \u003e\u003d k+m.\n\nAdds test_verify_fragment_metadata_idx_bounds which directly calls\nliberasurecode_verify_fragment_metadata with idx values at k+m-1\n(must pass), k+m (must fail, demonstrated the bug), and k+m+1 (must\nfail). Also adds FRAGIDX_AT_BOUNDARY scenario to the existing\nverify_fragment_metadata_mismatch_impl path for completeness.\n\nAssisted-by: Claude:claude-4.6-sonnet claude-code-2.1.92\nSigned-off-by: Tim Burke \u003ctim.burke@gmail.com\u003e\nChange-Id: I212a3c239e9e24c06c4031c751d5d292ed431459\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/9380097749ebb553f5b0ec5ded1fd525fcd6bc2c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/9380097749ebb553f5b0ec5ded1fd525fcd6bc2c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
