Skip to content
  • Mark Andrews's avatar
    Add missing rwlock calls when access keynode.initial and keynode.managed · fc3cab22
    Mark Andrews authored
        WARNING: ThreadSanitizer: data race
        Write of size 1 at 0x000000000001 by thread T1 (mutexes: write M1):
        #0 dns_keynode_trust lib/dns/keytable.c:836
        #1 keyfetch_done lib/dns/zone.c:10187
        #2 dispatch lib/isc/task.c:1152
        #3 run lib/isc/task.c:1344
        #4 <null> <null>
    
        Previous read of size 1 at 0x000000000001 by thread T2 (mutexes: read M2):
        #0 keynode_dslist_totext lib/dns/keytable.c:682
        #1 dns_keytable_totext lib/dns/keytable.c:732
        #2 named_server_dumpsecroots bin/named/server.c:11357
        #3 named_control_docommand bin/named/control.c:264
        #4 control_command bin/named/controlconf.c:390
        #5 dispatch lib/isc/task.c:1152
        #6 run lib/isc/task.c:1344
        #7 <null> <null>
    
        Location is heap block of size 241 at 0x000000000010 allocated by thread T3:
        #0 malloc <null>
        #1 default_memalloc lib/isc/mem.c:713
        #2 mem_get lib/isc/mem.c:622
        #3 mem_allocateunlocked lib/isc/mem.c:1268
        #4 isc___mem_allocate lib/isc/mem.c:1288
        #5 isc__mem_allocate lib/isc/mem.c:2453
        #6 isc___mem_get lib/isc/mem.c:1037
        #7 isc__mem_get lib/isc/mem.c:2432
        #8 new_keynode lib/dns/keytable.c:346
        #9 insert lib/dns/keytable.c:393
        #10 dns_keytable_add lib/dns/keytable.c:421
        #11 process_key bin/named/server.c:955
        #12 load_view_keys bin/named/server.c:983
        #13 configure_view_dnsseckeys bin/named/server.c:1140
        #14 configure_view bin/named/server.c:5371
        #15 load_configuration bin/named/server.c:9110
        #16 loadconfig bin/named/server.c:10310
        #17 named_server_reconfigcommand bin/named/server.c:10693
        #18 named_control_docommand bin/named/control.c:250
        #19 control_command bin/named/controlconf.c:390
        #20 dispatch lib/isc/task.c:1152
        #21 run lib/isc/task.c:1344
        #22 <null> <null>
    
        Mutex M1 is already destroyed.
    
        Mutex M2 is already destroyed.
    
        Thread T1 (running) created by main thread at:
        #0 pthread_create <null>
        #1 isc_thread_create pthreads/thread.c:73
        #2 isc_taskmgr_create lib/isc/task.c:1434
        #3 create_managers bin/named/main.c:915
        #4 setup bin/named/main.c:1223
        #5 main bin/named/main.c:1523
    
        Thread T2 (running) created by main thread at:
        #0 pthread_create <null>
        #1 isc_thread_create pthreads/thread.c:73
        #2 isc_taskmgr_create lib/isc/task.c:1434
        #3 create_managers bin/named/main.c:915
        #4 setup bin/named/main.c:1223
        #5 main bin/named/main.c:1523
    
        Thread T3 (running) created by main thread at:
        #0 pthread_create <null>
        #1 isc_thread_create pthreads/thread.c:73
        #2 isc_taskmgr_create lib/isc/task.c:1434
        #3 create_managers bin/named/main.c:915
        #4 setup bin/named/main.c:1223
        #5 main bin/named/main.c:1523
    
        SUMMARY: ThreadSanitizer: data race lib/dns/keytable.c:836 in dns_keynode_trust
    
    (cherry picked from commit 840cf7ad)
    fc3cab22