On 12.9.2014 14:45, Martin Basti wrote:
On 11/09/14 21:58, Petr Spacek wrote:
On 11.9.2014 18:34, Martin Basti wrote:
On 11/09/14 15:57, Martin Basti wrote:
On 11/09/14 11:59, Petr Spacek wrote:
Hello,

I was fighting with random crashes for couple of days ... and discovered
that run_exclusive_enter()/isc_task_beginexclusive() usage was completely
incorrect and didn't actually lock anything.

This series of patches reworks internal locking (and related event system)
to work around limitations of isc_task_beginexclusive() mechanism.

It would be better to get rid of isc_task_beginexclusive() completely but
IMHO it is not possible because of BIND's dns_view*() functions have to be
guarded with it.


Testing is going to be interesting because we are speaking about race
conditions.

I used ~ 100 DNS zones, each zone had ~ 100 random domain names inside with
random A/AAAA/TXT RRs. My LDIF is here:
http://people.redhat.com/~pspacek/a/2014/09/11/dns-test.ldif.xz

I was able to randomly reproduce various crashes when BIND was running with
more threads than usually.

You can try to run BIND with this command (as root) and play games with -n
parameter:
$ export KRB5_KTNAME="/etc/named.keytab"
$ named -4 -g -u named -m record -n 10

Please test also the case where BIND receives SIGINT during start-up. It is
possible to run BIND with commands above and wait for message:
11-Sep-2014 11:54:58.092 running

At this point send SIGINT (CTRL+C) to BIND and see what happens. It could
crash or deadlock.

It is necessary to send the signal before BIND prints this message:
11-Sep-2014 11:55:11.707 zone z1.test/IN: loaded serial 1410429304

Let me know if you need any assistance.

I need your assistance, I haven't been able to reproduce it.

Martin

...

Functional ACK

Pushed to master:
1d23e27e0198cacdbbb14ac13ff039c33546d9af
09386eb446ac8d9c12110d21f2d4da36c1b792bf
e7d8f6f175eae795c603eee00d06d5799b2d6c39
17a29e20406ad9db0b28fcb6ec4b02394385fe53

--
Petr^2 Spacek

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to