Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!cpk-news-hub1.bbnplanet.com!su-news-hub1.bbnplanet.com!news.bbnplanet.com!newsxfer3.itd.umich.edu!newsxfer.itd.umich.edu!newsrelay.iastate.edu!news.iastate.edu!john
From: john@iastate.edu (John Hascall)
Newsgroups: comp.dcom.sys.cisco,comp.unix.bsd.bsdi.misc
Subject: Re: xtacacsd and bsdi
Date: 5 Mar 1997 14:11:31 GMT
Organization: Iowa State University, Ames, Iowa USA
Lines: 67
Message-ID: <5fjuuj$117$1@news.iastate.edu>
References: <331D2E1C.BBE@dragon.net.au>
NNTP-Posting-Host: pvmon.cc.iastate.edu
Xref: euryale.cc.adfa.oz.au comp.dcom.sys.cisco:52952 comp.unix.bsd.bsdi.misc:6210
Boyd 'Meridian' Currey <boydc@dragon.net.au> wrote:
} Over the past few months, I have noticed in our system logs that
}xtacacsd dies every now and then. Origionally, I thought it was
}something coming from the modem or just a intermittent bug in the
}xtacacsd code as I couldn't reproduce the results I was getting.
}However, just recently, I have tracked down the problem to users
}providing an incorrect user name (more specifically, one that
}doesn't exist). Doing this causes xtacacsd to die under inetd with
}the following log message:
}
}Mar 4 22:51:18 inetd[115]: /usr/local/xtacacsd/bin/xtacacsd: exit
}status 0x8b
}We are running BSD O/S 2.0, and xtacacsd 2.0. Has anyone else seen
}this problem? Is there an incompatibilty with xtacacsd and bsdi?
}Surely xtacacsd shouldn't die, and should return a more useful message.
xtacacsd is dying unexpectedly with SIGSEGV.
You should be able to use:
gdb /path/to/xtacacsd /path/to/core-file
(gdb) where
to find out where. Appended below is a little program
to decode the exit status.
John
------------------------ showexit.c ------------------------------------
#include <stdio.h>
#include <sys/wait.h>
int main (
int argc,
char ** argv
) {
int rc;
int i;
for (i = 1; i < argc; ++i) {
sscanf(argv[i], "%x", &rc);
printf("return code %d => ", rc);
if (WIFSTOPPED(rc)) {
printf("Stopped by signal %d\n", WSTOPSIG(rc));
} else if (WIFSIGNALED(rc)) {
#ifdef WCOREDUMP
if (WCOREDUMP(rc)) printf("Core dumped and ");
#endif
printf("Killed by signal %d\n", WTERMSIG(rc));
} else if (WIFEXITED(rc)) {
printf("Exited with status %d\n", WEXITSTATUS(rc));
} else {
printf("Status undecipherable!\n");
}
}
return (0);
}
--------------------------- and running it --------------------------------
dsm8: {21} > make showexit
cc -O2 showexit.c -o showexit
dsm8: {22} > ./showexit 8b
return code 139 => Core dumped and Killed by signal 11
--
John Hascall, Software Engr. Shut up, be happy. The conveniences you
ISU Computation Center demanded are now mandatory. -Jello Biafra
mailto:john@iastate.edu
http://www.cc.iastate.edu/staff/systems/john/welcome.html <-- the usual crud