[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: es dumping core on me



Greetings all,

A few months back, Bennett Todd sent a message to the list concerning
es dumping core and/or violating some assertions in forward() [part
of the garbage collector.  Well, I've been tickling this bug alot,
and rather than rewrite the script in something else, I decided 
I should spend some time and try to fix things. 

So far, I have been able to draw the conclusion that it is not
a Tag structure being changed. [I went through the quick, though probably
pointless, process of making all FooTag structs const and read only.]
Compiling with GCPROTECT delayed, but did not prevent the occurance
of whatever it is.

My proddings with dbx last night left me with the feeling that the
memory where rootlist is stored is being stomped on, but I've yet to
determine where.  

If anyone else has been working on this, or can provide pointers/hints
on narrowing the search a bit, I would greatly appreciate it.  I can
send you a copy of the "es killer" script as well, if you want to 
poke at it.

I've appended some GC output and stack trace info below.

Thanks,


Steve

...................................................................
Steven Rezsutek			      Steven.Rezsutek@gsfc.nasa.gov
Nyma / NASA GSFC Code 735.2	      Vox: +1 301 286 0897


------------------- cut here -----------------------------------

GC 1001a360 : Binding   -> 1003d3f4 (followed)
GC 10016948 : Tree2     -> 100387b4 (followed)
GC 1001a388 : StrList   -> 1003d41c (forwarded)
GC 1001a394 : List      -> 1003d428 (forwarded)
GC 1001a394 : List      -> 1003d428 (followed)
GC 1001a388 : StrList   -> 1003d41c (followed)
GC        0 : <<not in old space>>
GC 1001a360 : Binding   -> 1003d3f4 (followed)
GC 10016970 : Tree2     -> 100387dc (followed)
GC 1001a3a0 : StrList   -> 1003d434 (forwarded)
GC 1001a3ac : List      -> 1003d440 (forwarded)
C 1001a3ac : List      -> 1003d440 (followed)
GC 1001a3a0 : StrList   -> 1003d434 (followed)
GC        0 : <<not in old space>>
GC 1001a360 : Binding   -> 1003d3f4 (followed)
GC        0 : <<not in old space>>
GC 1001a3b8 : List      -> 1003d44c (forwarded)
GC        0 : <<not in old space>>
GC 1001a3c4 : List      -> 1003d458 (forwarded)
GC 10023cd8 : gc.c:320: assertion failed (tag->magic == TAGMAGIC)
[4] Process  1129 (es) stopped at [abort:30 ,0xfb1b454]
         Source (of abort.c) not available for Process  1129
(dbx) where
>  0 abort(0x2, 0x7fefb9b8, 0x34, 0x0, 0x0) [0xfb1b450]
   1 forward(p = 0x10023cd8) ["/a/apollo/u2/steve/src/es-0.84/gc.c":320, 0x40f150]
   2 scanroots(rootlist = 0x7fefbed0) ["/a/apollo/u2/steve/src/es-0.84/gc.c":332, 0x40f22c]
   3 gc() ["/a/apollo/u2/steve/src/es-0.84/gc.c":425, 0x40fa4c]
   4 gcdisable(minfree = 320) ["/a/apollo/u2/steve/src/es-0.84/gc.c":377, 0x40f6a0]
   5 append(head = 0x1002a4b0, tail = (nil)) ["/a/apollo/u2/steve/src/es-0.84/list.c":84, 0x419798]
   6 listcopy(list = 0x1002a4b0) ["/a/apollo/u2/steve/src/es-0.84/list.c":103, 0x419b6c]
   7 glom1(tree = 0x1002aae8, binding = 0x1002887c) ["/a/apollo/u2/steve/src/es-0.84/glom.c":185, 0x4145e4]
   8 glom2(tree = 0x1002aae8, binding = 0x1002887c, quotep = 0x7fefc0fc) ["/a/apollo/u2/steve/src/es-0.84/glom.c":274, 0x415a34]
   9 glom2(tree = 0x10027f1c, binding = 0x1002887c, quotep = 0x7fefc170) ["/a/apollo/u2/steve/src/es-0.84/glom.c":259, 0x41551c]
  10 glom(tree = 0x10027f1c, binding = 0x1002887c, globit = TRUE) ["/a/apollo/u2/steve/src/es-0.84/glom.c":309, 0x416468]
   11 walk(tree0 = 0x10027f1c, binding0 = 0x1002887c, flags = 0) ["/a/apollo/u2/steve/src/es-0.84/eval.c":238, 0x40ae44]
  12 eval(list = 0x100384fc, binding0 = 0x100383b4, flags = 0) ["/a/apollo/u2/steve/src/es-0.84/eval.c":111, 0x409504]
  13 walk(tree0 = 0x1002a4d8, binding0 = 0x100383b4, flags = 0) ["/a/apollo/u2/steve/src/es-0.84/eval.c":241, 0x40af4c]
  14 eval(list = 0x100384cc, binding0 = 0x100383b4, flags = 0) ["/a/apollo/u2/steve/src/es-0.84/eval.c":111, 0x409504]
  15 walk(tree0 = 0x100288a8, binding0 = 0x100383b4, flags = 0) ["/a/apollo/u2/steve/src/es-0.84/eval.c":241, 0x40af4c]
  16 glom1(tree = 0x10026270, binding = 0x100383b4) ["/a/apollo/u2/steve/src/es-0.84/glom.c":198, 0x4149b8]
  17 glom2(tree = 0x10026270, binding = 0x100383b4, quotep = 0x7fefcb94) ["/a/apollo/u2/steve/src/es-0.84/glom.c":274, 0x415a34]
  18 glom2(tree = 0x100226fc, binding = 0x100383b4, quotep = 0x7fefcc08) ["/a/apollo/u2/steve/src/es-0.84/glom.c":259, 0x41551c]
More (n if no)?n