Hi Juhana and maintainers,

I can confirm that this (or similar) bug manifests itself on i386/amd64
platforms in the dnssec-signzone tool.  It happens only from time to time,
sometimes it happens everytime and you have to rerun signing command
several times and sometime it doesn't happen at all.  Error message is:

$ /usr/sbin/dnssec-signzone -g -d . -o obscure.cz. -e +1209600 -N
unixtime zone.db K*.private
task.c:311: REQUIRE(task->references > 0) failed.
Aborted

And arch is amd64.

Ondrej.

> This patch provides a fix for the gcc version of the code only. I do not
> know if the Tru64 cc version needs to be fixed also.
>
> The patch is for the file lib/isc/alpha/include/isc/atomic.h in the
> bind9 source package.
>
> I hope you find this useful.
>
>
> --begin patch--------
> --- atomic.h.orig       2009-01-21 21:05:09.317975272 +0200
> +++ atomic.h    2009-01-21 17:43:48.134552663 +0200
> @@ -114,12 +114,14 @@
>
>        __asm__ volatile(
>                "1:"
> +               "mb;"
>                "ldl_l %0, %1;"                 /* load old value */
>                "mov %0, %2;"                   /* copy the old value */
>                "addl %0, %3, %0;"              /* calculate new value */
>                "stl_c %0, %1;"                 /* attempt to store */
>                "beq %0, 1b;"                   /* spin if failed */
> -               : "=&r"(temp), "+m"(*p), "=r"(prev)
> +               "mb;"
> +               : "=&r"(temp), "+m"(*p), "=&r"(prev)
>                : "r"(val)
>                : "memory");
>
> @@ -132,10 +134,12 @@
>
>        __asm__ volatile(
>                "1:"
> +               "mb;"
>                "ldl_l %0, %1;"                 /* load old value */
>                "mov %2, %0;"                   /* value to store */
>                "stl_c %0, %1;"                 /* attempt to store */
>                "beq %0, 1b;"                   /* if it failed, spin */
> +               "mb;"
>                : "=&r"(temp), "+m"(*p)
>                : "r"(val)
>                : "memory");
> @@ -147,6 +151,7 @@
>
>        __asm__ volatile(
>                "1:"
> +               "mb;"
>                "ldl_l %0, %1;"                 /* load old value */
>                "mov %0, %2;"                   /* copy the old value */
>                "cmpeq %0, %3, %0;"             /* compare */
> @@ -154,8 +159,9 @@
>                "mov %4, %0;"                   /* value to store */
>                "stl_c %0, %1;"                 /* attempt to store */
>                "beq %0, 1b;"                   /* if it failed, spin */
> +               "mb;"
>                "2:"
> -               : "=&r"(temp), "+m"(*p), "=r"(prev)
> +               : "=&r"(temp), "+m"(*p), "=&r"(prev)
>                : "r"(cmpval), "r"(val)
>                : "memory");
>
>
> --end patch----------
>
>
>
> -- System Information:
> Debian Release: 5.0
>  APT prefers proposed-updates
>  APT policy: (500, 'proposed-updates'), (500, 'testing')
> Architecture: alpha
>
> Kernel: Linux 2.6.26-1-alpha-smp (SMP w/1 CPU core)
> Locale: lang=fi...@euro, lc_ctype=fi...@euro (charmap=ISO-8859-15)
> Shell: /bin/sh linked to /bin/bash
>
> Versions of packages bind9 depends on:
> ii  adduser              3.110               add and remove users and groups
> ii  bind9utils           1:9.5.0.dfsg.P2-5.1 Utilities for BIND
> ii  debconf [debconf-2.0 1.5.24              Debian configuration management 
> sy
> ii  libbind9-40          1:9.5.0.dfsg.P2-5.1 BIND9 Shared Library used by BIND
> ii  libc6.1              2.7-18              GNU C Library: Shared libraries
> ii  libcap2              2.11-2              support for getting/setting 
> POSIX.
> ii  libdb4.6             4.6.21-11           Berkeley v4.6 Database Libraries 
> [
> ii  libdns43             1:9.5.0.dfsg.P2-5.1 DNS Shared Library used by BIND
> ii  libisc44             1:9.5.0.dfsg.P2-5.1 ISC Shared Library used by BIND
> ii  libisccc40           1:9.5.0.dfsg.P2-5.1 Command Channel Library used by 
> BI
> ii  libisccfg40          1:9.5.0.dfsg.P2-5.1 Config File Handling Library used
> ii  libkrb53             1.6.dfsg.4~beta1-5  MIT Kerberos runtime libraries
> ii  libldap-2.4-2        2.4.11-1            OpenLDAP libraries
> ii  liblwres40           1:9.5.0.dfsg.P2-5.1 Lightweight Resolver Library used
> ii  libssl0.9.8          0.9.8g-15           SSL shared libraries
> ii  libxml2              2.6.32.dfsg-5       GNOME XML library
> ii  lsb-base             3.2-20              Linux Standard Base 3.2 init 
> scrip
> ii  net-tools            1.60-22             The NET-3 networking toolkit
> ii  netbase              4.34                Basic TCP/IP networking system
>
> bind9 recommends no packages.
>
> Versions of packages bind9 suggests:
> ii  bind9-doc            1:9.5.0.dfsg.P2-5.1 Documentation for BIND
> ii  dnsutils             1:9.5.0.dfsg.P2-5.1 Clients provided with BIND
> pn  resolvconf           <none>              (no description available)
> pn  ufw                  <none>              (no description available)
>
> -- debconf information:
> * bind9/different-configuration-file:
> * bind9/run-resolvconf: false
> * bind9/start-as-user: bind
>
>
>
>



-- 
Ondřej Surý <ond...@sury.org>



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to