Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 08 Oct 2023 12:57:05 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 274352] unbound stop working - infinite loop in comm_point_send_udp_msg()
Message-ID:  <bug-274352-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D274352

            Bug ID: 274352
           Summary: unbound stop working - infinite loop in
                    comm_point_send_udp_msg()
           Product: Base System
           Version: 13.2-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: jc@michot.fr

rgw:/etc/unbound # freebsd-version -uk
13.2-RELEASE
13.2-RELEASE

rgw:/etc/unbound # /usr/sbin/local-unbound -V
Version 1.17.1

Configure line: --with-ssl=3D/usr --with-libexpat=3D/usr --disable-dnscrypt
--disable-dnstap --enable-ecdsa --disable-event-api --enable-gost
--with-libevent --disable-subnet --disable-tfo-client --disable-tfo-server
--with-pthreads--prefix=3D/usr --localstatedir=3D/var/unbound
--mandir=3D/usr/share/man --build=3Dfreebsd
Linked libs: mini-event internal (it uses select), OpenSSL 1.1.1t-freebsd  7
Feb 2023
Linked modules: dns64 respip validator iterator

BSD licensed, see LICENSE in source package for details.
Report bugs to unbound-bugs@nlnetlabs.nl or
https://github.com/NLnetLabs/unbound/issues

ktrace of unbound running process show loop:

  1005 local-unbound CALL  sendto(0x9,0x2562128aa400,0x2d,0,0,0)
  1005 local-unbound RET   sendto -1 errno 55 No buffer space available
  1005 local-unbound CALL  poll(0x25620a5796a8,0x1,0xc8)
  1005 local-unbound RET   poll 1
  1005 local-unbound CALL  sendto(0x9,0x2562128aa400,0x2d,0,0,0)
  1005 local-unbound RET   sendto -1 errno 55 No buffer space available
  1005 local-unbound CALL  poll(0x25620a5796a8,0x1,0xc8)
  1005 local-unbound RET   poll 1
  1005 local-unbound CALL  sendto(0x9,0x2562128aa400,0x2d,0,0,0)
  1005 local-unbound RET   sendto -1 errno 55 No buffer space available
  1005 local-unbound CALL  poll(0x25620a5796a8,0x1,0xc8)
  1005 local-unbound RET   poll 1
  1005 local-unbound CALL  sendto(0x9,0x2562128aa400,0x2d,0,0,0)
  1005 local-unbound RET   sendto -1 errno 55 No buffer space available
  1005 local-unbound CALL  poll(0x25620a5796a8,0x1,0xc8)
  1005 local-unbound RET   poll 1
  1005 local-unbound CALL  sendto(0x9,0x2562128aa400,0x2d,0,0,0)
  1005 local-unbound RET   sendto -1 errno 55 No buffer space available
  1005 local-unbound CALL  poll(0x25620a5796a8,0x1,0xc8)
  1005 local-unbound RET   poll 1
  1005 local-unbound CALL  sendto(0x9,0x2562128aa400,0x2d,0,0,0)
  1005 local-unbound RET   sendto -1 errno 55 No buffer space available
  1005 local-unbound CALL  poll(0x25620a5796a8,0x1,0xc8)
  1005 local-unbound RET   poll 1
  1005 local-unbound CALL  sendto(0x9,0x2562128aa400,0x2d,0,0,0)
  1005 local-unbound RET   sendto -1 errno 55 No buffer space available
  1005 local-unbound CALL  poll(0x25620a5796a8,0x1,0xc8)
  1005 local-unbound RET   poll 1
  1005 local-unbound CALL  sendto(0x9,0x2562128aa400,0x2d,0,0,0)
  1005 local-unbound RET   sendto -1 errno 55 No buffer space available
  1005 local-unbound CALL  poll(0x25620a5796a8,0x1,0xc8)
  1005 local-unbound RET   poll 1
.../...

I think it's an infinite loop inside netevent.c / comm_point_send_udp_msg()

while(sent =3D=3D -1 && ( .../...

variable "pret" never get 0 and we are locked in loop using 100% of CPU,
of course in this case unbound is unable to resolve request or reply
to command local-unbound-control

JC

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-274352-227>