Gnus development mailing list
 help / color / mirror / Atom feed
* hang on entry to group
@ 1999-10-02 19:17 Laura Conrad
  1999-10-02 19:22 ` Laura Conrad
  1999-10-02 22:05 ` Shenghuo ZHU
  0 siblings, 2 replies; 6+ messages in thread
From: Laura Conrad @ 1999-10-02 19:17 UTC (permalink / raw)


pgnus 0.97 is hanging on entry to comp.os.linux.announce at the
moment.  The backtrace is:

Signaling: (quit)
  accept-process-output(#<network connection "nntpd" ("nntp" . "localhost") state:run> 1)
  nntp-accept-process-output(#<network connection "nntpd" ("nntp" . "localhost") state:run>)
  nntp-send-command-nodelete("\r?\n\\.\r?\n" "XOVER" "117-117")
  nntp-send-xover-command(117 117)
  nntp-retrieve-headers-with-xover((117 122 356 357 358 359 360 361 362) nil)
  nntp-retrieve-headers((117 122 356 357 358 359 360 361 362) "comp.os.linux.announce" "localhost" nil)
  gnus-retrieve-headers((117 122 356 357 358 359 360 361 362) "comp.os.linux.announce" nil)
  gnus-cache-retrieve-headers((117 122 356 357 358 359 360 361 362) "comp.os.linux.announce" nil)
  gnus-retrieve-headers((117 122 356 357 358 359 360 361 362) "comp.os.linux.announce" nil)
  gnus-select-newsgroup("comp.os.linux.announce" nil nil)
  gnus-summary-read-group-1("comp.os.linux.announce" nil nil nil nil nil)
  gnus-summary-read-group("comp.os.linux.announce" nil nil nil nil nil nil)
  gnus-group-read-group(nil)
  call-interactively(gnus-group-read-group)

Telnetting to the server, I get:

[lconrad@serpent tmp]$ telnet localhost 119
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
200 Leafnode NNTP Daemon, version 1.9.4 running at serpent.local
group comp.os.linux.announce
211 278 85 362 comp.os.linux.announce group selected
xover 117-117
420 No articles in specified range.
quit
205 Always happy to serve!
Connection closed by foreign host.
[lconrad@serpent tmp]$ 

I reported a bug like this before, and what happened was that the
group I was having trouble on continued to have trouble until I
restarted xemacs.  (That is, restarting gnus did not help, but
restarting xemacs did.)  

-- 
Laura (mailto:lconrad@world.std.com , http://www.world.std.com/~lconrad/ )
(617) 661-8097	fax: (801) 365-6574 
233 Broadway, Cambridge, MA 02139


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hang on entry to group
  1999-10-02 19:17 hang on entry to group Laura Conrad
@ 1999-10-02 19:22 ` Laura Conrad
  1999-10-02 22:05 ` Shenghuo ZHU
  1 sibling, 0 replies; 6+ messages in thread
From: Laura Conrad @ 1999-10-02 19:22 UTC (permalink / raw)


>>>>> "Laura" == Laura Conrad <lconrad@world.std.com> writes:

    Laura> I reported a bug like this before, and what happened was that the
    Laura> group I was having trouble on continued to have trouble until I
    Laura> restarted xemacs.  (That is, restarting gnus did not help, but
    Laura> restarting xemacs did.)  

However, in this case, restarting gnus did clear the problem, and I
can now get into comp.os.linux.announce fine.

-- 
Laura (mailto:lconrad@world.std.com , http://www.world.std.com/~lconrad/ )
(617) 661-8097	fax: (801) 365-6574 
233 Broadway, Cambridge, MA 02139


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hang on entry to group
  1999-10-02 19:17 hang on entry to group Laura Conrad
  1999-10-02 19:22 ` Laura Conrad
@ 1999-10-02 22:05 ` Shenghuo ZHU
  1999-10-03  4:15   ` Shenghuo ZHU
  1 sibling, 1 reply; 6+ messages in thread
From: Shenghuo ZHU @ 1999-10-02 22:05 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1385 bytes --]

>>>>> "LC" == Laura Conrad <lconrad@world.std.com> writes:

LC> pgnus 0.97 is hanging on entry to comp.os.linux.announce at the
LC> moment.  The backtrace is:

LC> Signaling: (quit)
LC>   accept-process-output(#<network connection "nntpd" ("nntp" . "localhost") state:run> 1)
LC>   nntp-accept-process-output(#<network connection "nntpd" ("nntp" . "localhost") state:run>)
LC>   nntp-send-command-nodelete("\r?\n\\.\r?\n" "XOVER" "117-117")
LC>   nntp-send-xover-command(117 117)
LC>   nntp-retrieve-headers-with-xover((117 122 356 357 358 359 360 361 362) nil)

[...]

I guess I've located the bug. The ChangeLog and patch follow and have
been committed to CVS.

LC> [lconrad@serpent tmp]$ telnet localhost 119
LC> Trying 127.0.0.1...
LC> Connected to localhost.
LC> Escape character is '^]'.
LC> 200 Leafnode NNTP Daemon, version 1.9.4 running at serpent.local
LC> group comp.os.linux.announce
LC> 211 278 85 362 comp.os.linux.announce group selected
LC> xover 117-117
LC> 420 No articles in specified range.

The response code 420 is a bit weird. In nntp-send-xover-command, Gnus
try to find out the XOVER command when nntp-server-xover is try. The
response code 420 cause Gnus disable XOVER, while here XOVER is right
command.

[...]

-- 
Shenghuo ZHU

1999-10-02  Shenghuo ZHU  <zsh@cs.rochester.edu>

	* nntp.el (nntp-send-xover-command): Wait for nothing if not
	wait-for-reply.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 97-zsh3.diff --]
[-- Type: text/x-patch, Size: 692 bytes --]

Index: nntp.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nntp.el,v
retrieving revision 5.20
diff -u -r5.20 nntp.el
--- nntp.el	1999/09/27 15:19:05	5.20
+++ nntp.el	1999/10/02 21:55:07
@@ -1189,7 +1189,7 @@
 	    (nntp-send-command-nodelete
 	     "\r?\n\\.\r?\n" nntp-server-xover range)
 	  ;; We do not wait for the reply.
-	  (nntp-send-command-nodelete "\r?\n\\.\r?\n" nntp-server-xover range))
+	  (nntp-send-command-nodelete nil nntp-server-xover range))
       (let ((commands nntp-xover-commands))
 	;; `nntp-xover-commands' is a list of possible XOVER commands.
 	;; We try them all until we get at positive response.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hang on entry to group
  1999-10-02 22:05 ` Shenghuo ZHU
@ 1999-10-03  4:15   ` Shenghuo ZHU
  1999-10-03  6:27     ` Shenghuo ZHU
  0 siblings, 1 reply; 6+ messages in thread
From: Shenghuo ZHU @ 1999-10-03  4:15 UTC (permalink / raw)


>>>>> "ZSH" == Shenghuo ZHU <zsh@cs.rochester.edu> writes:

>>>>> "LC" == Laura Conrad <lconrad@world.std.com> writes:
LC> pgnus 0.97 is hanging on entry to comp.os.linux.announce at the
LC> moment.  The backtrace is:

LC> Signaling: (quit)
LC> accept-process-output(#<network connection "nntpd" ("nntp" . "localhost") state:run> 1)
LC> nntp-accept-process-output(#<network connection "nntpd" ("nntp" . "localhost") state:run>)
LC> nntp-send-command-nodelete("?\n\\.?\n" "XOVER" "117-117")
LC> nntp-send-xover-command(117 117)
LC> nntp-retrieve-headers-with-xover((117 122 356 357 358 359 360 361 362) nil)

ZSH> I guess I've located the bug. The ChangeLog and patch follow and
ZSH> have been committed to CVS.

There are still other bugs which cause Gnus hanging.

-- 
Shenghuo


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hang on entry to group
  1999-10-03  4:15   ` Shenghuo ZHU
@ 1999-10-03  6:27     ` Shenghuo ZHU
  1999-10-03  7:07       ` Shenghuo ZHU
  0 siblings, 1 reply; 6+ messages in thread
From: Shenghuo ZHU @ 1999-10-03  6:27 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 364 bytes --]

>>>>> "ZSH" == Shenghuo ZHU <zsh@cs.rochester.edu> writes:

ZSH> There are still other bugs which cause Gnus hanging.

Fixed.

The ChangeLog and the patch follow and have been committed to CVS.

Apply the previous patch also.

-- 
Shenghuo ZHU

1999-10-03  Shenghuo ZHU  <zsh@cs.rochester.edu>

	* nntp.el (nntp-retrieve-headers-with-xover): Fix hanging problem.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 97-zsh4.diff --]
[-- Type: text/x-patch, Size: 3025 bytes --]

Index: nntp.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nntp.el,v
retrieving revision 5.21
diff -u -r5.21 nntp.el
--- nntp.el	1999/10/02 21:57:40	5.21
+++ nntp.el	1999/10/03 05:59:13
@@ -1118,9 +1118,10 @@
    ((numberp nntp-nov-gap)
     (let ((count 0)
 	  (received 0)
-	  (last-point (point-min))
+	  last-point
+	  in-process-buffer-p
 	  (buf nntp-server-buffer)
-	  ;;(process-buffer (nntp-find-connection (current-buffer))))
+	  (process-buffer (nntp-find-connection-buffer nntp-server-buffer))
 	  first)
       ;; We have to check `nntp-server-xover'.  If it gets set to nil,
       ;; that means that the server does not understand XOVER, but we
@@ -1133,40 +1134,50 @@
 		    (< (- (nth 1 articles) (car articles)) nntp-nov-gap))
 	  (setq articles (cdr articles)))
 
-	(when (nntp-send-xover-command first (car articles))
-	  (setq articles (cdr articles)
-		count (1+ count))
-
+	(setq in-process-buffer-p (stringp nntp-server-xover))
+	(nntp-send-xover-command first (car articles))
+	(setq articles (cdr articles))
+	
+	(when (and nntp-server-xover in-process-buffer-p)
+	  ;; Don't count tried request.
+	  (setq count (1+ count))
+	  
 	  ;; Every 400 requests we have to read the stream in
 	  ;; order to avoid deadlocks.
 	  (when (or (null articles)	;All requests have been sent.
 		    (zerop (% count nntp-maximum-request)))
-	    (accept-process-output)
+
+	    (nntp-accept-response)
 	    ;; On some Emacs versions the preceding function has
 	    ;; a tendency to change the buffer.  Perhaps.  It's
 	    ;; quite difficult to reproduce, because it only
 	    ;; seems to happen once in a blue moon.
-	    (set-buffer buf)
+	    (set-buffer process-buffer)
 	    (while (progn
-		     (goto-char last-point)
+		     (goto-char (or last-point (point-min)))
 		     ;; Count replies.
 		     (while (re-search-forward "^[0-9][0-9][0-9] " nil t)
 		       (setq received (1+ received)))
 		     (setq last-point (point))
 		     (< received count))
-	      (accept-process-output)
-	      (set-buffer buf)))))
+	      (nntp-accept-response)
+	      (set-buffer process-buffer))
+	    (set-buffer buf))))
 
       (when nntp-server-xover
-	;; Wait for the reply from the final command.
-	(goto-char (point-max))
-	(re-search-backward "^[0-9][0-9][0-9] " nil t)
-	(when (looking-at "^[23]")
-	  (while (progn
-		   (goto-char (point-max))
-		   (forward-line -1)
-		   (not (looking-at "^\\.\r?\n")))
-	    (nntp-accept-response)))
+	(when in-process-buffer-p
+	  (set-buffer process-buffer)
+	  ;; Wait for the reply from the final command.
+	  (goto-char (point-max))
+	  (re-search-backward "^[0-9][0-9][0-9] " nil t)
+	  (when (looking-at "^[23]")
+	    (while (progn
+		     (goto-char (point-max))
+		     (forward-line -1)
+		     (not (looking-at "^\\.\r?\n")))
+	      (nntp-accept-response)
+	      (set-buffer process-buffer)))
+	  (set-buffer buf))
 
 	;; We remove any "." lines and status lines.
 	(goto-char (point-min))

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hang on entry to group
  1999-10-03  6:27     ` Shenghuo ZHU
@ 1999-10-03  7:07       ` Shenghuo ZHU
  0 siblings, 0 replies; 6+ messages in thread
From: Shenghuo ZHU @ 1999-10-03  7:07 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 342 bytes --]

>>>>> "ZSH" == Shenghuo ZHU <zsh@cs.rochester.edu> writes:

ZSH> Fixed.

ZSH> The ChangeLog and the patch follow and have been committed to CVS.

ZSH> Apply the previous patch also.

I am sorry that I made a mistake on the last patch. Now I put all
changes I made on nntp.el since 0.97 in one patch. ChangeLog is
reusable.

-- 
Shenghuo ZHU


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 97-zsh4+.diff --]
[-- Type: text/x-patch, Size: 2355 bytes --]

Index: nntp.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nntp.el,v
retrieving revision 5.20
retrieving revision 5.23
diff -r5.20 -r5.23
1121c1121,1122
< 	  (last-point (point-min))
---
> 	  last-point
> 	  in-process-buffer-p
1123c1124
< 	  ;;(process-buffer (nntp-find-connection (current-buffer))))
---
> 	  (process-buffer (nntp-find-connection-buffer nntp-server-buffer))
1136,1139c1137,1144
< 	(when (nntp-send-xover-command first (car articles))
< 	  (setq articles (cdr articles)
< 		count (1+ count))
< 
---
> 	(setq in-process-buffer-p (stringp nntp-server-xover))
> 	(nntp-send-xover-command first (car articles))
> 	(setq articles (cdr articles))
> 	
> 	(when (and nntp-server-xover in-process-buffer-p)
> 	  ;; Don't count tried request.
> 	  (setq count (1+ count))
> 	  
1144c1149,1150
< 	    (accept-process-output)
---
> 
> 	    (nntp-accept-response)
1149c1155
< 	    (set-buffer buf)
---
> 	    (set-buffer process-buffer)
1151c1157
< 		     (goto-char last-point)
---
> 		     (goto-char (or last-point (point-min)))
1157,1158c1163,1165
< 	      (accept-process-output)
< 	      (set-buffer buf)))))
---
> 	      (nntp-accept-response)
> 	      (set-buffer process-buffer))
> 	    (set-buffer buf))))
1161,1169c1168,1185
< 	;; Wait for the reply from the final command.
< 	(goto-char (point-max))
< 	(re-search-backward "^[0-9][0-9][0-9] " nil t)
< 	(when (looking-at "^[23]")
< 	  (while (progn
< 		   (goto-char (point-max))
< 		   (forward-line -1)
< 		   (not (looking-at "^\\.\r?\n")))
< 	    (nntp-accept-response)))
---
> 	(when in-process-buffer-p
> 	  (set-buffer process-buffer)
> 	  ;; Wait for the reply from the final command.
> 	  (goto-char (point-max))
> 	  (re-search-backward "^[0-9][0-9][0-9] " nil t)
> 	  (when (looking-at "^[23]")
> 	    (while (progn
> 		     (goto-char (point-max))
> 		     (forward-line -1)
> 		     (not (looking-at "^\\.\r?\n")))
> 	      (nntp-accept-response)
> 	      (set-buffer process-buffer)))
> 	  (set-buffer buf)
> 	  (goto-char (point-max))
> 	  (insert-buffer-substring process-buffer)
> 	  (set-buffer process-buffer)
> 	  (erase-buffer)
> 	  (set-buffer buf))
1192c1208
< 	  (nntp-send-command-nodelete "\r?\n\\.\r?\n" nntp-server-xover range))
---
> 	  (nntp-send-command-nodelete nil nntp-server-xover range))

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~1999-10-03  7:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-10-02 19:17 hang on entry to group Laura Conrad
1999-10-02 19:22 ` Laura Conrad
1999-10-02 22:05 ` Shenghuo ZHU
1999-10-03  4:15   ` Shenghuo ZHU
1999-10-03  6:27     ` Shenghuo ZHU
1999-10-03  7:07       ` Shenghuo ZHU

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).