Skip to content
  • Mark Andrews's avatar
    Address lock-order-inversion · 10908766
    Mark Andrews authored
        WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
        Cycle in lock order graph: M1 (0x000000000001) => M2 (0x000000000002) => M1
    
        Mutex M2 acquired here while holding mutex M1 in thread T1:
        #0 pthread_rwlock_wrlock <null>
        #1 isc_rwlock_lock lib/isc/rwlock.c:52:4
        #2 zone_postload lib/dns/zone.c:5101:2
        #3 receive_secure_db lib/dns/zone.c:16206:11
        #4 dispatch lib/isc/task.c:1152:7
        #5 run lib/isc/task.c:1344:2
    
        Mutex M1 previously acquired by the same thread here:
        #0 pthread_mutex_lock <null>
        #1 receive_secure_db lib/dns/zone.c:16204:2
        #2 dispatch lib/isc/task.c:1152:7
        #3 run lib/isc/task.c:1344:2
    
        Mutex M1 acquired here while holding mutex M2 in thread T1:
        #0 pthread_mutex_lock <null>
        #1 get_raw_serial lib/dns/zone.c:2518:2
        #2 zone_gotwritehandle lib/dns/zone.c:2559:4
        #3 dispatch lib/isc/task.c:1152:7
        #4 run lib/isc/task.c:1344:2
    
        Mutex M2 previously acquired by the same thread here:
        #0 pthread_rwlock_rdlock <null>
        #1 isc_rwlock_lock lib/isc/rwlock.c:48:3
        #2 zone_gotwritehandle lib/dns/zone.c:2552:2
        #3 dispatch lib/isc/task.c:1152:7
        #4 run lib/isc/task.c:1344:2
    
        Thread T1 (running) created by main thread at:
        #0 pthread_create <null>
        #1 isc_thread_create lib/isc/pthreads/thread.c:73:8
        #2 isc_taskmgr_create lib/isc/task.c:1434:3
        #3 create_managers bin/named/main.c:915:11
        #4 setup bin/named/main.c:1223:11
        #5 main bin/named/main.c:1523:2
    
        SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) in pthread_rwlock_wrlock
    10908766