Between there is no lock around dsdb_schema_set_indices_and_attributes, attributes can be added or removed during processing. This leads to errors like the following during selftest:
dsdb_schema_set_indices_and_attributes: Failed to set schema into @ATTRIBUTES: attribute '@TEST_EXTRA': no such attribute for delete on '@ATTRIBUTES'
module schema_load initialization failed : No such attribute
module dsdb_notification initialization failed : No such attribute
module rootdse initialization failed : No such attribute
module samba_dsdb initialization failed : No such attribute
Created attachment 13801 [details]
Patch to fix the race condition (in the tests)
Tested manually with `while make test TESTS=schema_attributes; do :; done`
Previously, this would fail every now and again, but with the patches, it no longer happens.
Fixed in master with 17f1c6f9f4c6d14c69d0d7030fcd919fbc0f6231