Ticket #59 (closed defect: fixed)
precursor suddenly exits without any notice
| Reported by: | wolfram@… | Owned by: | ahu |
|---|---|---|---|
| Priority: | normal | Milestone: | milestone1 |
| Component: | component1 | Version: | 2.0 |
| Severity: | critical | Keywords: | |
| Cc: |
Description
Hi,
I tried using pdns + precursor in a production scenario (~1000 queries per minute of which 25% are recursions).
precursor was configured like this: --8<-- local-address=127.0.0.1 local-port=5353 --8<--
pdns this way: --8<-- recursor=127.0.0.1:5353 lazy-recursion=yes --8<--
When trying that out by hand (using dig), everything was fine for a longer period (like an hour), but almost right after I switched to the above mentioned scenario, precursor died (did not last longer than 2 minutes IIRC). Stracing the precursor process wasn't that much enlightening. Here are the last few lines: --8<-- [...] 15:46:36.921803 sigprocmask(SIG_SETMASK, [], []) = 0 15:46:36.927263 gettimeofday({1138200396, 927546}, NULL) = 0 15:46:36.927717 gettimeofday({1138200396, 927884}, NULL) = 0 15:46:36.928982 gettimeofday({1138200396, 929356}, NULL) = 0 15:46:36.929525 sendto(4, "\343\315\0\0\0\1\0\0\0\0\0\0\rsysdesign-edv\3com\0\0"..., 35, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("194.128.171.101")}, 16) = 35 15:46:36.930067 time(NULL) = 1138200396 15:46:36.930256 sigprocmask(SIG_SETMASK, [], []) = 0 15:46:36.930653 time(NULL) = 1138200396 15:46:36.930891 select(7, [4 5 6], [], NULL, {0, 500000}) = 1 (in [4], left {0, 484000}) 15:46:36.948181 recvfrom(4, "\343\315\204\0\0\1\0\1\0\2\0\1\rsysdesign-edv\3com\0\0"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("194.128.171.101")}, [16]) = 121 15:46:36.948997 sigprocmask(SIG_SETMASK, [], []) = 0 15:46:36.949348 gettimeofday({1138200396, 949567}, NULL) = 0 15:46:36.949715 gettimeofday({1138200396, 949877}, NULL) = 0 15:46:36.950629 sendto(5, "\332\37\201\200\0\1\0\1\0\0\0\0\rsysdesign-edv\3com\0\0"..., 68, 0, {sa_family=AF_INET, sin_port=htons(16133), sin_addr=inet_addr("127.0.0.1")}, 16) = 68 15:46:36.951245 time([1138200396]) = 1138200396 15:46:36.951776 sigprocmask(SIG_SETMASK, [], NULL) = 0 15:46:36.952017 time(NULL) = 1138200396 15:46:36.952197 select(7, [4 5 6], [], NULL, {0, 500000}) = 1 (in [4], left {0, 500000}) 15:46:36.952408 recvfrom(4, "\252$\200\0\0\1\0\1\0\3\0\3\3ns1\2de\4colt\3net\0\0\1\0"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.26.92.30")}, [16]) = 151 15:46:36.952880 sigprocmask(SIG_SETMASK, [], []) = 0 15:46:36.953078 gettimeofday({1138200396, 953167}, NULL) = 0 15:46:36.953235 gettimeofday({1138200396, 953322}, NULL) = 0 15:46:36.954154 gettimeofday({1138200396, 954900}, NULL) = 0 15:46:36.959070 sendto(4, "\241v\0\0\0\1\0\0\0\0\0\0\vfinanztreff\2de\0\0\1\0\1", 32, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("212.121.128.2")}, 16) = 3215:46:36.959760 time(NULL) = 1138200396 15:46:36.960163 sigprocmask(SIG_SETMASK, [], []) = 0 15:46:36.960840 time(NULL) = 1138200396 15:46:36.961693 select(7, [4 5 6], [], NULL, {0, 500000}) = 1 (in [4], left {0, 500000}) 15:46:36.962125 recvfrom(4, ",\343\204\0\0\1\0\1\0\7\0\7\2m3\5nstld\3com\0\0\1\0\1\300"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.42.93.31")}, [16]) = 277 15:46:36.962541 sigprocmask(SIG_SETMASK, [], []) = 0 15:46:36.962773 gettimeofday({1138200396, 963142}, NULL) = 0 15:46:36.963244 gettimeofday({1138200396, 963384}, NULL) = 0 15:46:36.965382 gettimeofday({1138200396, 965555}, NULL) = 0 15:46:36.965723 sendto(4, "\342\225\0\0\0\1\0\0\0\0\0\0\5henna\4arin\3net\0\0\1\0"..., 32, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.55.83.32")}, 16) = 32 15:46:36.972055 time(NULL) = 1138200396 15:46:36.972388 sigprocmask(SIG_SETMASK, [], []) = 0 15:46:36.972739 time(NULL) = 1138200396 15:46:36.973153 select(7, [4 5 6], [], NULL, {0, 500000}) = 2 (in [4 5], left {0, 500000}) 15:46:36.973719 recvfrom(4, "\241v\204\0\0\1\0\1\0\3\0\3\vfinanztreff\2de\0\0\1\0\1"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("212.121.128.2")}, [16]) = 161 15:46:36.980811 sigprocmask(SIG_SETMASK, [], []) = 0 15:46:36.981264 gettimeofday({1138200396, 981441}, NULL) = 0 15:46:36.981593 gettimeofday({1138200396, 981756}, NULL) = 0 15:46:36.982556 sendto(5, "\333\37\201\200\0\1\0\1\0\0\0\0\vfinanztreff\2de\0\0\1"..., 62, 0, {sa_family=AF_INET, sin_port=htons(16133), sin_addr=inet_addr("127.0.0.1")}, 16) = 62 15:46:36.987799 time([1138200396]) = 1138200396 15:46:36.988190 sigprocmask(SIG_SETMASK, [], NULL) = 0 15:46:36.988547 recvfrom(5, "\304\37\1\0\0\1\0\0\0\0\0\0\6LOOPUP\4DNIP\3NET\0\0\1\0"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(16133), sin_addr=inet_addr("127.0.0.1")}, [16]) = 34 15:46:36.989672 time([1138200396]) = 1138200396 15:46:36.991503 exit_group(1) = ? Process 31959 detached --8<--
Using BIND9 as the recursion backend works fine so far, but that's not really what I want ;)
Any ideas what might have caused the exit?
I also tried making precursor somewhat more verbose about what's happening... --8<-- quiet=off trace=on --8<-- ...but it didn't log *anything* to syslog :-(
Please let me know if I should provide both configuration files or anything else.