sxemacs-devel
[Top] [All Lists]

Re: I'm looking for a regex patch

From: Andrey Slusar <anray@xxxxxxx>
Subject: Re: I'm looking for a regex patch
Date: Mon, 03 Jan 2005 16:33:44 +0200
Organization: Santinel
User-agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Corporate Culture)
Mon, 03 Jan 2005 14:42:00 +1000, Steve Youngs wrote:

> I'm pretty sure I saw you post a small patch to regex.c somewhere
> (possibly on the Gnus list).  I'm assuming we need it in SXEmacs.

  This is only a reverting bugging changes from ChangeLog:
--8<---------------cut here---------------start------------->8---
2004-10-07  Stephen J. Turnbull  <stephen@xxxxxxxxxx>                           
                                                                                
        * regex.c (re_match_2_internal): Map internal to external               
        registers.  Fixes bug identified by Steve Youngs 2004-09-30             
        <microsoft-free.87ekkjhj7t.fsf@xxxxxxxxxxxxx>.
--8<---------------cut here---------------end--------------->8---
 Please, show me the you post <microsoft-free.87ekkjhj7t.fsf@xxxxxxxxxxxxx>.

> Unfortunately I can't find it, would you mind posting it here (and/or
> to sxemacs-patches).  And also tell us:

>         - what bug does it fix?

  This patch is fixed XEmacs hangs - 80-90% CPU and not working C-g. I
am added this patch to official FreeBSD xemacs-mule port.

>         - a recipe for reproducing the bug.

  This bug is reproduced, when use the gnus-cvs(No Gnus 0.3) or
semantic 1.4.4 - when i am edit c,lisp text and save changes(C-x C-s)
XEmacs is hang.

--8<---------------cut here---------------start------------->8---
Subject: XEmacs hangs in rfc2047-encode-string (Was: XEmacs, Gnus and 
mm-coding-system priorities.)
From: Steinar Bang <sb@xxxxxx>
X-Sent: 3 days, 5 hours, 13 minutes, 50 seconds ago
Mail-Copies-To: never
User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (gnu/linux)

>>>>> Katsumi Yamaoka <yamaoka@xxxxxxx>:

> P.S.
> I found another problem, although it is not related to this
> subject.  The following form causes an error in XEmacs, but
> Emacs works.

