ISC Open Source Projects issueshttps://gitlab.isc.org/groups/isc-projects/-/issues2019-11-28T00:10:55Zhttps://gitlab.isc.org/isc-projects/bind9/-/issues/1415ThreadSanitizer: data race rbt.c:2495 in dns_rbt_addnode2019-11-28T00:10:55ZOndřej SurýThreadSanitizer: data race rbt.c:2495 in dns_rbt_addnode* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: mirror
```
WARNING: ThreadSanitizer: data race (pid=47813)
Write of size 4 at 0x7b200002a914 by thread T5 (mutexes: write M182250082437959608, write M693784...* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: mirror
```
WARNING: ThreadSanitizer: data race (pid=47813)
Write of size 4 at 0x7b200002a914 by thread T5 (mutexes: write M182250082437959608, write M69378479338097504):
#0 dns_rbt_addnode rbt.c:2495 (libdns.1505.dylib:x86_64+0xab547)
#1 findnodeintree rbtdb.c:2738 (libdns.1505.dylib:x86_64+0xc965a)
#2 findnode rbtdb.c:2783 (libdns.1505.dylib:x86_64+0xb641b)
#3 dns_db_findnode db.c:447 (libdns.1505.dylib:x86_64+0x2bcd8)
#4 validated resolver.c:5564 (libdns.1505.dylib:x86_64+0x14bcba)
#5 run task.c:1134 (libisc.1504.dylib:x86_64+0x3be51)
Previous read of size 4 at 0x7b200002a914 by thread T8 (mutexes: write M194634981413229616):
#0 addrdataset rbtdb.c:6524 (libdns.1505.dylib:x86_64+0xb9fe7)
#1 dns_db_addrdataset db.c:744 (libdns.1505.dylib:x86_64+0x2ce6e)
#2 validated resolver.c:5716 (libdns.1505.dylib:x86_64+0x14c57b)
#3 run task.c:1134 (libisc.1504.dylib:x86_64+0x3be51)
Location is heap block of size 126 at 0x7b200002a900 allocated by thread T8:
#0 malloc <null>:5827872 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x4e65a)
#1 default_memalloc mem.c:685 (libisc.1504.dylib:x86_64+0x21bbf)
#2 isc___mem_allocate mem.c:598 (libisc.1504.dylib:x86_64+0x22a1c)
#3 isc___mem_get mem.c:2387 (libisc.1504.dylib:x86_64+0x22037)
#4 isc__mem_get mem.c:2365 (libisc.1504.dylib:x86_64+0x1cd3e)
#5 create_node rbt.c:2189 (libdns.1505.dylib:x86_64+0xabcc5)
#6 dns_rbt_addnode rbt.c:1274 (libdns.1505.dylib:x86_64+0xaa9ea)
#7 findnodeintree rbtdb.c:2738 (libdns.1505.dylib:x86_64+0xc965a)
#8 findnode rbtdb.c:2783 (libdns.1505.dylib:x86_64+0xb641b)
#9 dns_db_findnode db.c:447 (libdns.1505.dylib:x86_64+0x2bcd8)
#10 validated resolver.c:5708 (libdns.1505.dylib:x86_64+0x14c4b7)
#11 run task.c:1134 (libisc.1504.dylib:x86_64+0x3be51)
Mutex M182250082437959608 is already destroyed.
Mutex M69378479338097504 is already destroyed.
Mutex M194634981413229616 is already destroyed.
Thread T5 (tid=1498349, running) created by main thread at:
#0 pthread_create <null>:5827920 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_taskmgr_create task.c:1410 (libisc.1504.dylib:x86_64+0x3b340)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
Thread T8 (tid=1498352, running) created by main thread at:
#0 pthread_create <null>:5827920 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_taskmgr_create task.c:1410 (libisc.1504.dylib:x86_64+0x3b340)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
SUMMARY: ThreadSanitizer: data race rbt.c:2495 in dns_rbt_addnode
```December 2019 (9.11.14, 9.14.9, 9.15.7)https://gitlab.isc.org/isc-projects/bind9/-/issues/1414ThreadSanitizer: data race task.c:367 in task_shutdown2019-12-13T07:41:55ZOndřej SurýThreadSanitizer: data race task.c:367 in task_shutdown* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: limits
```
WARNING: ThreadSanitizer: data race (pid=36543)
Write of size 4 at 0x7b4000000c90 by main thread (mutexes: write M1160, write M1165, write M44233...* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: limits
```
WARNING: ThreadSanitizer: data race (pid=36543)
Write of size 4 at 0x7b4000000c90 by main thread (mutexes: write M1160, write M1165, write M442332703220567072):
#0 task_shutdown task.c:367 (libisc.1504.dylib:x86_64+0x3a874)
#1 isc_taskmgr_destroy task.c:1490 (libisc.1504.dylib:x86_64+0x3cf3b)
#2 main main.c:952 (named:x86_64+0x10000e41c)
Previous read of size 4 at 0x7b4000000c90 by thread T9 (mutexes: write M1171, write M1168):
#0 task_ready task.c:959 (libisc.1504.dylib:x86_64+0x391d5)
#1 isc_task_sendto task.c:560 (libisc.1504.dylib:x86_64+0x3952c)
#2 isc_task_send task.c:506 (libisc.1504.dylib:x86_64+0x39435)
#3 run timer.c:583 (libisc.1504.dylib:x86_64+0x42d65)
Location is heap block of size 241 at 0x7b4000000c00 allocated by main thread:
#0 malloc <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x4e65a)
#1 default_memalloc mem.c:685 (libisc.1504.dylib:x86_64+0x21bbf)
#2 isc___mem_allocate mem.c:598 (libisc.1504.dylib:x86_64+0x22a1c)
#3 isc___mem_get mem.c:2387 (libisc.1504.dylib:x86_64+0x22037)
#4 isc__mem_get mem.c:2365 (libisc.1504.dylib:x86_64+0x1cd3e)
#5 isc_task_create_bound task.c:275 (libisc.1504.dylib:x86_64+0x38a6c)
#6 isc_task_create task.c:261 (libisc.1504.dylib:x86_64+0x389be)
#7 isc_taskpool_create taskpool.c:78 (libisc.1504.dylib:x86_64+0x3f8ea)
#8 dns_zonemgr_setsize zone.c:17195 (libdns.1505.dylib:x86_64+0x1aca27)
#9 named_server_create server.c:9894 (named:x86_64+0x10000fbfb)
#10 main main.c:1267 (named:x86_64+0x10000e144)
Mutex M1160 (0x7b4800000620) created at:
#0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2b9a3)
#1 isc__mutex_init mutex.c:286 (libisc.1504.dylib:x86_64+0x58ca9)
#2 isc_taskmgr_create task.c:1366 (libisc.1504.dylib:x86_64+0x3b044)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
Mutex M1165 (0x7b5800000010) created at:
#0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2b9a3)
#1 isc__mutex_init mutex.c:286 (libisc.1504.dylib:x86_64+0x58ca9)
#2 isc_taskmgr_create task.c:1405 (libisc.1504.dylib:x86_64+0x3b2ab)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
Mutex M442332703220567072 is already destroyed.
Mutex M1171 (0x7b3400000500) created at:
#0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2b9a3)
#1 isc__mutex_init mutex.c:286 (libisc.1504.dylib:x86_64+0x58ca9)
#2 isc_timermgr_create timer.c:697 (libisc.1504.dylib:x86_64+0x428a0)
#3 main main.c:911 (named:x86_64+0x10000dfcd)
Mutex M1168 (0x7b5800000208) created at:
#0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2b9a3)
#1 isc__mutex_init mutex.c:286 (libisc.1504.dylib:x86_64+0x58ca9)
#2 isc_taskmgr_create task.c:1405 (libisc.1504.dylib:x86_64+0x3b2ab)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
Thread T9 (tid=1460346, running) created by main thread at:
#0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_timermgr_create timer.c:700 (libisc.1504.dylib:x86_64+0x428dd)
#3 main main.c:911 (named:x86_64+0x10000dfcd)
SUMMARY: ThreadSanitizer: data race task.c:367 in task_shutdown
```January 2020 (9.11.15, 9.14.10, 9.15.8, 9.11.15-S)Mark AndrewsMark Andrewshttps://gitlab.isc.org/isc-projects/bind9/-/issues/1413Intermittent failure in dnssec system test2020-04-09T06:51:15ZOndřej SurýIntermittent failure in dnssec system test* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433290
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/440081* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433290
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/440081March 2020 (9.11.17, 9.16.1, 9.17.0)https://gitlab.isc.org/isc-projects/bind9/-/issues/1412ThreadSanitizer: data race resolver.c:7030 in fctx_decreference2019-12-02T23:52:18ZOndřej SurýThreadSanitizer: data race resolver.c:7030 in fctx_decreference* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: fetchlimit
```
WARNING: ThreadSanitizer: data race (pid=66438)
Read of size 4 at 0x7b680015c1f0 by thread T5 (mutexes: write M22372295666377800):
#0 fct...* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: fetchlimit
```
WARNING: ThreadSanitizer: data race (pid=66438)
Read of size 4 at 0x7b680015c1f0 by thread T5 (mutexes: write M22372295666377800):
#0 fctx_decreference resolver.c:7030 (libdns.1505.dylib:x86_64+0x131a42)
#1 dns_resolver_destroyfetch resolver.c:10758 (libdns.1505.dylib:x86_64+0x1318a0)
#2 fetch_callback query.c:5679 (libns.1502.dylib:x86_64+0x153d8)
#3 run task.c:1134 (libisc.1504.dylib:x86_64+0x3be51)
Previous write of size 4 at 0x7b680015c1f0 by thread T7:
#0 fctx_nextaddress resolver.c:3872 (libdns.1505.dylib:x86_64+0x1391de)
#1 fctx_try resolver.c:4012 (libdns.1505.dylib:x86_64+0x136638)
#2 fctx_timeout resolver.c:4462 (libdns.1505.dylib:x86_64+0x134b1d)
#3 run task.c:1134 (libisc.1504.dylib:x86_64+0x3be51)
Location is heap block of size 1449 at 0x7b680015c000 allocated by thread T4:
#0 malloc <null>:5823072 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x4e65a)
#1 default_memalloc mem.c:685 (libisc.1504.dylib:x86_64+0x21bbf)
#2 isc___mem_allocate mem.c:598 (libisc.1504.dylib:x86_64+0x22a1c)
#3 isc___mem_get mem.c:2387 (libisc.1504.dylib:x86_64+0x22037)
#4 isc__mem_get mem.c:2365 (libisc.1504.dylib:x86_64+0x1cd3e)
#5 dns_resolver_createfetch resolver.c:4748 (libdns.1505.dylib:x86_64+0x12cc41)
#6 ns_query_recurse query.c:5858 (libns.1502.dylib:x86_64+0x13ed3)
#7 query_delegation query.c (libns.1502.dylib:x86_64+0x21ed1)
#8 query_gotanswer query.c (libns.1502.dylib:x86_64+0x18b2f)
#9 query_lookup query.c:5562 (libns.1502.dylib:x86_64+0x136f7)
#10 ns__query_start query.c:5441 (libns.1502.dylib:x86_64+0x1144c)
#11 ns_query_start query.c:5162 (libns.1502.dylib:x86_64+0x172a8)
#12 ns__client_request client.c:2154 (libns.1502.dylib:x86_64+0x5dd2)
#13 udp_recv_cb udp.c:318 (libisc.1504.dylib:x86_64+0x2aa91)
#14 uv__udp_io <null>:5823072 (libuv.1.dylib:x86_64+0x13244)
Mutex M22372295666377800 is already destroyed.
Thread T5 (tid=1295632, running) created by main thread at:
#0 pthread_create <null>:5823120 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_taskmgr_create task.c:1410 (libisc.1504.dylib:x86_64+0x3b340)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
Thread T7 (tid=1295634, running) created by main thread at:
#0 pthread_create <null>:5823120 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_taskmgr_create task.c:1410 (libisc.1504.dylib:x86_64+0x3b340)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
Thread T4 (tid=1295631, running) created by main thread at:
#0 pthread_create <null>:5823024 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_nm_start netmgr.c:152 (libisc.1504.dylib:x86_64+0x23b84)
#3 main main.c:895 (named:x86_64+0x10000df4e)
SUMMARY: ThreadSanitizer: data race resolver.c:7030 in fctx_decreference
```December 2019 (9.11.14, 9.14.9, 9.15.7)https://gitlab.isc.org/isc-projects/bind9/-/issues/1411ThreadSanitizer: data race resolver.c:2153 in fctx_query2019-12-11T00:08:39ZOndřej SurýThreadSanitizer: data race resolver.c:2153 in fctx_query* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: fetchlimit
```
WARNING: ThreadSanitizer: data race (pid=66438)
Write of size 4 at 0x7b680015c528 by thread T7:
#0 fctx_query resolver.c:2153 (libdns.150...* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: fetchlimit
```
WARNING: ThreadSanitizer: data race (pid=66438)
Write of size 4 at 0x7b680015c528 by thread T7:
#0 fctx_query resolver.c:2153 (libdns.1505.dylib:x86_64+0x13b047)
#1 fctx_try resolver.c:4132 (libdns.1505.dylib:x86_64+0x1378f1)
#2 fctx_timeout resolver.c:4462 (libdns.1505.dylib:x86_64+0x134b1d)
#3 run task.c:1134 (libisc.1504.dylib:x86_64+0x3be51)
Previous read of size 4 at 0x7b680015c528 by thread T5 (mutexes: write M22372295666377800):
#0 fctx_decreference resolver.c:7029 (libdns.1505.dylib:x86_64+0x131a17)
#1 dns_resolver_destroyfetch resolver.c:10758 (libdns.1505.dylib:x86_64+0x1318a0)
#2 fetch_callback query.c:5679 (libns.1502.dylib:x86_64+0x153d8)
#3 run task.c:1134 (libisc.1504.dylib:x86_64+0x3be51)
Location is heap block of size 1449 at 0x7b680015c000 allocated by thread T4:
#0 malloc <null>:7951424 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x4e65a)
#1 default_memalloc mem.c:685 (libisc.1504.dylib:x86_64+0x21bbf)
#2 isc___mem_allocate mem.c:598 (libisc.1504.dylib:x86_64+0x22a1c)
#3 isc___mem_get mem.c:2387 (libisc.1504.dylib:x86_64+0x22037)
#4 isc__mem_get mem.c:2365 (libisc.1504.dylib:x86_64+0x1cd3e)
#5 dns_resolver_createfetch resolver.c:4748 (libdns.1505.dylib:x86_64+0x12cc41)
#6 ns_query_recurse query.c:5858 (libns.1502.dylib:x86_64+0x13ed3)
#7 query_delegation query.c (libns.1502.dylib:x86_64+0x21ed1)
#8 query_gotanswer query.c (libns.1502.dylib:x86_64+0x18b2f)
#9 query_lookup query.c:5562 (libns.1502.dylib:x86_64+0x136f7)
#10 ns__query_start query.c:5441 (libns.1502.dylib:x86_64+0x1144c)
#11 ns_query_start query.c:5162 (libns.1502.dylib:x86_64+0x172a8)
#12 ns__client_request client.c:2154 (libns.1502.dylib:x86_64+0x5dd2)
#13 udp_recv_cb udp.c:318 (libisc.1504.dylib:x86_64+0x2aa91)
#14 uv__udp_io <null>:7951424 (libuv.1.dylib:x86_64+0x13244)
Mutex M22372295666377800 is already destroyed.
Thread T7 (tid=1295634, running) created by main thread at:
#0 pthread_create <null>:7951472 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_taskmgr_create task.c:1410 (libisc.1504.dylib:x86_64+0x3b340)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
Thread T5 (tid=1295632, running) created by main thread at:
#0 pthread_create <null>:7951472 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_taskmgr_create task.c:1410 (libisc.1504.dylib:x86_64+0x3b340)
#3 main main.c:902 (named:x86_64+0x10000dfa6)
Thread T4 (tid=1295631, running) created by main thread at:
#0 pthread_create <null>:7951376 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_nm_start netmgr.c:152 (libisc.1504.dylib:x86_64+0x23b84)
#3 main main.c:895 (named:x86_64+0x10000df4e)
SUMMARY: ThreadSanitizer: data race resolver.c:2153 in fctx_query
```December 2019 (9.11.14, 9.14.9, 9.15.7)https://gitlab.isc.org/isc-projects/bind9/-/issues/1410Intermittent failure in the resolver test2019-12-04T22:58:24ZOndřej SurýIntermittent failure in the resolver test* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433565
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433291
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/440028* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433565
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433291
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/440028December 2019 (9.11.14, 9.14.9, 9.15.7)https://gitlab.isc.org/isc-projects/bind9/-/issues/1409Intermittent failure in the statistics system test2021-10-05T11:01:00ZOndřej SurýIntermittent failure in the statistics system test* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433564
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433565
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/440092* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433564
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433565
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/440092BIND 9.17 Backburnerhttps://gitlab.isc.org/isc-projects/bind9/-/issues/1408Intermittent failure in the dns64 system test2020-06-16T12:11:17ZOndřej SurýIntermittent failure in the dns64 system test* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433564* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433564BIND 9.17 Backburnerhttps://gitlab.isc.org/isc-projects/bind9/-/issues/1407Intermittent failure in the mkeys system test2019-12-05T14:24:43ZOndřej SurýIntermittent failure in the mkeys system test* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433562* https://gitlab.isc.org/isc-projects/bind9/-/jobs/433562December 2019 (9.11.14, 9.14.9, 9.15.7)Ondřej SurýOndřej Surýhttps://gitlab.isc.org/isc-projects/bind9/-/issues/1406Return AAAA too with NS answers2023-03-16T11:03:07ZFrancis DupontReturn AAAA too with NS answersToday the additionaldata_ns() in ns_2.c adds a dns_rdatatype_a but it should add a dns_rdatatype_aaaa too.
If needed I can provide the patch in a MR.
As this should have an impact on response size I think it is a candidate for the next...Today the additionaldata_ns() in ns_2.c adds a dns_rdatatype_a but it should add a dns_rdatatype_aaaa too.
If needed I can provide the patch in a MR.
As this should have an impact on response size I think it is a candidate for the next major release.https://gitlab.isc.org/isc-projects/bind9/-/issues/1404ThreadSanitizer: data race netmgr.c:179 in isc_nm_detach2019-11-26T17:32:33ZOndřej SurýThreadSanitizer: data race netmgr.c:179 in isc_nm_detach* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: dnssec
```
WARNING: ThreadSanitizer: data race (pid=53059)
Write of size 1 at 0x00010a1a1541 by main thread (mutexes: write M102, write M112):
#0 isc_nm...* Binary: `named`
* Commit: d0bc45be1778b6e6d88db12c7697536ef61f09b1
* Tests: dnssec
```
WARNING: ThreadSanitizer: data race (pid=53059)
Write of size 1 at 0x00010a1a1541 by main thread (mutexes: write M102, write M112):
#0 isc_nm_detach netmgr.c:179 (libisc.1504.dylib:x86_64+0x24d87)
#1 isc_nm_destroy netmgr.c:340 (libisc.1504.dylib:x86_64+0x253f5)
#2 main main.c:959 (named:x86_64+0x10000e43c)
Previous read of size 1 at 0x00010a1a1541 by thread T1:
#0 nm_thread netmgr.c:429 (libisc.1504.dylib:x86_64+0x24297)
Location is heap block of size 267665 at 0x00010a1a1000 allocated by main thread:
#0 malloc <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x4e65a)
#1 default_memalloc mem.c:685 (libisc.1504.dylib:x86_64+0x21bef)
#2 isc___mem_allocate mem.c:598 (libisc.1504.dylib:x86_64+0x22a4c)
#3 isc___mem_get mem.c:2387 (libisc.1504.dylib:x86_64+0x22067)
#4 isc__mem_get mem.c:2365 (libisc.1504.dylib:x86_64+0x1cd6e)
#5 isc_nm_start netmgr.c:123 (libisc.1504.dylib:x86_64+0x23a33)
#6 main main.c:895 (named:x86_64+0x10000df4e)
Mutex M102 (0x7b48000004a8) created at:
#0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2b9a3)
#1 isc__mutex_init mutex.c:286 (libisc.1504.dylib:x86_64+0x58ca9)
#2 isc_nm_start netmgr.c:88 (libisc.1504.dylib:x86_64+0x237f9)
#3 main main.c:895 (named:x86_64+0x10000df4e)
Mutex M112 (0x00010a1a14d0) created at:
#0 pthread_mutex_init <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2b9a3)
#1 isc__mutex_init mutex.c:286 (libisc.1504.dylib:x86_64+0x58ca9)
#2 isc_nm_start netmgr.c:140 (libisc.1504.dylib:x86_64+0x23b17)
#3 main main.c:895 (named:x86_64+0x10000df4e)
Thread T1 (tid=945113, running) created by main thread at:
#0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1504.dylib:x86_64+0x58db1)
#2 isc_nm_start netmgr.c:152 (libisc.1504.dylib:x86_64+0x23bb4)
#3 main main.c:895 (named:x86_64+0x10000df4e)
SUMMARY: ThreadSanitizer: data race netmgr.c:179 in isc_nm_detach
```December 2019 (9.11.14, 9.14.9, 9.15.7)https://gitlab.isc.org/isc-projects/kea/-/issues/10351.7.2 sanity checks2019-11-27T03:33:36ZWlodzimierz Wencel1.7.2 sanity checkscomment here anything that should be fixed, hopefully we won't need respin
* parsers didn't need regenerating
* libs versions were updatedcomment here anything that should be fixed, hopefully we won't need respin
* parsers didn't need regenerating
* libs versions were updatedkea1.7.3https://gitlab.isc.org/isc-projects/kea/-/issues/1034get_config_unittest.cc.skel missing in tarball2019-12-13T17:51:31ZTomek Mrugalskiget_config_unittest.cc.skel missing in tarballThe src/bin/dhcp{4,6}/tests/get_config_unittest.cc.skel files are not included in the tarball.
See https://gitlab.isc.org/isc-projects/kea/issues/977#note_86280The src/bin/dhcp{4,6}/tests/get_config_unittest.cc.skel files are not included in the tarball.
See https://gitlab.isc.org/isc-projects/kea/issues/977#note_86280kea1.7.3https://gitlab.isc.org/isc-projects/bind9/-/issues/1403When configuration loading fails, `named` could assert2019-11-26T11:53:17ZOndřej SurýWhen configuration loading fails, `named` could assertWhen loading the configuration fails, there might be already other tasks running and calling OpenSSL library functions. The OpenSSL on_exit handler is called when exiting the main process and there's a timing race between the on_exit fu...When loading the configuration fails, there might be already other tasks running and calling OpenSSL library functions. The OpenSSL on_exit handler is called when exiting the main process and there's a timing race between the on_exit function that destroys OpenSSL allocated resources (threads, locks, ...) and other tasks accessing the very same resources leading to a crash in the system threading library. Therefore, the fatal() function needs to request exclusive access to the task manager to finish the already running tasks and exit only when no other tasks are running.
This issue is offspring from !2572 MR.December 2019 (9.11.14, 9.14.9, 9.15.7)Ondřej SurýOndřej Surýhttps://gitlab.isc.org/isc-projects/bind9/-/issues/1402Multiple issues in the runtime system test2019-11-27T12:02:57ZOndřej SurýMultiple issues in the runtime system testThere are multiple issues in the `runtime` system test:
1. timing can fail on heavily loaded machine
2. some tests are no-op because they check for generic `named` error and when the `named` has wrong configuration it always fails
3. on...There are multiple issues in the `runtime` system test:
1. timing can fail on heavily loaded machine
2. some tests are no-op because they check for generic `named` error and when the `named` has wrong configuration it always fails
3. on macOS, the `PATH_MAX` is only `1024` so the test that uses overly long configuration file name would always fail
4. various little nits and bits (shellcheck cleanness, missing `set -e`)
This issue is offspring of !2572 MR.December 2019 (9.11.14, 9.14.9, 9.15.7)https://gitlab.isc.org/isc-projects/stork/-/issues/94Need to upload Stork ARM to readthedocs.io2019-12-03T16:25:47ZTomek MrugalskiNeed to upload Stork ARM to readthedocs.ioWe now have a basic Sphinx documentation for Stork. We need to upload it to readthedocs.io.
The most important info is installation manual, but other parts will become useful in the near future.We now have a basic Sphinx documentation for Stork. We need to upload it to readthedocs.io.
The most important info is installation manual, but other parts will become useful in the near future.Stork-0.2https://gitlab.isc.org/isc-projects/kea/-/issues/1033Daemon proc_name_ is now a static value.2019-11-26T09:26:24ZFrancis DupontDaemon proc_name_ is now a static value.#50 made proc_name_ a Daemon class value but failed to update unit tests introducing a dependency in unit test execution order.#50 made proc_name_ a Daemon class value but failed to update unit tests introducing a dependency in unit test execution order.kea1.7.2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/1032release 1.7.22019-11-27T03:38:53ZWlodzimierz Wencelrelease 1.7.2---
name: Release Checklist
about: Create a new issue using this checklist for each release
---
# Kea Release Process
## Introduction
The Kea release process (for the base version of Kea and the hooks) is different to that of DHCP. At t...---
name: Release Checklist
about: Create a new issue using this checklist for each release
---
# Kea Release Process
## Introduction
The Kea release process (for the base version of Kea and the hooks) is different to that of DHCP. At the moment, Kea has only one supported release at a time, so the process tries to ensure that any modifications needed for a release take place on the master branch, rather than on a version-specific one. The basic steps for a release are:
1) Announce a code freeze for the master branch that will last until actual tarball release
2) Do all necessary changes to the master branch for the release
3) Create release tarball from master branch
4) After sanity checks made by the QA and development teams, either we continue or we accept changes on master to fix issues if needed and go back to the previous step.
5) Create a release branch (for beta) or merge master to existing release branch (for final) and tag release on it. (???)
6) Sign and upload tarballs
7) Announce that freeze time on master branch is over.
8) Release tarballs are prepared by Jenkins job: https://jenkins.isc.org/job/kea-master-tarball-internal/. When given tarball is accepted for releasing it is pushed to repo.isc.org using Jenkins job: https://jenkins.isc.org/job/kea-release-upload-internal/
## Pre-Release Preparation
Some of those checks and updates can be made before actual freeze, but it's reasonable to announce freeze now!
- [x] 1. Check Jenkins results:
* Number of unit tests and system tests failing
* Is there a change in system tests pass rate? *Notify the development team of the overall Jenkins status
* Look into tarball check report " Kea Build Checks" on last tarball build and check if there is nothing suspicious (add/removed files, etc), verify that with developers:
* Compare current release package with code in repository
* Compare current release package with previous release package
- [ ] 2. Is the distcheck passing on kea and kea+premium (https://jenkins.isc.org/job/kea-master-distcheck/)?
* Highlight any issues that require fixing.
- [x] 3. Check perflab if there is no critical errors there (https://perflab.isc.org/)
- [x] 4. Make sure that there is no pending ticket to merge! (Use GitLab https://gitlab.isc.org/isc-projects/kea/merge_requests and https://gitlab.isc.org/isc-private/kea-premium/merge_requests or contact the development team).
- [x] 5. Check the Known Issues list, is there something that suppose to be fixed before release and was omitted?
- [x] 6. Check versioning:
* Ask the development team if the library versions are being updated (there is a step to check it later).
* Ask the development team if the HOOKS_VERSION is being updated.
- [x] 7. Create Release Notes on Kea GitLab wiki using standard template, update all dates and versions. This wiki page should created under "release notes" folder, like this one: release-notes-1.5-final
- [x] 8. Check if there is a Release Checklist ready. If not, create new one using this template (page could have been created, check Releases section at the bottom of this page)
The following steps may involve changing files in the repository. If any files will be updated, create a Kea ticket for them and make the changes on a separate branch.
- [x] 1. Check User's Guide sections:
* Chapter 1. Introduction
- On what platforms we are running tests using Jenkins? Update Supported Platforms
- Did we add any additional 3rd party software? Update if needed
- Is there a new tool installed in bin or sbin released this time? If yes, is it documented?
* Chapter 2. Quick Start
- Has the default installation process changed (for kea and hooks)? If yes, are those changes documented and highlighted in the release notes?
* Chapter 3. Installation
- Check installation hierarchy
- Check and update Building Requirements
- Check configure options against what ./configure -h says
- [x] 2. Check !ChangeLog entries in Kea main and premium:
* Spelling, missing numbers, trailing whatspaces? (some of that is checked in every build of tarball-internal Jenkins job)
* Update Release Notes with !ChangeLog entries
- [x] 3. Check AUTHORS, INSTALL, README files in Kea main and premium.
- [x] 4. Update information in sources about copyright dates, new version, etc. This is done manually using script https://gitlab.isc.org/isc-private/qa-dhcp/blob/master/kea/build/prepare_kea_release.sh
- [x] 5. Regenerate parsers using docs.isc.org:
* download kea repo
```
cd kea; autoreconf -fi; ./configure --with-log4cplus=/home/wlodek/log4cplus --enable-generate-parser (log4cplus in /home/wlodek should be available for everyone, if not - download your own)
export PATH=/home/fdupont/bin:$PATH
cd ~/kea/src/bin/dhcp4; touch *.yy; make parser
cd ~/kea/src/bin/dhcp6; touch *.yy; make parser
cd ~/kea/src/bin/d2; touch *.yy; make parser
cd ~/kea/src/bin/agent; touch *.yy; make parser
cd ~/kea/src/bin/netconf/; touch *.yy; make parser
cd ~/kea/src/lib/eval; touch *.yy; make parser
```
TODO: we should regenerate all of them or just the one that been modified?
If changes were made, commit the change, push the branch to the main repository and request a review. Once the changes have been approved, merge the branch to master.
## Build selection and upload package
That is the last moment to freeze code!
- [ ] 1. Update release version in configure.ac and remove -git suffix, and commit the change on master. From that moment all tarball builds can be officially released.
- [x] 2. Go to tarball-internal Jenkins job and pick last tarball build - it will be a release candidate.
- [x] 3. Tarball checks before requesting sanity checks from dev team
* Download tarballs from picked jenkins build
Untar packages:
* Check sizes - is new package reasonable?
* Check installation tree, compare it with previous release
* Check installed lib versions
* which were updated? (save results)
* any of the lib from current release has lower number then corresponding lib from previous release? (!)
* Uninstall Kea, check what left (there should be just configuration files)
* Check if all of installed binaries has man page
* if not, is it in the tarball?
* are man page up-to-date?
* Check if documentation is properly formatted, has correct versions and dates.
* it's advised to search for previous version numbers, some of them are statically added in statements that are no longer valid
- [x] 4. If all seems to be ok then upload tarballs to repo.isc.org
* Go to release-upload Jenkins job
* Click "Build with Parameters"
* In field "Tarball" select picked tarball build
* In field "Release_Candidate" pick:
* rc1 if this is the first selected build for release, it will push selected tarballs to repo.isc.org, to folder suffixed with indicated rc#
* next rc# if this is a respin after some fixes (note: it is not possible to pick previous rc number - it will result in error)
* final if the last rc number was ok, this will push selected tarbal to repo.isc.org, to folder with no suffixes
- [x] 5. If none of the results force you to fix and rebuild package, send sanity check request by an email to dhcp-team@isc.org and qa@isc.org with indicating paths with tarballs on repo.isc.org asking for sanity checks
## Sanity checks proposals:
- [ ] 1. Check documentation:
* users guide:
- dates, versions, installation instructions both for kea and premium, formatting
- if you have time - read as much as you can.
* man pages:
- dates, versions, is it up-to-date? or usage changed between releases?
- does every binary has it's own .8 page?
- [ ] 2. Check tarball content:
* compare tarball against repo (does some of the not included files should actually be included?)
* does premium tarballs include correct hooks? (any missing files?)
- [ ] 3. compile:
* configure warnings?
* build warnings?
- [ ] 4. run unit tests with various db backends, install (check tree), uninstall (check tree)
- [ ] 5. Check example configurations
- [ ] 6. Check release notes (not included in tarball)
- [ ] 7. Check AUTHORS, INSTALL, COPYING, README files
- [ ] 8. Check db update scripts:
* tarball inlcude the last one? (compare with repo)
## Releasing tarballs:
- [ ] 1. Write an email to signers@isc.org requesting signatures of final tarballs on repo.isc.org indicating release folders. - Attach SHA256 checksums from tarball-internal logs.
- [ ] 2. Make release branch (e.g. v1_5_0 one branch for beta and final, with tags for both releases)
- [ ] 3. Upload Release Notes to repo.isc.org
- [ ] 4. When release packages are signed then upload them from repo.isc.org to ftp:
* make-available --public --symlink=cur /data/shared/sweng/kea/releases/1.4.0-beta
* make-available --private /data/shared/sweng/kea/releases/premium-1.4.0-beta/
* make-available --private /data/shared/sweng/kea/releases/subscription-1.4.0-beta/
- [ ] 5. Contact support or marketing to upload packages to www.isc.org/downloads
- [ ] 6. Contact marketing to upload premium packages to 'products' in web store
- [ ] 7. Contact support to deliver premium and subscriber-only hooks to Kea support subscribers
- [ ] 8. For final release - Release Notes should contain changlogs since previous stable release (beta +final)
- [ ] 9. Modify Release Notes to Announcement
- fold -sw 73 Kea140betaReleaseNotes.txt > Announcement
- change header
- change ftp links to ww.isc.org/downloads
- send it to yourself to check if it's ok
- [ ] 10. Prepare article on kb.isc.org
- change editing mode to HTML, copy release notes between <pre></pre>
- ask support to publish this document
- [ ] 11. Send announcements on:
* kea-users@lists.isc.org
* kea-announce@lists.isc.org
* dhcp-announce@lists.isc.org
- [ ] 12. Notify marketing to announce via social media, publish any blog post that is planned
* publish any blog post that is planned
* Update kea.isc.org
* Update Wikipedia page release info
* Add new hooks to downloadable products (if applies)
* Update subscription data sheet with any new hook (if applies)
* Inform sales about what the release may mean to them
- [ ] 13. Check KnownIssues list on kea.isc.org https://kea.isc.org/wiki/KeaKnownIssues
- ssh kea.isc.org /var/www/kea-docs
- [ ] 14. update page: https://wiki.isc.org/bin/view/Main/KeaReleaseDates
- [ ] 15. update page: https://wiki.isc.org/bin/view/Main/EngineeringReleaseSchedulekea1.7.2Wlodzimierz WencelWlodzimierz Wencelhttps://gitlab.isc.org/isc-projects/kea/-/issues/1031lib bump up for kea 1.7.22019-11-26T11:20:54ZWlodzimierz Wencellib bump up for kea 1.7.2kea1.7.2https://gitlab.isc.org/isc-projects/bind9/-/issues/1401Intermittent failures in the catz system test2019-12-11T09:27:55ZOndřej SurýIntermittent failures in the catz system testDecember 2019 (9.11.14, 9.14.9, 9.15.7)