From: Hamish.Macdonald@x400gate.bnr.ca (Hamish Macdonald)
Subject: core dump while garbage collecting
Organization: Bell Northern Research
Date: Fri, 09 Oct 92 19:43:01 GMT

While running GNUS within Lucid Emacs (GNU Emacs 19.3.1 Lucid of Tue
Sep 22 1992 on bmerh166 (hpux)), on an HP9000s425 running HP-UX 7.05,
compiled by gcc 2.2.2, with X11R5 libraries, I got a core dump while
(I think) advancing to another article.

Here is some information from GDB.  It looks like the garbage
collection may have been corrupted.  I'm afraid it would be hard to
reproduce this on demand, although it does seem to die like this every
so often.  I'm no GC expert, so it's hard to determine what is going
on.  Any hints would be appreciated.  I'll keep the (4Meg!) core file
around for a while so that it can be poked around in, if anybody can
give me any hints about what should be examined.

Jamie, please tell me this is fixed in 19.4! :-)

Thanks,
 Hamish.

(gdb) core-file ../../core
Core was generated by `lemacs'.
#0  0xd7400 in _kill ()
(gdb) where
#0  0xd7400 in _kill ()
#1  0xd2e7e in raise ()
#2  0x424f2 in compact_string_chars () at alloc.c:1842
#3  0x420aa in gc_sweep () at alloc.c:1516
#4  0x4287a in Fgarbage_collect () at alloc.c:2035
#5  0x4ccd4 in Ffuncall (nargs=2, args=0xffefce24) at eval.c:1724
#6  0x5c9c0 in Fbyte_code (bytestr=-1942618496, vector=-1875454336, maxdepth=7)
    at bytecode.c:428
#7  0x4d3b8 in funcall_lambda (fun=3617984, nargs=0, arg_vector=0xffefcf3c)
    at eval.c:1969
#8  0x4d01a in Ffuncall (nargs=406271168, args=0xffefcf38) at eval.c:1845
#9  0x5c9c0 in Fbyte_code (bytestr=-1942628276, vector=-1875454272, maxdepth=2)
    at bytecode.c:428
#10 0x4d3b8 in funcall_lambda (fun=3618016, nargs=0, arg_vector=0xffefd04c)
    at eval.c:1969
#11 0x4d01a in Ffuncall (nargs=406271200, args=0xffefd048) at eval.c:1845
#12 0x5c9c0 in Fbyte_code (bytestr=-1942664468, vector=-1875453760, maxdepth=3)
    at bytecode.c:428
#13 0x4d3b8 in funcall_lambda (fun=3618496, nargs=0, arg_vector=0xffefd160)
    at eval.c:1969
#14 0x4d01a in Ffuncall (nargs=406271680, args=0xffefd15c) at eval.c:1845
#15 0x5c9c0 in Fbyte_code (bytestr=-1942629868, vector=-1875591104, maxdepth=2)
    at bytecode.c:428
#16 0x4d3b8 in funcall_lambda (fun=3457056, nargs=0, arg_vector=0xffefd220)
    at eval.c:1969
#17 0x4d1b4 in apply_lambda (fun=406110240, args=68712452, eval_flag=1)
    at eval.c:1900
#18 0x4c7a0 in Feval (form=337904732) at eval.c:1441
#19 0x4ba32 in Fcondition_case (args=340319484) at eval.c:968
#20 0x5cd4a in Fbyte_code (bytestr=-1943794856, vector=-1877158176, maxdepth=3)
    at bytecode.c:582
#21 0x4c6e0 in Feval (form=337904708) at eval.c:1418
#22 0x4aada in Fprogn (args=337904684) at eval.c:291
#23 0x4d372 in funcall_lambda (fun=337904772, nargs=0, arg_vector=0xffefd6ac)
    at eval.c:1967
#24 0x4d01a in Ffuncall (nargs=337904772, args=0xffefd6a8) at eval.c:1845
#25 0x4cb40 in apply1 (fn=-2078014504, arg=68712452) at eval.c:1566
#26 0x4991c in Fcall_interactively (function=69469144, record=68712452)
    at callint.c:265
#27 0x26898 in Fcommand_execute (cmd=-2078014504, record=68712452)
    at keyboard.c:701
#28 0x12b30 in dispatch_command_event_internal (event=0x2302a0, leaf=1)
    at event-stream.c:1590
#29 0x12966 in compose_command (event=0x2302a0, execute_p=1)
    at event-stream.c:1501
#30 0x11efe in dispatch_event_internal (event=1747124896, execute_p=1)
    at event-stream.c:988
#31 0x12da8 in Fdispatch_event (event=1747124896) at event-stream.c:1714
#32 0x266f6 in command_loop_1 (dummy=68712732) at keyboard.c:508
#33 0x4badc in internal_condition_case (bfun=0x2659c <command_loop_1>, 
    handlers=68712732, hfun=0x260e0 <cmd_error>) at eval.c:1002
#34 0x263d6 in command_loop_2 (dummy=68712452) at keyboard.c:388
#35 0x4b6e2 in internal_catch (tag=37, func=0x263bc <command_loop_2>, 
    arg=68712452) at eval.c:814
#36 0x26398 in command_loop () at keyboard.c:367
#37 0x25fc8 in recursive_edit_1 () at keyboard.c:221
#38 0x26078 in Frecursive_edit () at keyboard.c:250
#39 0x258d2 in main (argc=3, argv=0xffefdca4, envp=0xffefdcb4) at emacs.c:817
(gdb) frame 28
#28 0x12b30 in dispatch_command_event_internal (event=0x2302a0, leaf=1)
    at event-stream.c:1590
Source file is more recent than executable.
(gdb) p event
$3 = (struct Lisp_Event *) 0x2302a0
(gdb) p *$
$4 = {event_type = -2147483647, channel = 941362176, timestamp = 1398883868, 
  event = {key = {key = 103, modifiers = 0 '\000'}, button = {button = 103, 
      modifiers = 0 '\000', x = -1091576147, y = -1091576147}, motion = {
      x = 103, y = 11386607}, process = {process = 103}, timeout = {
      function = 103, object = 11386607, id_number = -559038737}, eval = {
      function = 103, object = 11386607}, magic = {
      underlying_event = {"\000\000\000g\000"}}}, next = 0x0}
(gdb) frame 2
#2  0x424f2 in compact_string_chars () at alloc.c:1842
(gdb) p size
$7 = 1
(gdb) p fullsize
$8 = 969894920
(gdb) p string
$9 = (struct Lisp_String *) 0x37d461
(gdb) p *$
$10 = {size = 969894912, dup_list = 1540, 
  data = 0x18780400<Address 0x18780400 out of bounds>}
(gdb) i locals
from_s_chars = (struct string_chars *) 0x39cf68
to_s_chars = (struct string_chars *) 0x4e8ac4
string = (struct Lisp_String *) 0x37d461
size = 1
fullsize = 969894920
from_pos = 3932
to_sb = (struct string_chars_block *) 0x4e8000
to_pos = 2772
from_sb = (struct string_chars_block *) 0x39c000
(gdb) i frame
Stack level 2, frame at 0xffefcd4c:
 pc = 0x424f2 in compact_string_chars (alloc.c:1842); saved pc 0x420aa
 called by frame at 0xffefcd7c, caller of frame at 0xffefcd28
 source language c.
 Arglist at 0xffefcd4c, args: 
 Locals at 0xffefcd4c, Previous frame's sp is 0xffefcd54
 Saved registers:
  d2 at 0xffefcd30, d3 at 0xffefcd34, d4 at 0xffefcd38, a2 at 0xffefcd3c,
  a3 at 0xffefcd40, a4 at 0xffefcd44, a5 at 0xffefcd48, fp at 0xffefcd4c,
  pc at 0xffefcd50
(gdb) p *from_s_chars
$11 = {string = 0x37d461, chars = {"0"}}
(gdb) p *to_s_chars
$12 = {string = 0x7265706c, chars = {"y"}}
(gdb) p *string
$13 = {size = 969894912, dup_list = 1540, 
  data = 0x18780400<Address 0x18780400 out of bounds>}
(gdb) p *to_sb
$14 = {next = 0x4ea000, prev = 0x4e6000, pos = 8168, 
  chars = {"\000Hm<comp.graphics.gnuplot\00049\000Hm0comp.graphics.gnuplot\000.i\000Hlcomp.speech\000\000Hlcomp.speech\000\000Hl|rec.aviation.announce\000sc\000HlXrec.aviation.announce\000\000 \000Hl\020rec.aviation.answers\000s.b\000Hl\004rec.aviation.answers\000erv"...}}
(gdb) 
x-gateway: rodan.UU.NET from bug-lucid-emacs to alt.lucid-emacs.bug; Thu, 15 Oct 1992 14:05:17 EDT
Date: Thu, 15 Oct 1992 18:50:53 +0100
From: Guido.Bosch%loria.fr@lucid.com (Guido Bosch)
Subject: gnus-lucid.el patch
Reply-To: bosch%loria.fr@lucid.com (Guido BOSCH)
Newsgroups: alt.lucid-emacs.bug