> (rfc2047-encode-string (string
>                       (make-char 'latin-iso8859-1 95)
>                       (make-char 'japanese-jisx0208 38 66)))

> The occasion using mixture text of Latin and Japanese is few,
> though.

After "apt-get dist-upgrade" upgraded XEmacs on my debian system
yesterday, Gnus in XEmacs started hanging when fetching headers.
XEmacs is completely dead, and doesn't respond to `C-g'.  

When I kill the XEmacs process, I get a backtrace in the terminal
window I started XEmacs from. 

All backtraces has shown it being stuck in rfc2047-parse-and-decode,
but the actual headers being processed have been different, so I think
it's just using a lot of time, rather than being completely stuck.

When this happened after the upgrade yesterday, it happened on
ISO-8859-1 decoded headers.  I did a CVS update, and byte compile on
gnus, and that seemed to fix it.  But today it happened again.

One difference since yesterday, is that I have removed mule-ucs, since
it is incompatible with the nXML XML mode.

The debian package version number is
        xemacs21 21.4.16-1

The backtrace from killing a stuck XEmacs process follows:
Lisp backtrace follows:

  string-match("=\\?\\([^][- 
()<>@,;:*\\\"/?.=]+\\)\\(?:\\*[^?]+\\)?\\?\\(B\\|Q\\)\\?\\([!->@-~ ]*\\)\\?=" 
"=?windows-1251?B?0ODn8ODh7vLq8yDw5err4Ozt+/Ug6CBQUiDq7u325e/26OkgLy8g4e7p?=")
  # bind (word)
  
rfc2047-parse-and-decode("=?windows-1251?B?0ODn8ODh7vLq8yDw5err4Ozt+/Ug6CBQUiDq7u325e/26OkgLy8g4e7p?=")
  # (unwind-protect ...)
  # (unwind-protect ...)
  # bind (case-fold-search b e start end)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # bind (temp-buffer m string)
  
mail-decode-encoded-word-string("=?windows-1251?B?0ODn8ODh7vLq8yDw5err4Ozt+/Ug6CBQUiDq7u325e/26OkgLy8g4e7p?=
 =?windows-1251?B?6ugg6CDi7vDu4uDy+yDoIPfg8fLuIPP17uTo6+gg8yDs5e3/IOjnIOPr?= 
=?windows-1251?B?4Ocg4iA=?=")
  byte-code("..." [x gnus-decode-encoded-word-function string eol 
search-forward "      " move mm-subst-char-in-string ?\r ?- ?\n t] 8)
 # (condition-case ... . ((error x)))
  # bind (x)
  # (unwind-protect ...)
  # bind (eol buffer header references in-reply-to number dependencies 
force-new)
  byte-code("..." [id number eol id-dep references header read point-at-eol nil 
((widen)) (byte-code " `ÄÅ
  Æ#«¤`Sª¡
          {©!?ÇÈÉÇÊÉ\nË$Ë$)§" [x gnus-decode-encoded-word-function string eol 
search-forward "  " move mm-subst-char-in-string ?\r ?- ?\n t] 8) ((error x)) 
(byte-code "        `ÄÅ
                                                                           
Æ#«¤`Sª¡
                                                                                
   {©!?ÇÈÉÇÊÉ\nË$Ë$)§" [x gnus-decode-encoded-word-function string eol 
search-forward " " move mm-subst-char-in-string ?\r ?- ?\n t] 8) ((error x)) 
search-forward "    " move string-match "^<[^>]+>$" format "fake+none+%s+%d" 
"fake+none+%s+%s" int-to-string ?\t 0 (byte-code "Àp!§" [read] 2) ((error)) 1 
(byte-code "Àp!§" [read] 2) ((error)) looking-at "Xref: " (?\n nil) "^\\([^ 
:]+\\): " intern match-string vector "" 9 In-Reply-To 5 
gnus-extract-message-id-from-in-reply-to 4 boundp t nnmail-message-id 8 zerop 
gnus-split-references "\\(<[^<]+>\\)[  ]*\\'" intern-soft "none" ids sequence 
ref-dep dependencies ref n force-new in-reply-to string num out parent-id allp 
ref-header replaced gnus-newsgroup-name nnheader-fake-message-id extra xref 
lines chars date from subject gnus-alter-header-function headers cur buffer x 
gnus-summary-ignore-duplicates] 16)
  # (condition-case ... . ((error (byte-code "ÀÁÂÃe`\"#¨Äy§" ... 6))))
  # (unwind-protect ...)
  # bind (mail-parse-charset mail-parse-ignored-charsets cur dependencies allp 
