Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
BIND
BIND
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 580
    • Issues 580
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 111
    • Merge Requests 111
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • ISC Open Source Projects
  • BINDBIND
  • Issues
  • #1442

Closed
Open
Opened Dec 02, 2019 by Ondřej Surý@ondrejOwner

ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2d229) in pthread_rwlock_wrlock

  • Binary: named
  • Commit: 289f143d
  • Tests: addzone, autosign, dnssec, ...
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=3749)
  Cycle in lock order graph: M33356 (0x7b54000218a0) => M33330 (0x7b5000020490) => M33331 (0x7b50000204d0) => M33356

  Mutex M33330 acquired here while holding mutex M33356 in thread T13:
    #0 pthread_rwlock_wrlock <null> (libtsan.so.0+0x2d229)
    #1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:54 (libisc.so.1504+0x5078f)
    #2 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:47 (libisc.so.1504+0x5078f)
    #3 add_changed /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:1359 (libdns.so.1505+0x1020ab)
    #4 subtractrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6680 (libdns.so.1505+0x10d7d0)
    #5 subtractrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6622 (libdns.so.1505+0x10d7d0)
    #6 dns_db_subtractrdataset /home/ondrej/Projects/bind9/lib/dns/db.c:768 (libdns.so.1505+0x67909)
    #7 diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:371 (libdns.so.1505+0x6ac8e)
    #8 dns_diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:452 (libdns.so.1505+0x6c0a1)
    #9 do_one_tuple /home/ondrej/Projects/bind9/lib/dns/zone.c:4089 (libdns.so.1505+0x20379e)
    #10 update_one_rr /home/ondrej/Projects/bind9/lib/dns/zone.c:4118 (libdns.so.1505+0x203acf)
    #11 del_sigs /home/ondrej/Projects/bind9/lib/dns/zone.c:6371 (libdns.so.1505+0x22a21e)
    #12 zone_resigninc /home/ondrej/Projects/bind9/lib/dns/zone.c:6864 (libdns.so.1505+0x2412dd)
    #13 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10815 (libdns.so.1505+0x24a063)
    #14 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650 (libdns.so.1505+0x24a063)
    #15 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
    #16 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
    #17 <null> <null> (libtsan.so.0+0x29b3d)

  Mutex M33356 previously acquired by the same thread here:
    #0 pthread_rwlock_wrlock <null> (libtsan.so.0+0x2d229)
    #1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:54 (libisc.so.1504+0x5078f)
    #2 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:47 (libisc.so.1504+0x5078f)
    #3 subtractrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6677 (libdns.so.1505+0x10d7b5)
    #4 subtractrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6622 (libdns.so.1505+0x10d7b5)
    #5 dns_db_subtractrdataset /home/ondrej/Projects/bind9/lib/dns/db.c:768 (libdns.so.1505+0x67909)
    #6 diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:371 (libdns.so.1505+0x6ac8e)
    #7 dns_diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:452 (libdns.so.1505+0x6c0a1)
    #8 do_one_tuple /home/ondrej/Projects/bind9/lib/dns/zone.c:4089 (libdns.so.1505+0x20379e)
    #9 update_one_rr /home/ondrej/Projects/bind9/lib/dns/zone.c:4118 (libdns.so.1505+0x203acf)
    #10 del_sigs /home/ondrej/Projects/bind9/lib/dns/zone.c:6371 (libdns.so.1505+0x22a21e)
    #11 zone_resigninc /home/ondrej/Projects/bind9/lib/dns/zone.c:6864 (libdns.so.1505+0x2412dd)
    #12 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10815 (libdns.so.1505+0x24a063)
    #13 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650 (libdns.so.1505+0x24a063)
    #14 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
    #15 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
    #16 <null> <null> (libtsan.so.0+0x29b3d)

  Mutex M33331 acquired here while holding mutex M33330 in thread T14:
    #0 pthread_rwlock_rdlock <null> (libtsan.so.0+0x2cf99)
    #1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50 (libisc.so.1504+0x507f7)
    #2 setnsec3parameters /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2273 (libdns.so.1505+0x103102)
    #3 iszonesecure /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2246 (libdns.so.1505+0x103102)
    #4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7317 (libdns.so.1505+0x108947)
    #5 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x108947)
    #6 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
    #7 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
    #8 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
    #9 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
    #10 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193 (libdns.so.1505+0x252655)
    #11 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
    #12 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
    #13 <null> <null> (libtsan.so.0+0x29b3d)

  Mutex M33330 previously acquired by the same thread here:
    #0 pthread_rwlock_wrlock <null> (libtsan.so.0+0x2d229)
    #1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:54 (libisc.so.1504+0x5078f)
    #2 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:47 (libisc.so.1504+0x5078f)
    #3 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7304 (libdns.so.1505+0x1088ae)
    #4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x1088ae)
    #5 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
    #6 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
    #7 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
    #8 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
    #9 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193 (libdns.so.1505+0x252655)
    #10 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
    #11 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
    #12 <null> <null> (libtsan.so.0+0x29b3d)

  Mutex M33356 acquired here while holding mutex M33331 in thread T14:
    #0 pthread_rwlock_rdlock <null> (libtsan.so.0+0x2cf99)
    #1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50 (libisc.so.1504+0x507f7)
    #2 setnsec3parameters /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2276 (libdns.so.1505+0x10318d)
    #3 iszonesecure /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2246 (libdns.so.1505+0x10318d)
    #4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7317 (libdns.so.1505+0x108947)
    #5 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x108947)
    #6 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
    #7 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
    #8 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
    #9 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
    #10 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193 (libdns.so.1505+0x252655)
    #11 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
    #12 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
    #13 <null> <null> (libtsan.so.0+0x29b3d)

  Mutex M33331 previously acquired by the same thread here:
    #0 pthread_rwlock_rdlock <null> (libtsan.so.0+0x2cf99)
    #1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50 (libisc.so.1504+0x507f7)
    #2 setnsec3parameters /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2273 (libdns.so.1505+0x103102)
    #3 iszonesecure /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2246 (libdns.so.1505+0x103102)
    #4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7317 (libdns.so.1505+0x108947)
    #5 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x108947)
    #6 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
    #7 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
    #8 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
    #9 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
    #10 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193 (libdns.so.1505+0x252655)
    #11 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
    #12 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
    #13 <null> <null> (libtsan.so.0+0x29b3d)

  Thread T13 'isc-worker0004' (tid=3779, running) created by main thread at:
    #0 pthread_create <null> (libtsan.so.0+0x2be1b)
    #1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75 (libisc.so.1504+0x7a324)
    #2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x583c3)
    #3 create_managers main.c:902 (named+0x1af1c)
    #4 setup main.c:1235 (named+0x1af1c)
    #5 main main.c:1513 (named+0x1af1c)

  Thread T14 'isc-worker0005' (tid=3780, running) created by main thread at:
    #0 pthread_create <null> (libtsan.so.0+0x2be1b)
    #1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75 (libisc.so.1504+0x7a324)
    #2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x583c3)
    #3 create_managers main.c:902 (named+0x1af1c)
    #4 setup main.c:1235 (named+0x1af1c)
    #5 main main.c:1513 (named+0x1af1c)

SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2d229) in pthread_rwlock_wrlock
Assignee
Assign to
December 2019 (9.11.14, 9.14.9, 9.15.7)
Milestone
December 2019 (9.11.14, 9.14.9, 9.15.7) (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: isc-projects/bind9#1442