[5707] in SIPB bug reports

home help back first fref pref prev next nref lref last post

websterd core dump in greek

daemon@ATHENA.MIT.EDU (mhpower@MIT.EDU)
Sun Dec 17 00:35:12 1995

From: mhpower@MIT.EDU
To: bug-sipb@MIT.EDU
Cc: charon-maintainers@MIT.EDU
Date: Sun, 17 Dec 95 00:34:40 EST

charon% dbx /var/local/webster/websterd \
/var/local/coredumps/from_root/core.websterd.13dec95
...
Corefile produced from file "websterd"
Child died at pc 0x403d40 of signal : Segmentation fault
...
(dbx) where
>  0 greek(0x7fc, 0x7fff6168, 0x4032b4, 0x1000df30, 0x403134)
     ["printdef.c":1084, 0x403d3c]
   1 overstrike(0x0, 0x0, 0x0, 0x0, 0x1) ["printdef.c":781, 0x403364]
   2 dumpoutput(0x10000980, 0x0, 0x0, 0x7fff902f, 0x2)
     ["printdef.c":705, 0x403130]
   3 printdef.printdef(0x0, 0x7fff8c30, 0x100006cc, 0x1001a100, 0x7fffbcec)
     ["printdef.c":203, 0x401e64]
   4 define(0x7fff946c, 0x0, 0x40a034, 0x0, 0x404724)
     ["functions.c":239, 0x400538]
   5 dispatch(0x7fff946c, 0xff, 0x0, 0x0, 0x40513c) ["rpcd.c":139, 0x40476c]
   6 rpcd.webster(0x0, 0x0, 0x0, 0x1001a100, 0x4091d8)
     ["rpcd.c":118, 0x404720]
   7 universal(0x1001a100, 0x0, 0x0, 0x0, 0x7fffbd78)
     ["../../lib/svc_simple.c":134, 0x405138]
   8 svc_getreqset(0x0, 0x0, 0x0, 0x0, 0x0) ["../svc.c":480, 0x4091d4]
   9 svc_run(0x1, 0x1, 0x4046d4, 0x405920, 0x405920) ["../svc.c":561, 0x4093a4]
  10 rpcd.main(0x7fffbfb4, 0x0, 0x0, 0x0, 0x0) ["rpcd.c":97, 0x4046c0]
(dbx) q

I think this patch might be adequate to fix this instance of dumping
core, although there's probably a deeper reason that it's trying to
"fake greek characters" in some inappropriate situation.

Matt

*** printdef.c.old	Thu Nov 28 00:13:04 1991
--- printdef.c	Sun Dec 17 00:22:30 1995
***************
*** 919,931 ****
   * greek - fake greek characters.
   */
  char *
  greek(s)
  register char	*s;
  {
! 	register char *t = NULL;
  
  	switch (*++s) {
  	case '/':
  		switch (*++s) {
  		case 'a':
  			t = "<alpha>";
--- 919,931 ----
   * greek - fake greek characters.
   */
  char *
  greek(s)
  register char	*s;
  {
! 	register char *t = "";
  
  	switch (*++s) {
  	case '/':
  		switch (*++s) {
  		case 'a':
  			t = "<alpha>";

home help back first fref pref prev next nref lref last post