NetBSD Problem Report #54171
From john@athena.zia.io Tue May 7 05:02:46 2019
Return-Path: <john@athena.zia.io>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 8CA947A1AE
for <gnats-bugs@gnats.NetBSD.org>; Tue, 7 May 2019 05:02:46 +0000 (UTC)
Message-Id: <201905070438.x474cUBG010561@athena.zia.io>
Date: Tue, 7 May 2019 04:38:30 GMT
From: john@ziaspace.com
Reply-To: john@ziaspace.com
To: gnats-bugs@NetBSD.org
Subject: net/bind914 rndc hangs
X-Send-Pr-Version: 3.95
>Number: 54171
>Category: pkg
>Synopsis: net/bind914 rndc hangs
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: cjep
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue May 07 05:05:00 +0000 2019
>Closed-Date: Wed Feb 10 23:20:45 +0000 2021
>Last-Modified: Wed Feb 10 23:20:45 +0000 2021
>Originator: John Klos
>Release: NetBSD 8.0_STABLE
>Organization:
>Environment:
System: NetBSD athena.zia.io 8.0_STABLE NetBSD 8.0_STABLE (ATHENA-$Revision: 8.0k $) #0: Tue Apr 30 07:53:13 UTC 2019 john@athena.zia.io:/usr/obj-alpha/sys/arch/alpha/compile/ATHENA alpha
Architecture: alpha
Machine: alpha
>Description:
A new, out of the box configuration of net/bind914 on NetBSD hangs on any
attempt to run rndc. Running with -V stops at:
athena# /usr/local/sbin/rndc -V -k /etc/rndc.key status
create memory context
create socket manager
create task manager
create task
create logging context
setting log tag
creating log channel
enabling log channel
create parser
get key
decode base64 secret
allocate data buffer
status
post event
using server 127.0.0.1 (127.0.0.1#953)
create socket
bind socket
connect
create message
render message
schedule recv
send message
Then hangs; control-t shows:
load: 2.20 cmd: rndc 20904 [parked kqueue sigwait] 0.02u 0.02s 0% 5504k
This is with an old rndc.key and with a newly created one.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
From: Thomas Klausner <wiz@NetBSD.org>
To: NetBSD bugtracking <gnats-bugs@NetBSD.org>
Cc:
Subject: Re: pkg/54171: net/bind914 rndc hangs
Date: Thu, 9 May 2019 11:46:06 +0200
I wonder - does bind from NetBSD-current work on alpha?
If so, we could look for fixes that are in the NetBSD tree.
If not, you can report another bug for the base system ;)
In general, I think this and the other bind (911/912) bug report would
better be filed upstream.
Thomas
From: John Klos <john@ziaspace.com>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/54171: net/bind914 rndc hangs
Date: Thu, 9 May 2019 22:33:53 +0000 (UTC)
> I wonder - does bind from NetBSD-current work on alpha?
> If so, we could look for fixes that are in the NetBSD tree.
> If not, you can report another bug for the base system ;)
>
> In general, I think this and the other bind (911/912) bug report would
> better be filed upstream.
bind from base works fine on all architectures. I've had to revert to bind
from base on my ARM machines because no pkgsrc bind works there. I'm using
bind from base on a few amd64 systems, too.
It seems that zone transfers from systems running bind914 hang, too.
John
From: Thomas Klausner <wiz@NetBSD.org>
To: NetBSD bugtracking <gnats-bugs@NetBSD.org>
Cc:
Subject: Re: pkg/54171: net/bind914 rndc hangs
Date: Fri, 10 May 2019 01:06:10 +0200
On Thu, May 09, 2019 at 10:35:01PM +0000, John Klos wrote:
> bind from base works fine on all architectures. I've had to revert to bind
> from base on my ARM machines because no pkgsrc bind works there. I'm using
> bind from base on a few amd64 systems, too.
I looked at
cd /usr/src/external/mpl/bind/dist
cvs di -rbind-9-14-1 -kk | less
for a bit. Most of the changes are linting/casting changes, or
fdwatch/blacklistd support.
I found two that looked like they might have something todo with your
issue.
Index: lib/isc/rwlock.c
===================================================================
RCS file: /cvsroot/src/external/mpl/bind/dist/lib/isc/rwlock.c,v
retrieving revision 1.1.1.3
retrieving revision 1.6
diff -u -r1.1.1.3 -r1.6
--- lib/isc/rwlock.c 24 Feb 2019 18:56:47 -0000 1.1.1.3
+++ lib/isc/rwlock.c 24 Feb 2019 20:01:31 -0000 1.6
@@ -46,6 +46,9 @@
#define RWLOCK_MAX_ADAPTIVE_COUNT 100
#endif
+#ifdef __lint__
+# define isc_rwlock_pause()
+#else
#if defined(_MSC_VER)
# include <intrin.h>
# define isc_rwlock_pause() YieldProcessor()
@@ -56,11 +59,12 @@
# define isc_rwlock_pause() __asm__ __volatile__ ("rep; nop")
#elif defined(__ia64__)
# define isc_rwlock_pause() __asm__ __volatile__ ("hint @pause")
-#elif defined(__arm__)
+#elif defined(__arm__) && defined(_ARM_ARCH_6)
# define isc_rwlock_pause() __asm__ __volatile__ ("yield")
#elif defined(sun) && (defined(__sparc) || defined(__sparc__))
# define isc_rwlock_pause() smt_pause()
-#elif defined(__sparc) || defined(__sparc__)
+// Disable pause, only works on v9
+#elif (defined(__sparc) || defined(__sparc__)) && defined(notdef)
# define isc_rwlock_pause() __asm__ __volatile__ ("pause")
#elif defined(__ppc__) || defined(_ARCH_PPC) || \
defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_POWER)
@@ -68,6 +72,7 @@
#else
# define isc_rwlock_pause()
#endif
+#endif
static isc_result_t
isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type);
Index: lib/isc/stats.c
===================================================================
RCS file: /cvsroot/src/external/mpl/bind/dist/lib/isc/stats.c,v
retrieving revision 1.1.1.2
retrieving revision 1.4
diff -u -r1.1.1.2 -r1.4
--- lib/isc/stats.c 9 Jan 2019 16:48:19 -0000 1.1.1.2
+++ lib/isc/stats.c 9 Jan 2019 20:39:28 -0000 1.4
@@ -32,7 +32,11 @@
#define ISC_STATS_MAGIC ISC_MAGIC('S', 't', 'a', 't')
#define ISC_STATS_VALID(x) ISC_MAGIC_VALID(x, ISC_STATS_MAGIC)
+#ifndef _LP64
+typedef atomic_int_fast32_t isc_stat_t;
+#else
typedef atomic_int_fast64_t isc_stat_t;
+#endif
struct isc_stats {
/*% Unlocked */
Could you please try patches like those above in the pkgsrc version
and see if they improve the situation?
If not, please read the cvs diff yourself, perhaps you find more stuff.
Thanks,
Thomas
From: Christos Zoulas <christos@zoulas.com>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
john@ziaspace.com
Subject: Re: pkg/54171: net/bind914 rndc hangs
Date: Thu, 9 May 2019 20:42:53 -0400
I think perhaps there are changes in config.h too.
christos
> On May 9, 2019, at 7:10 PM, Thomas Klausner <wiz@netbsd.org> wrote:
>=20
> The following reply was made to PR pkg/54171; it has been noted by GNATS.
>=20
> From: Thomas Klausner <wiz@NetBSD.org>
> To: NetBSD bugtracking <gnats-bugs@NetBSD.org>
> Cc:=20
> Subject: Re: pkg/54171: net/bind914 rndc hangs
> Date: Fri, 10 May 2019 01:06:10 +0200
>=20
>> On Thu, May 09, 2019 at 10:35:01PM +0000, John Klos wrote:
>> bind from base works fine on all architectures. I've had to revert to bin=
d=20
>> from base on my ARM machines because no pkgsrc bind works there. I'm usin=
g=20
>> bind from base on a few amd64 systems, too.
>=20
> I looked at
>=20
> cd /usr/src/external/mpl/bind/dist
> cvs di -rbind-9-14-1 -kk | less
>=20
> for a bit. Most of the changes are linting/casting changes, or
> fdwatch/blacklistd support.
>=20
> I found two that looked like they might have something todo with your
> issue.
>=20
> Index: lib/isc/rwlock.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /cvsroot/src/external/mpl/bind/dist/lib/isc/rwlock.c,v
> retrieving revision 1.1.1.3
> retrieving revision 1.6
> diff -u -r1.1.1.3 -r1.6
> --- lib/isc/rwlock.c 24 Feb 2019 18:56:47 -0000 1.1.1.3
> +++ lib/isc/rwlock.c 24 Feb 2019 20:01:31 -0000 1.6
> @@ -46,6 +46,9 @@
> #define RWLOCK_MAX_ADAPTIVE_COUNT 100
> #endif
>=20
> +#ifdef __lint__
> +# define isc_rwlock_pause()
> +#else
> #if defined(_MSC_VER)
> # include <intrin.h>
> # define isc_rwlock_pause() YieldProcessor()
> @@ -56,11 +59,12 @@
> # define isc_rwlock_pause() __asm__ __volatile__ ("rep; nop")
> #elif defined(__ia64__)
> # define isc_rwlock_pause() __asm__ __volatile__ ("hint @pause")
> -#elif defined(__arm__)
> +#elif defined(__arm__) && defined(_ARM_ARCH_6)
> # define isc_rwlock_pause() __asm__ __volatile__ ("yield")
> #elif defined(sun) && (defined(__sparc) || defined(__sparc__))
> # define isc_rwlock_pause() smt_pause()
> -#elif defined(__sparc) || defined(__sparc__)
> +// Disable pause, only works on v9
> +#elif (defined(__sparc) || defined(__sparc__)) && defined(notdef)
> # define isc_rwlock_pause() __asm__ __volatile__ ("pause")
> #elif defined(__ppc__) || defined(_ARCH_PPC) || \
> defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_POWER)
> @@ -68,6 +72,7 @@
> #else
> # define isc_rwlock_pause()
> #endif
> +#endif
>=20
> static isc_result_t
> isc__rwlock_lock(isc_rwlock_t *rwl, isc_rwlocktype_t type);
> Index: lib/isc/stats.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /cvsroot/src/external/mpl/bind/dist/lib/isc/stats.c,v
> retrieving revision 1.1.1.2
> retrieving revision 1.4
> diff -u -r1.1.1.2 -r1.4
> --- lib/isc/stats.c 9 Jan 2019 16:48:19 -0000 1.1.1.2
> +++ lib/isc/stats.c 9 Jan 2019 20:39:28 -0000 1.4
> @@ -32,7 +32,11 @@
> #define ISC_STATS_MAGIC ISC_MAGIC('S', 't', 'a', '=
t')
> #define ISC_STATS_VALID(x) ISC_MAGIC_VALID(x, ISC_STATS_MAGIC=
)
>=20
> +#ifndef _LP64
> +typedef atomic_int_fast32_t isc_stat_t;
> +#else
> typedef atomic_int_fast64_t isc_stat_t;
> +#endif
>=20
> struct isc_stats {
> /*% Unlocked */
>=20
> Could you please try patches like those above in the pkgsrc version
> and see if they improve the situation?
>=20
> If not, please read the cvs diff yourself, perhaps you find more stuff.
>=20
> Thanks,
> Thomas
>=20
State-Changed-From-To: open->feedback
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Sat, 13 Jul 2019 15:29:36 +0000
State-Changed-Why:
Could you try the packages posted, please?
Responsible-Changed-From-To: pkg-manager->cjep
Responsible-Changed-By: cjep@NetBSD.org
Responsible-Changed-When: Wed, 10 Feb 2021 22:23:34 +0000
Responsible-Changed-Why:
Happy to field this. Going over old PRs. This package is no longer available
but bind916 is. Have you successfully installed this package or does it have
the same symptoms as bind914?
From: John Klos <john@ziaspace.com>
To: gnats-bugs@netbsd.org
Cc: cjep@netbsd.org, pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org,
gnats-admin@netbsd.org
Subject: Re: pkg/54171 (net/bind914 rndc hangs)
Date: Wed, 10 Feb 2021 23:18:42 +0000 (UTC)
> Happy to field this. Going over old PRs. This package is no longer available
> but bind916 is. Have you successfully installed this package or does it have
> the same symptoms as bind914?
The problem does not exist in bind916.
Thanks,
John Klos
State-Changed-From-To: feedback->closed
State-Changed-By: cjep@NetBSD.org
State-Changed-When: Wed, 10 Feb 2021 23:20:45 +0000
State-Changed-Why:
net/bind916 replaces net/bind914 and does not have the issue.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.