Skip to content

GitLab

  • Menu
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 530
    • Issues 530
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 102
    • Merge requests 102
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & 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 Projects
  • BINDBIND
  • Issues
  • #3262
Closed
Open
Created Apr 06, 2022 by Ondřej Surý@ondrejOwner

Offloaded RPZ processing needs 'shuttingdown' signal

When the database is shutdown during the threadpool processing of the RPZ, we would crash:

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f99990958f3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007f99990486a6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007f99990327d3 in __GI_abort () at abort.c:79
#4  0x0000000000415baa in assertion_failed (file=<optimized out>, line=<optimized out>, type=<optimized out>, cond=<optimized out>) at main.c:237
#5  0x00007f9999af07fa in isc_assertion_failed (file=file@entry=0x7f9999a42890 "db.c", line=line@entry=581, type=type@entry=isc_assertiontype_require, 
    cond=cond@entry=0x7f9999a49528 "nodep != ((void *)0) && *nodep != ((void *)0)") at assertions.c:49
#6  0x00007f99998f2bef in dns_db_detachnode (db=<optimized out>, nodep=nodep@entry=0x7f99739f98f0) at db.c:581
#7  0x00007f99999ca3b2 in update_nodes (rpz=rpz@entry=0x7f99928d1400, newnodes=<optimized out>) at rpz.c:1762
#8  0x00007f99999cace8 in update_rpz_cb (data=0x7f99928d1400) at rpz.c:1942
#9  0x00007f99993fce94 in uv__queue_work (w=0x7f9907839600) at /usr/src/libuv-v1.43.0/src/threadpool.c:326
#10 0x00007f99993fc61c in worker (arg=0x0) at /usr/src/libuv-v1.43.0/src/threadpool.c:122
#11 0x00007f9999093b1a in start_thread (arg=<optimized out>) at pthread_create.c:443
#12 0x00007f99991178e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Related MR with reverts:

  • !6091 (merged)
  • !6092 (merged)

Original issue:

  • #3190 (closed)

Original MRs with offloaded RPZ:

  • !5938 (merged)
  • !6072 (merged)
  • !6074 (merged)
Edited Apr 06, 2022 by Ondřej Surý
Assignee
Assign to
Time tracking