client.c Assertion Failure
Ken Schweigert
shawing at gmail.com
Thu Aug 24 14:09:31 UTC 2006
On 23 Aug 2006 14:02:35 -0700, smallpond <smallpond at juno.com> wrote:
> Ken Schweigert wrote:
> > For the past two nights one of the bind servers that I manage has
> > crashed and throws this error in syslog:
> >
> > Aug 23 01:52:28 servr named[3384]: client.c:1143: REQUIRE((((client)
> > != ((void *)0)) && (((const isc__magic_t *)(client))->magic == ((('N')
> > << 24 | ('S') << 16 | ('C') << 8 | ('c')))))) failed
> > Aug 23 01:52:28 servr named[3384]: exiting (due to assertion failure)
> >
> > The box is running Debian Sarge (3.1) on x86 with Bind 9.3.2 running
> > in a chroot jail. The box has been running beautifully since April
> > this year.
> >
> > Here is a snippet of client.c at/around line 1143:
> >
> > 1119 /*
> > 1120 * Handle an incoming request event from the socket (UDP case)
> > 1121 * or tcpmsg (TCP case).
> > 1122 */
> > 1123 static void
> > 1124 client_request(isc_task_t *task, isc_event_t *event) {
> > 1125 ns_client_t *client;
> > 1126 isc_socketevent_t *sevent;
> > 1127 isc_result_t result;
> > 1128 isc_result_t sigresult = ISC_R_SUCCESS;
> > 1129 isc_buffer_t *buffer;
> > 1130 isc_buffer_t tbuffer;
> > 1131 dns_view_t *view;
> > 1132 dns_rdataset_t *opt;
> > 1133 isc_boolean_t ra; /* Recursion available. */
> > 1134 isc_netaddr_t netaddr;
> > 1135 isc_netaddr_t destaddr;
> > 1136 int match;
> > 1137 dns_messageid_t id;
> > 1138 unsigned int flags;
> > 1139 isc_boolean_t notimp;
> > 1140
> > 1141 REQUIRE(event != NULL);
> > 1142 client = event->ev_arg;
> > 1143 REQUIRE(NS_CLIENT_VALID(client));
> > 1144 REQUIRE(task == client->task);
> >
> > If I had to guess, my guess would be that the client querying the
> > server is not valid? Hardly seems a reason to stop the server. Or
> > maybe somebody is trying something not nice and Bind is stopping as a
> > safety measure.
> >
> > I also looked around and could not find any core dump files.
> >
> > I'm unable to tell anyone how to reproduce the error, but it did
> > happen near 2:00am both nights so I assume it will happen again
> > tonight.
> >
> > Is there anything I can do to get more details about what is
> > happening? Some info I can gather that will help someone help me to
> > get this sorted out?
> >
> > Thanks.
> >
> > -ken
>
>
> client_request is being called with a bad argument. Does your
> log have a stack trace showing what called client_request?
>
> You can turn on additional logging with the rndc trace command.
>
Thank you. I just issued 'rndc trace' so hopefully we'll have a stack
trace soon.
The server made it through the evening without a crash, but I'll be
watching it closely.
-ken
More information about the bind-users
mailing list