number headers header also-fetch-heads group dependencies force-new sequence)
  gnus-get-newsgroup-headers-xover((4772 4857 4862 4864 5430 5434 5436 5438 
5443 5445 5460 5461 5473 5475 5480 5482 5494 5507 5508 5516 5517 5524 5529 5530 
5531 5532 5534 5548 5549 5550 5555 5564 5795 5798 5800 5801 5809 6309 6310 6371 
6382 6383 6923 6925 6934 6937 6943 6979 6984 6985 6986 6990 7004 7007 7009 7012 
7015 7020 7022 7023 7085 7108 7110 7112 7130 7131 7133 7134 7135 7140 7173 7174 
7175 7178 7179 7180 7182 7185 7192 7193 7213 7214 7220 7331 7691 7736 7750 7756 
7759 7762 7763 7774 7787 7796 7800 7805 7816 7843 7844 7846 7872 7897 7900 7906 
7917 7919 7927 7940 7957 7991 7992 8001 8018 8020 8029 8051 8057 8063 8065 8082 
8083 8085 8092 8093 8094 8105 8109 8111 8112 8115 8116 8144 8146 8147 8148 8161 
8193 8239 8259 8260 8292 8332 8362 8365 8366 8367 8368 8369 8373 8390 8404 8409 
8417 8422 8426 8429 8432 8436 8440 8451 8458 8459 8463 8474 8479 8480 8487 8490 
8491 8495 8500 8505 8514 8526 8531 8536 8597 8599 8600 8601 8608 8617 8628 8638 
8643 8644 8662 8665 8705 8732 8733 8742 8749 8758 8771 8772 8773 8786 8792 8794 
8795 8796 8798 8800 8802 8814 8816 8817 8821 8822 8824 8825 8829 8833 8844 8849 
8870 8871 8874 8876 8877 8909 8910 8912 8916 8918 8923 8927 8931 8935 8936 8945 
8953 8955 8976 8978 8981 8986 9002 9012 9019 9028 9029 9032 9038 9046 9049 9069 
9070 9072 9074 9076 9079 9099 9105 9124 9135 9150 9164 9238 9333 9360 9361 9551 
9560 9588 9593 9621 9625 9645 9646 10038 10076 10078 10092 10132 10170 10176 
10219 10228 10237 10244 10247 10273 10941 10947 10960 10975 10985 10995 10996 
11001 11002 11003 11004 11012 11017 11018 11023 11024 11026 11027 11029 11030 
11042 11053 11056 11058 11059 11061 11062 11066 11068 11069 11070 11071 11072 
11076 11082 11085 11089 11090 11101 11206 11207 11208 11219 11228 11229 11243 
11247 11248 11259 11269 11269 11290 11292 11294 11295 11296 11297 11325 11330 
11331 11334 11335 11336 11337 11338 11339 11340 11341 11342 11343 11344 11345 
11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 
11359 11360 11361 11362 11363 11364 11365 11366 11367 11368 11369 11370 11371 
11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 
11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 
11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 
11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 
11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 
11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 
11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 
11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475) 
nil nil "nntp+news.gmane.org:gmane.linux.acpi.devel")
  # bind (marked-articles gnus-command-method gnus-newsgroup-name 
gnus-newsgroup-dependencies gnus-newsgroup-headers gnus-newsgroup-scored 
gnus-use-cache gnus-summary-expunge-below gnus-summary-mark-below 
gnus-orphan-score gnus-headers gnus-score articles arts category predicate info 
marks score-param method group)
  gnus-agent-fetch-group-1("nntp+news.gmane.org:gmane.linux.acpi.devel" (nntp 
"news.gmane.org"))
  # (condition-case ... . ((error (byte-code "  ÂÃ!\"!¬¤ÅÆ!¨Â§" ... 5)) (quit 
(byte-code "Ã\n!¨ ÄÅ!\"!¬¥ÇÈÉ\"¨Ã§" ... 5))))
  # bind (gnus-agent-fetching)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # bind (methods groups group gnus-command-method)
  #<compiled-function nil "...(114)" [gnus-plugged gnus-agent-covered-methods 
groups group methods gnus-command-method error "No servers are covered by the 
Gnus agent" "Can't fetch articles while Gnus is unplugged" nil 
gnus-server-opened gnus-open-server gnus-online gnus-groups-from-server (...) t 
gnus-agent-start-fetch gnus-group-level gnus-agent-fetch-group-1 err 
(gnus-agent-fetch-group-1 group gnus-command-method) (... ...) gnus-run-hooks 
gnus-agent-fetched-hook gnus-message 6 "Finished fetching articles into the 
Gnus agent" gnus-agent-fetching gnus-agent-handle-level debug-on-error 
debug-on-quit] 5 ("/home/sb/cvs/gnus.xemacs/lisp/gnus-agent.elc" . 64578) nil>()
  call-interactively(gnus-agent-fetch-session)
  # (condition-case ... . error)
  # (catch top-level ...)
--8<---------------cut here---------------end--------------->8---

-- 
--anray


<Prev in Thread] Current Thread [Next in Thread>