[mew-int 01661] Re: GC crashes

Kenichi Handa handa at example.com
Mon Dec 1 21:40:27 JST 2003


In article <20031128.103107.41640217.wl at example.com>, Werner LEMBERG <wl at example.com> writes:
> [1  <text/plain; us-ascii (7bit)>]
>>  Please find a way to reproduce this bug by emacs started
>>  with -q.

> I can't :-( It seems to be an interaction with running mewl (a program
> from the mew package which extracts header information from emails,
> sending them to the +inbox buffer) and ctext encoding.  mewl runs as a
> background process; I normally start reading the emails while mewl is
> still running, augmenting the current buffer with header lines.  So
> the bug seems to be that visiting a buffer in ctext encoding which is
> still augmented, and which contains many different scripts, causes a
> crash.

Thank you.  It's a useful information.  Now I can reproduce
the similar misterious segfault in GC without process nor
code conversion.  I've just installed the attached change.
It seems that it fixes the problem, but I still don't
understand why a week hash table causes a problem.  Anyway,
could you please try again with the latest CVS HEAD?

The strange thing is that the change for making a
composition hash table weak is done on 2003-01-10, about a
year ago.  I don't know why the current problem appears
recently for you.

---
Ken'ichi HANDA
handa at example.com

Index: composite.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/composite.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -c -r1.29 -r1.30
cvs server: conflicting specifications of output style
*** composite.c	1 Sep 2003 15:45:52 -0000	1.29
--- composite.c	1 Dec 2003 12:33:13 -0000	1.30
***************
*** 843,849 ****
      args[0] = QCtest;
      args[1] = Qequal;
      args[2] = QCweakness;
!     args[3] = Qt;
      args[4] = QCsize;
      args[5] = make_number (311);
      composition_hash_table = Fmake_hash_table (6, args);
--- 843,851 ----
      args[0] = QCtest;
      args[1] = Qequal;
      args[2] = QCweakness;
!     /* Fixme: It seems that a weak hash table leads to segfault in GC,
!        but I have not yet found why.  -- handa at example.com */
!     args[3] = Qnil;
      args[4] = QCsize;
      args[5] = make_number (311);
      composition_hash_table = Fmake_hash_table (6, args);




More information about the Mew-int mailing list