pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/54171: net/bind914 rndc hangs
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:
>
> The following reply was made to PR pkg/54171; it has been noted by GNATS.
>
> From: Thomas Klausner <wiz%NetBSD.org@localhost>
> To: NetBSD bugtracking <gnats-bugs%NetBSD.org@localhost>
> 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
>
Home |
Main Index |
Thread Index |
Old Index