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: Reiner Steib
Subject: Re: emacs hangs; 100% cpu usage
Date: Mon, 17 Jan 2005 19:22:27 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux)

On Sat, Jan 15 2005, Richard Stallman wrote:

> Could you try the suggestions in etc/DEBUG for infinite loops?

I tried to follow the suggestion in the paragraph "If the symptom of
the bug is that Emacs fails to respond".  Both of my processes are in
sweep_weak_table(), see below.  I don't know what other information
would be helpful.

Bye, Reiner.


** 2005-01-12

--8<---------------cut here---------------start------------->8---
(gdb) finish
Run till exit from #0  0x0000000000533edf in survives_gc_p (obj=35054947)
    at alloc.c:5523

Program received signal SIGTSTP, Stopped (user).
0x0000000000533edf in survives_gc_p (obj=35054947) at alloc.c:5523
5523      return survives_p || PURE_POINTER_P ((void *) XPNTR (obj));
(gdb) finish
Run till exit from #0  0x0000000000533edf in survives_gc_p (obj=35054947)
    at alloc.c:5523
0x00000000005532e2 in sweep_weak_table (h=0x125f620, remove_entries_p=0)
    at fns.c:4803
4803              int value_known_to_survive_p = survives_gc_p (HASH_VALUE (h, 
i));
Value returned is $1 = 0
(gdb) finish
Run till exit from #0  0x00000000005532e2 in sweep_weak_table (h=0x125f620, 
    remove_entries_p=0) at fns.c:4803
0x000000000055346f in sweep_weak_hash_tables () at fns.c:4888
4888                marked |= sweep_weak_table (h, 0);
Value returned is $2 = 1
(gdb) finish
Run till exit from #0  0x000000000055346f in sweep_weak_hash_tables ()
    at fns.c:4888

Program received signal SIGTSTP, Stopped (user).
survives_gc_p (obj=31430212) at alloc.c:5523
5523      return survives_p || PURE_POINTER_P ((void *) XPNTR (obj));
(gdb) next

Program received signal SIGTSTP, Stopped (user).
survives_gc_p (obj=31430212) at alloc.c:5523
5523      return survives_p || PURE_POINTER_P ((void *) XPNTR (obj));
(gdb) next
5524    }
(gdb) next
sweep_weak_table (h=0x125f620, remove_entries_p=0) at fns.c:4803
4803              int value_known_to_survive_p = survives_gc_p (HASH_VALUE (h, 
i));
(gdb) next
4806              if (EQ (h->weak, Qkey))
(gdb) next
4807                remove_p = !key_known_to_survive_p;
(gdb) next
4817              next = HASH_NEXT (h, i);
(gdb) 
4819              if (remove_entries_p)
(gdb) 
4817              next = HASH_NEXT (h, i);
(gdb) 
4819              if (remove_entries_p)
(gdb) 
4817              next = HASH_NEXT (h, i);
(gdb) 
4819              if (remove_entries_p)
(gdb) 
4842                  if (!remove_p)
(gdb) 
4845                      if (!key_known_to_survive_p)
(gdb) 
4851                      if (!value_known_to_survive_p)
(gdb) 
4853                          mark_object (HASH_VALUE (h, i));
(gdb) 
4854                          marked = 1;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
--8<---------------cut here---------------end--------------->8---


** 2005-01-13

--8<---------------cut here---------------start------------->8---
(gdb) Run till exit from #0  0x000000000055319a in sweep_weak_table 
(h=0x1227ae0, 
    remove_entries_p=0) at fns.c:4799

Program received signal SIGTSTP, Stopped (user).
0x000000000055319a in sweep_weak_table (h=0x1227ae0, remove_entries_p=0)
    at fns.c:4799
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) finish
Run till exit from #0  0x000000000055319a in sweep_weak_table (h=0x1227ae0, 
    remove_entries_p=0) at fns.c:4799
0x00000000005533ff in sweep_weak_hash_tables () at fns.c:4888
4888                marked |= sweep_weak_table (h, 0);
Value returned is $1 = 1
(gdb) finish
Run till exit from #0  0x00000000005533ff in sweep_weak_hash_tables ()
    at fns.c:4888

Program received signal SIGTSTP, Stopped (user).
0x000000000055332c in sweep_weak_table (h=0x1227ae0, remove_entries_p=0)
    at fns.c:4792
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) finish
Run till exit from #0  0x000000000055332c in sweep_weak_table (h=0x1227ae0, 
    remove_entries_p=0) at fns.c:4792

Program received signal SIGTSTP, Stopped (user).
0x000000000055332c in sweep_weak_table (h=0x1227ae0, remove_entries_p=0)
    at fns.c:4792
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) finish
Run till exit from #0  0x000000000055332c in sweep_weak_table (h=0x1227ae0, 
    remove_entries_p=0) at fns.c:4792
0x00000000005533ff in sweep_weak_hash_tables () at fns.c:4888
4888                marked |= sweep_weak_table (h, 0);
Value returned is $2 = 1
(gdb) finish
Run till exit from #0  0x00000000005533ff in sweep_weak_hash_tables ()
    at fns.c:4888

Program received signal SIGTSTP, Stopped (user).
0x000000000055332c in sweep_weak_table (h=0x1227ae0, remove_entries_p=0)
    at fns.c:4792
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) next

Program received signal SIGTSTP, Stopped (user).
0x000000000055332c in sweep_weak_table (h=0x1227ae0, remove_entries_p=0)
    at fns.c:4792
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) p bucket
$3 = 57
(gdb) 
$4 = 57
(gdb) next
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4798          prev = Qnil;
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) 
4792      for (bucket = 0; bucket < n; ++bucket)
(gdb) 
4799          for (idx = HASH_INDEX (h, bucket); !GC_NILP (idx); idx = next)
(gdb) finish
Run till exit from #0  sweep_weak_table (h=0x1227ae0, remove_entries_p=0)
    at fns.c:4799
0x00000000005533ff in sweep_weak_hash_tables () at fns.c:4888
4888                marked |= sweep_weak_table (h, 0);
Value returned is $5 = 1
--8<---------------cut here---------------end--------------->8---




reply via email to

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