Gnus development mailing list
 help / color / mirror / Atom feed
From: Reiner Steib <reinersteib+gmane@imap.cc>
To: Daiki Ueno <ueno@unixuser.org>
Cc: <ding@gnus.org>
Subject: Infloop in `mm-uu-dissect-text-parts' on PGP signed message
Date: Sun, 07 Oct 2007 00:11:55 +0200	[thread overview]
Message-ID: <v9fy0nlwpg.fsf@marauder.physik.uni-ulm.de> (raw)

Hi,

the following change to `mm-uu.el' ...

,----
| 2007-08-31  Daiki Ueno  <ueno@unixuser.org>
| 
| 	* mml2015.el [...]
| 
| 	* mm-uu.el (mm-uu-pgp-beginning-signature): Abolish.
| 	(mm-uu-pgp-signed-extract-1): Bind coding-system-for-read when calling
| 	mml2015-clear-verify-function; don't touch the armor headers or
| 	dash-escaped text here.
`----

... results in ...

,----[ *Messages* ]
| mm-uu-dissect: Variable binding depth exceeds max-specpdl-size
| mm-uu-dissect-text-parts: Variable binding depth exceeds max-specpdl-size
`----

... for me when displaying any message from "Carlos E. R." on
gmane.linux.suse.opensuse.user (e.g.
<http://article.gmane.org/gmane.linux.suse.opensuse.user/40894> =
<news://news.gmane.org/gmane.linux.suse.opensuse.user/40894> =
<news:alpine.LSU.0.9999.0710052343090.7514@nimrodel.valinor>).

Debugging `mm-uu-dissect-text-parts' leads to this backtrace:

,----
| Debugger entered: nil
|   eval((debug))
|   edebug-eval((debug))
|   edebug-eval-expression((debug))
|   call-interactively(edebug-eval-expression)
|   recursive-edit()
|   edebug-recursive-edit()
|   edebug-display()
|   edebug(error (error "Lisp nesting exceeds `max-lisp-eval-depth'"))
|   signal(error ("Lisp nesting exceeds `max-lisp-eval-depth'"))
|   edebug-signal(error ("Lisp nesting exceeds `max-lisp-eval-depth'"))
|   (if (string-match (mm-uu-beginning-regexp ...) beginning-regexp)
|     (setq entry (car alist)) (pop alist))
|   (while (not entry) (if (string-match ... beginning-regexp) (setq
|     entry ...) (pop alist)))
|   (let ((alist mm-uu-type-alist) (beginning-regexp ...)) (while (not
|     entry) (if ... ... ...)))
|   (while (re-search-forward mm-uu-beginning-regexp nil t) (setq
|     start-point (match-beginning 0) entry nil) (let (... ...) (while
|     ... ...)) (if (setq func ...) (funcall func)) (forward-line) (when
|     (and ... ... ...) (if ... ...) (push ... result) (goto-char ...)))
|   (save-excursion (goto-char (point-min)) (cond (noheader) (... ...)
|     (... t) (t ...)) (setq text-start (point)) (while
|     (re-search-forward mm-uu-beginning-regexp nil t) (setq start-point
|     ... entry nil) (let ... ...) (if ... ...) (forward-line) (when
|     ... ... ... ...)) (when result (if ... ...) (setq result ...))
|     result)
|   (let ((case-fold-search t) (mm-uu-text-plain-type ...) text-start
|     start-point end-point file-name result entry func) (save-excursion
|     (goto-char ...) (cond ... ... ... ...) (setq text-start ...)
|     (while ... ... ... ... ... ...) (when result ... ...) result))
|   mm-uu-dissect(t ("text/plain" (charset . gnus-decoded)))
|   (edebug-after (edebug-before 48) 52 (mm-uu-dissect t (edebug-after
|     ... 51 ...)))
| [...]
|   (edebug-after (edebug-before 0) 157 (let (...) (edebug-after ... 156 ...)))
|   (lambda nil (edebug-after (edebug-before 0) 157 (let ... ...)))()
|   edebug-enter(mm-uu-dissect-text-parts (("multipart/mixed"
|     (#("multipart/signed" 0 16 ...) ...)) nil) (lambda nil (edebug-after
|     (edebug-before 0) 157 (let ... ...))))
|   edebug-enter(mm-uu-dissect-text-parts (("multipart/mixed"
|     (#("multipart/signed" 0 16 ...) ...)) nil) (lambda nil
|     (edebug-after (edebug-before 0) 157 (let ... ...))))
|   mm-uu-dissect-text-parts(("multipart/mixed" (#("multipart/signed" 0
|     16 ...) ("multipart/mixed" ...))))
|   gnus-display-mime()
|   gnus-article-prepare-display()
|   gnus-article-prepare(40177 nil)
|   gnus-summary-display-article(40177 nil)
|   gnus-summary-select-article(nil force)
|   gnus-summary-show-article(nil)
|   call-interactively(gnus-summary-show-article)
`----

Reverting `mm-uu.el' to revision 7.44 makes the problem disappear.

Bye, Reiner.
-- 
       ,,,
      (o o)
---ooO-(_)-Ooo---  |  PGP key available  |  http://rsteib.home.pages.de/



             reply	other threads:[~2007-10-06 22:11 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-06 22:11 Reiner Steib [this message]
2007-10-07  1:45 ` Daiki Ueno
2007-10-07 21:04   ` Reiner Steib
2007-10-08  0:36     ` Daiki Ueno
2007-10-08  2:47       ` Daiki Ueno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=v9fy0nlwpg.fsf@marauder.physik.uni-ulm.de \
    --to=reinersteib+gmane@imap.cc \
    --cc=Reiner.Steib@gmx.de \
    --cc=ding@gnus.org \
    --cc=ueno@unixuser.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).