[nsd-users] error in IPC notify server2main, Broken pipe

alf a.schlichting at lemarit.com
Tue Feb 2 09:22:50 UTC 2021


Hello,

we get this error every once in a while on one of our servers.
This failure then results in the notify sending host to not try
again. Would it not be better to use NSD_RC_DISCARD in this place
so the server can try again or am I too naive?

Beside the fact that this happening may be a bug (I have failed
so far finding the root cause), it doesn't appear to be fatal for 
nsd, however, since a notify-reply with SERVFAIL is sent, it is 
fatal for that specific domain.

Alf

static query_state_type
answer_notify(struct nsd* nsd, struct query *query)
{
	...
		if(!write_socket(s, &mode, sizeof(mode)) ||
			!write_socket(s, &sz, sizeof(sz)) ||
			!write_socket(s, buffer_begin(query->packet),
				buffer_limit(query->packet)) ||
			!write_socket(s, &acl_send, sizeof(acl_send)) ||
			!write_socket(s, &acl_xfr, sizeof(acl_xfr))) {
			log_msg(LOG_ERR, "error in IPC notify server2main, %s",
				strerror(errno));
			return query_error(query, NSD_RC_SERVFAIL);
		}
	...



More information about the nsd-users mailing list