Open vashirov opened 3 weeks ago
==================
WARNING: ThreadSanitizer: data race (pid=235446)
Read of size 4 at 0xffffa8fa0114 by thread T24:
#0 memberof_fixup_task_thread ldap/servers/plugins/memberof/memberof.c:2943 (libmemberof-plugin.so+0x1678c) (BuildId: 4a7a15a731983d62f6dc8f6cc55240745b12832d)
#1 _pt_root <null> (libnspr4.so+0x30f3c) (BuildId: f104b07bc930c7bf01e241a2cb46ea281c73a21b)
Previous write of size 4 at 0xffffa8fa0114 by thread T25 (mutexes: read M0, write M1, read M2):
#0 memberof_fix_memberof_callback ldap/servers/plugins/memberof/memberof.c:3319 (libmemberof-plugin.so+0x17848) (BuildId: 4a7a15a731983d62f6dc8f6cc55240745b12832d)
#1 internal_srch_entry_callback ldap/servers/slapd/plugin_internal_op.c:99 (libslapd.so.0+0x171778) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#2 send_ldap_search_entry_ext ldap/servers/slapd/result.c:1594 (libslapd.so.0+0x19542c) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#3 send_ldap_search_entry <null> (libslapd.so.0+0x195d98) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#4 send_entry.lto_priv.0 <null> (libslapd.so.0+0x153e90) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#5 send_results_ext.constprop.0 ldap/servers/slapd/opshared.c:1328 (libslapd.so.0+0x1dbe44) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#6 op_shared_search <null> (libslapd.so.0+0x15fe34) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#7 search_internal_callback_pb.lto_priv.0 <null> (libslapd.so.0+0x17a8b4) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#8 slapi_search_internal_callback_pb <null> (libslapd.so.0+0x17ab90) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#9 memberof_fix_memberof ldap/servers/plugins/memberof/memberof.c:3087 (libmemberof-plugin.so+0x165ec) (BuildId: 4a7a15a731983d62f6dc8f6cc55240745b12832d)
#10 memberof_fixup_task_thread ldap/servers/plugins/memberof/memberof.c:2893 (libmemberof-plugin.so+0x165ec)
#11 _pt_root <null> (libnspr4.so+0x30f3c) (BuildId: f104b07bc930c7bf01e241a2cb46ea281c73a21b)
Location is global 'fixup_progress_count' of size 4 at 0xffffa8fa0114 (libmemberof-plugin.so+0x40114)
Mutex M0 (0xffffa1008920) created at:
#0 pthread_rwlock_init <null> (libtsan.so.2+0x5a0ac) (BuildId: 8d4ecf2b1838dee5e3128e6155efb961118b7f8d)
#1 mdb_init ldap/servers/slapd/back-ldbm/db-mdb/mdb_config.c:148 (libback-ldbm.so+0xaa130) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#2 dbimpl_setup ldap/servers/slapd/back-ldbm/dblayer.c:232 (libback-ldbm.so+0x53108) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#3 dblayer_setup ldap/servers/slapd/back-ldbm/dblayer.c:249 (libback-ldbm.so+0x53834) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#4 ldbm_back_start ldap/servers/slapd/back-ldbm/start.c:45 (libback-ldbm.so+0xa27a4) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#5 plugin_call_func ldap/servers/slapd/plugin.c:2001 (libslapd.so.0+0x16eb30) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#6 plugin_call_one ldap/servers/slapd/plugin.c:1950 (libslapd.so.0+0x1705d8) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#7 plugin_dependency_startall ldap/servers/slapd/plugin.c:1705 (libslapd.so.0+0x1705d8)
#8 main <null> (ns-slapd+0x24d04) (BuildId: 86cbd076fcddf331389add272237d51f6d03fced)
Mutex M1 (0xffffaf164080) created at:
#0 pthread_mutex_init <null> (libtsan.so.2+0x5cd98) (BuildId: 8d4ecf2b1838dee5e3128e6155efb961118b7f8d)
#1 mdb_env_setup_locks <null> (liblmdb.so.0.0.0+0x10ef0) (BuildId: 9a258c36d62bedd1d1b75d9b7c00bad327a3bf63)
#2 dbmdb_start ldap/servers/slapd/back-ldbm/db-mdb/mdb_layer.c:189 (libback-ldbm.so+0x136bd8) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#3 dblayer_start ldap/servers/slapd/back-ldbm/dblayer.c:322 (libback-ldbm.so+0x4c30c) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#4 ldbm_back_start ldap/servers/slapd/back-ldbm/start.c:115 (libback-ldbm.so+0xa28c0) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#5 plugin_call_func ldap/servers/slapd/plugin.c:2001 (libslapd.so.0+0x16eb30) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#6 plugin_call_one ldap/servers/slapd/plugin.c:1950 (libslapd.so.0+0x1705d8) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#7 plugin_dependency_startall ldap/servers/slapd/plugin.c:1705 (libslapd.so.0+0x1705d8)
#8 main <null> (ns-slapd+0x24d04) (BuildId: 86cbd076fcddf331389add272237d51f6d03fced)
Mutex M2 (0xffffaaa23b00) created at:
#0 pthread_rwlock_init <null> (libtsan.so.2+0x5a0ac) (BuildId: 8d4ecf2b1838dee5e3128e6155efb961118b7f8d)
#1 slapi_new_rwlock <null> (libslapd.so.0+0x1a663c) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#2 slapi_be_new <null> (libslapd.so.0+0xe8674) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#3 ldbm_instance_generate ldap/servers/slapd/back-ldbm/ldbm_instance_config.c:887 (libback-ldbm.so+0x8b178) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#4 ldbm_instance_add_instance_entry_callback ldap/servers/slapd/back-ldbm/ldbm_instance_config.c:1090 (libback-ldbm.so+0x8b5c8) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#5 ldbm_config_read_instance_entries ldap/servers/slapd/back-ldbm/ldbm_config.c:1028 (libback-ldbm.so+0x6fe24) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#6 ldbm_config_load_dse_info_phase1 ldap/servers/slapd/back-ldbm/ldbm_config.c:1155 (libback-ldbm.so+0x702a8) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#7 dbimpl_setup ldap/servers/slapd/back-ldbm/dblayer.c:239 (libback-ldbm.so+0x5317c) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#8 dblayer_setup ldap/servers/slapd/back-ldbm/dblayer.c:249 (libback-ldbm.so+0x53834) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#9 ldbm_back_start ldap/servers/slapd/back-ldbm/start.c:45 (libback-ldbm.so+0xa27a4) (BuildId: 167172cdc5fa19f7049dc63c805f0af75017d089)
#10 plugin_call_func ldap/servers/slapd/plugin.c:2001 (libslapd.so.0+0x16eb30) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#11 plugin_call_one ldap/servers/slapd/plugin.c:1950 (libslapd.so.0+0x1705d8) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#12 plugin_dependency_startall ldap/servers/slapd/plugin.c:1705 (libslapd.so.0+0x1705d8)
#13 main <null> (ns-slapd+0x24d04) (BuildId: 86cbd076fcddf331389add272237d51f6d03fced)
Thread T24 (tid=235474, running) created by thread T9 at:
#0 pthread_create <null> (libtsan.so.2+0x5e2bc) (BuildId: 8d4ecf2b1838dee5e3128e6155efb961118b7f8d)
#1 _PR_CreateThread <null> (libnspr4.so+0x30c20) (BuildId: f104b07bc930c7bf01e241a2cb46ea281c73a21b)
#2 dse_call_callback.isra.0 ldap/servers/slapd/dse.c:2722 (libslapd.so.0+0x1e7568) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#3 dse_add ldap/servers/slapd/dse.c:2410 (libslapd.so.0+0x104270) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#4 op_shared_add ldap/servers/slapd/add.c:759 (libslapd.so.0+0xe5f58) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#5 do_add <null> (libslapd.so.0+0xe70d0) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#6 connection_dispatch_operation ldap/servers/slapd/connection.c:639 (ns-slapd+0x362a8) (BuildId: 86cbd076fcddf331389add272237d51f6d03fced)
#7 connection_threadmain ldap/servers/slapd/connection.c:1921 (ns-slapd+0x362a8)
#8 _pt_root <null> (libnspr4.so+0x30f3c) (BuildId: f104b07bc930c7bf01e241a2cb46ea281c73a21b)
Thread T25 (tid=235475, running) created by thread T11 at:
#0 pthread_create <null> (libtsan.so.2+0x5e2bc) (BuildId: 8d4ecf2b1838dee5e3128e6155efb961118b7f8d)
#1 _PR_CreateThread <null> (libnspr4.so+0x30c20) (BuildId: f104b07bc930c7bf01e241a2cb46ea281c73a21b)
#2 dse_call_callback.isra.0 ldap/servers/slapd/dse.c:2722 (libslapd.so.0+0x1e7568) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#3 dse_add ldap/servers/slapd/dse.c:2410 (libslapd.so.0+0x104270) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#4 op_shared_add ldap/servers/slapd/add.c:759 (libslapd.so.0+0xe5f58) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#5 do_add <null> (libslapd.so.0+0xe70d0) (BuildId: 803f112345cbf6cb85efdc029b3341f00913be8c)
#6 connection_dispatch_operation ldap/servers/slapd/connection.c:639 (ns-slapd+0x362a8) (BuildId: 86cbd076fcddf331389add272237d51f6d03fced)
#7 connection_threadmain ldap/servers/slapd/connection.c:1921 (ns-slapd+0x362a8)
#8 _pt_root <null> (libnspr4.so+0x30f3c) (BuildId: f104b07bc930c7bf01e241a2cb46ea281c73a21b)
SUMMARY: ThreadSanitizer: data race ldap/servers/plugins/memberof/memberof.c:2943 in memberof_fixup_task_thread
==================
Issue Description While investigating failures in
memberof_plugin/fixup_test.py::test_fixup_task_limit
, I noticed that the logs look odd: inconsistent number of processed entries and really small process time.First task is on
dc=example,dc=com
suffix, second is onou=people,dc=example,dc=com
, third is again ondc=example,dc=com
. With 6000 entries total:With 5000 entries total:
I removed the condition to write to task log every 1000 entries and noticed that the counter restarts, when another task was added on a different suffix:
And the log of the second task doesn't start from 0:
Package Version and Platform:
Steps to Reproduce Steps to reproduce the behavior:
memberof_plugin/fixup_test.py
grep memberof /var/log/dirsrv/slapd-standalone1/errors