pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/54171: net/bind914 rndc hangs



The following reply was made to PR pkg/54171; it has been noted by GNATS.

From: Christos Zoulas <christos%zoulas.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: pkg-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, pkgsrc-bugs%netbsd.org@localhost,
 john%ziaspace.com@localhost
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@localhost> wrote:
 >=20
 > The following reply was made to PR pkg/54171; it has been noted by GNATS.
 >=20
 > From: Thomas Klausner <wiz%NetBSD.org@localhost>
 > To: NetBSD bugtracking <gnats-bugs%NetBSD.org@localhost>
 > 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
 


Home | Main Index | Thread Index | Old Index