Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • BIND BIND
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 591
    • Issues 591
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 97
    • Merge requests 97
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • BINDBIND
  • Issues
  • #3079
Closed
Open
Issue created Jan 06, 2022 by Ondřej Surý@ondrejOwner

Assertion failure on TCP read (raw TCP - rndc and stats)

The isc__nm_tcp_resumeread() could directly process the network manager netievent causing the read callback to call the isc__nm_alloc_cb() function before the previous read callback has called isc__nm_free_cb() causing an assertion failure, because the worker receive buffer would still be marked as "in use".

(gdb) bt
#0  0x00007f5481d0f93f in raise () from /lib64/libc.so.6
#1  0x00007f5481cf9c95 in abort () from /lib64/libc.so.6
#2  0x000000000041427a in assertion_failed (file=<optimized out>, line=<optimized out>, type=isc_assertiontype_insist, cond=0x7f548572b628 "!worker->recvbuf_inuse || sock->type == isc_nm_udpsocket") at main.c:236
#3  0x00007f54856fa16a in isc_assertion_failed (file=file@entry=0x7f548572b314 "netmgr/netmgr.c", line=line@entry=2225, type=type@entry=isc_assertiontype_insist, 
    cond=cond@entry=0x7f548572b628 "!worker->recvbuf_inuse || sock->type == isc_nm_udpsocket") at assertions.c:47
#4  0x00007f54856e4019 in isc__nm_alloc_cb (handle=<optimized out>, size=65536, buf=0x7f547866f170) at netmgr/netmgr.c:2225
#5  0x00007f5482e8beab in uv.read () from /lib64/libuv.so.1
#6  0x00007f5482e8cbb8 in uv.stream_io () from /lib64/libuv.so.1
#7  0x00007f5482e92888 in uv.io_poll () from /lib64/libuv.so.1
#8  0x00007f5482e82035 in uv_run () from /lib64/libuv.so.1
#9  0x00007f54856ea6af in nm_thread (worker0=0x7f54802b8d90) at netmgr/netmgr.c:689
#10 0x00007f5485720995 in isc__trampoline_run (arg=0x7f5480274760) at trampoline.c:185
#11 0x00007f54820a42de in start_thread () from /lib64/libpthread.so.0
#12 0x00007f5481dd4a63 in clone () from /lib64/libc.so.6

Version: d27d20e6 and later

Edited Jan 07, 2022 by Petr Špaček
Assignee
Assign to
Time tracking