> still exists.  On all architectures I see
> 
>  test io(shcomp) failed at 2014-02-21+13:58:17 with exit code 269 [ 99 tests 
> 269 errors ]
> 
> where `269' is not the number of the errors but a crash.

OK gdb found from a customers core dump:

  Core was generated by `/usr/bin/ksh /users/cks00/exploit/script/cks_0act.sh 
-b 1392927736'.
  Program terminated with signal 11, Segmentation fault.
  #0  sftrack (sp=0x25f40a7ca990, flag=4, data=0x5) at 
/usr/src/debug/ksh93/src/cmd/ksh93/sh/io.c:2415
  2415                                    if(item->strm == sp)
  (gdb) list
  2410                    if(pp=(struct checkpt*)shp->jmplist)
  2411                    {
  2412                            struct openlist *item;
  2413                            for(item=pp->olist; item; item=item->next)
  2414                            {
  2415                                    if(item->strm == sp)
  2416                                    {
  2417                                            item->strm = 0;
  2418                                            break;
  2419                                    }
  (gdb) print item
  $1 = (struct openlist *) 0x10001
  (gdb) print pp->olist
  value has been optimized out
  (gdb) print *item
  Cannot access memory at address 0x10001
  (gdb) print shp->jmplist
  $2 = (jmp_buf *) 0x25f40a81dcb0
  (gdb) print *shp->jmplist
  $3 = {{__jmpbuf = {-6, 314, -6, 316, -6, 318, -6, 320}, __mask_was_saved = 
-9, __saved_mask = {__val = {0, 140588137853232, 140588140268096, 0, 0, 0, 
32783537689290092, 
          41730078528192, 2632, 41730078115008, 1264, 0, 41730079035120, 0, 
7233114627996740975, 41730078528192}}}}
  (gdb) print *(struct checkpt*)shp->jmplist
  $4 = {buff = {{__jmpbuf = {-6, 314, -6, 316, -6, 318, -6, 320}, 
__mask_was_saved = -9, __saved_mask = {__val = {0, 140588137853232, 
140588140268096, 0, 0, 0, 32783537689290092, 
            41730078528192, 2632, 41730078115008, 1264, 0, 41730079035120, 0, 
7233114627996740975, 41730078528192}}}}, prev = 0xa88, topfd = 175867072, mode 
= 9716, vexi = 1201, 
    olist = 0x25f40a851ce0, err = {context = 0x25f40a81db78, errors = 0, flags 
= 0, line = 245, warnings = 0, file = 0x0, 
      id = 0x25f40a81b361 
"|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000\nu266699|9000"...}}
  (gdb) print ((struct checkpt*)shp->jmplist)->olist
  $5 = (struct openlist *) 0x25f40a851ce0
  (gdb) print *((struct checkpt*)shp->jmplist)->olist
  $6 = {strm = 0x25f40a7b84c0, next = 0x10001}
  (gdb) 

Werner

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr

Attachment: pgpv73hzCWaq5.pgp
Description: PGP signature

_______________________________________________
ast-developers mailing list
ast-developers@lists.research.att.com
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to