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

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

gnus crashes on threads deeper than 333 articles


From: Chris Moore
Subject: gnus crashes on threads deeper than 333 articles
Date: Thu, 30 Nov 2006 16:34:33 +0100

[ Apologies if this appears twice, but I think it worked the first time ]
[ I posted, because I did a 'report-emacs-bug' from inside "emacs -Q".  ]

I just tried opening a mail folder using nnimap in gnus.

One of the threads in the folder is 834 messages long, and each
message in the thread is a reply to the previous one which results in
the thread being 834 messages 'deep'.

gnus crashes when trying to open the folder with this error:

  Debugger entered--Lisp error: (error "Variable binding depth exceeds 
max-specpdl-size")

each line of the backtrace is huge, and there are 1000 of them, but is
basically these 3 calls over and over:

  gnus-sort-threads-1((([6180 "[...
  #[(thread) "address@hidden
  mapcar(#[(thread) "address@hidden
  gnus-sort-threads-1((([6007 "[...
  #[(thread) "address@hidden
  mapcar(#[(thread) "address@hidden
  gnus-sort-threads-1((([5965 "[...

(this goes on for 980 more lines or so, then:)

  gnus-sort-threads-1((([528 "[...
  gnus-sort-threads((([528 "[...
  gnus-summary-prepare()
  gnus-summary-read-group-1("fun.drod" t nil nil nil nil)
  gnus-summary-read-group("fun.drod" t nil nil nil nil nil)
  gnus-group-read-group(nil nil "fun.drod")
  gnus-fetch-group("fun.drod")
  call-interactively(gnus-fetch-group)

there are 1000 lines in the backtrace, and max-specpdl-size is set to
1000.

The definition of gnus-sort-threads in lisp/gnus/gnus-sum.el does
this:
    (let ((max-lisp-eval-depth 5000))
but it doesn't increase max-specpdl-size.  Maybe it should?

Or maybe it shouldn't impose fixed limits on the maximum allowable
thread length at all.  A re-implementation using a loop instead of
recursion should be able to get around this limit.  It's walking the
thread tree, sorting as it goes.



In GNU Emacs 22.0.91.13 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
 of 2006-11-27 on chrislap
X server distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure '--with-gtk' '--with-xpm' '--with-jpeg' 
'--with-png' '--with-gif''

Important settings:
  value of $LC_ALL: en_GB.UTF-8
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Major mode: Text

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t


Recent messages:
Replaced 796 occurrences
Mark set
Saving file /home/chris/programs/emacs/src/stack2.txt...
Loading vc-cvs...done
Wrote /home/chris/programs/emacs/src/stack2.txt
(New file)
File stack.txt is large (12MB), really open? (y or n) 
Mark set
Quit
Loading emacsbug...done




reply via email to

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