There is a race condition while writing registry values which may lead to values magicaly disapear while concurently writing values to the same registry key. This may also affect creation of subkeys.
Created attachment 7535 [details] patchset against v3-6-test backported from master
Comment on attachment 7535 [details] patchset against v3-6-test I've reviewed the patchset again for 3.6 and it looks fine to me. I've also pushed it to: https://git.samba.org/?p=asn/samba.git;a=shortlog;h=refs/heads/registry_fixes_36
Comment on attachment 7535 [details] patchset against v3-6-test ACK. Thanks for backporting the fixes! I just tested them with v3-6-test. Works like a charm.
Created attachment 7546 [details] script to reprocuce the race For reference: With the attached script, one can easily trigger the setvalue race when the patchset is not applied. Call something like this: TDB_NOFSYNC=1 NET_BIN="./bin/net" NET_OPTIONS=" -s /some/path/to/smb.conf" NUM_PARALLEL=8 ~/tmp/test_torture_net_registry_setvalue.sh Or also without TDB_NOFSYNC=1.
Created attachment 7547 [details] corresponding script for torturing createkey this runs concurrent createkey calls in a loop. Not so easy to trigger a race here as with setvalue. But the patchset also makes createkey atomic. Note: Gregor is currently working on a better reg torture tool in C.
==> Karolin for inclusion into v3-6-test
Pushed to v3-6-test. Closing out bug report. Thanks!