emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: emacs hangs; 100% cpu usage


From: Kim F. Storm
Subject: Re: emacs hangs; 100% cpu usage
Date: Wed, 19 Jan 2005 01:06:49 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux)

Reiner Steib <address@hidden> writes:

> On Tue, Jan 18 2005, Kim F. Storm wrote:
>
>> address@hidden writes:
>>
>>>> Could you try the suggestions in etc/DEBUG for infinite loops?
>>> Following the procedure described in etc/DEBUG I got the following:
>>> (gdb) finish
>>> Run till exit from #0  0x000000000055339c in sweep_weak_table (h=0xf29680, 
>>>     remove_entries_p=0) at fns.c:4792
>>
>> Does the following patch fix the infinite loop ?
>
> No it doesn't.  But the infinite loop doesn't appears not as often as
> before.

I think I've found a 64 bit specific problem.
Can you try with this additional patch:


*** alloc.c     05 Jan 2005 18:27:57 +0100      1.362
--- alloc.c     19 Jan 2005 01:02:59 +0100      
***************
*** 143,153 ****
  
  #define MARK_STRING(S)                ((S)->size |= ARRAY_MARK_FLAG)
  #define UNMARK_STRING(S)      ((S)->size &= ~ARRAY_MARK_FLAG)
! #define STRING_MARKED_P(S)    ((S)->size & ARRAY_MARK_FLAG)
  
  #define VECTOR_MARK(V)                ((V)->size |= ARRAY_MARK_FLAG)
  #define VECTOR_UNMARK(V)      ((V)->size &= ~ARRAY_MARK_FLAG)
! #define VECTOR_MARKED_P(V)    ((V)->size & ARRAY_MARK_FLAG)
  
  /* Value is the number of bytes/chars of S, a pointer to a struct
     Lisp_String.  This must be used instead of STRING_BYTES (S) or
--- 143,153 ----
  
  #define MARK_STRING(S)                ((S)->size |= ARRAY_MARK_FLAG)
  #define UNMARK_STRING(S)      ((S)->size &= ~ARRAY_MARK_FLAG)
! #define STRING_MARKED_P(S)    (((S)->size & ARRAY_MARK_FLAG) != 0)
  
  #define VECTOR_MARK(V)                ((V)->size |= ARRAY_MARK_FLAG)
  #define VECTOR_UNMARK(V)      ((V)->size &= ~ARRAY_MARK_FLAG)
! #define VECTOR_MARKED_P(V)    (((V)->size & ARRAY_MARK_FLAG) != 0)
  
  /* Value is the number of bytes/chars of S, a pointer to a struct
     Lisp_String.  This must be used instead of STRING_BYTES (S) or

-- 
Kim F. Storm <address@hidden> http://www.cua.dk





reply via email to

[Prev in Thread] Current Thread [Next in Thread]