Subject: bug#8963: 24.0.50; gnus-no-server tries to connect to IMAP server

From: Daiki Ueno <[email-masked]>
Date: Sat, 02 Jul 2011 14:42:05 +0900

Lars Magne Ingebrigtsen <[email-masked]> writes:

>> My understanding is that levels are per-group and not per-server, and
>> all groups defined in ~/.newsrc.eld have level 3.  So I'm wondering
>> which group Gnus is trying to open.
>
> Could you try to `M-x debug-on-entry RET nntp-open-server RET'?  The
> backtrace should then possibly tell you what group is triggering this.

Sure, please find below the backtrace.  I did (1) load gnus-int.el and
nnimap.el, (2) M-x debug-on-entry RET nnimap-open-server RET, and M-x
gnus-no-server.  There seems no specific group appeared in the log.

Debugger entered--entering a function:
  nnimap-open-server("a" ((nnimap-address "a.example.org")))
* funcall(nnimap-open-server "a" ((nnimap-address "a.example.org")))
  (condition-case err (funcall open-server-function (nth 1 gnus-command-method) (nthcdr 2 gnus-command-method)) (error (gnus-message 1 "Unable to open server %s due to: %s" server (error-message-string err)) nil) (quit (if debug-on-quit (debug "Quit") (gnus-message 1 "Quit trying to open server %s" server)) nil))
  (let* ((open-server-function (gnus-get-function gnus-command-method (quote open-server))) (result (condition-case err (funcall open-server-function (nth 1 gnus-command-method) (nthcdr 2 gnus-command-method)) (error (gnus-message 1 "Unable to open server %s due to: %s" server (error-message-string err)) nil) (quit (if debug-on-quit (debug "Quit") (gnus-message 1 "Quit trying to open server %s" server)) nil))) open-offline) (unless elem (setq elem (list gnus-command-method nil) gnus-opened-servers (cons elem gnus-opened-servers))) (setcar (cdr elem) (cond (result (if (eq open-server-function (function nnagent-open-server)) (quote offline) (quote ok))) ((and gnus-agent (gnus-agent-method-p gnus-command-method)) (cond (gnus-server-unopen-status (setq open-offline (eq gnus-server-unopen-status ...)) gnus-server-unopen-status) ((not gnus-batch-mode) (setq open-offline t) (quote offline)) (t (quote denied)))) (t (quote denied)))) (if open-offline (let ((gnus-server-unopen-status (quote denied))) (gnus-open-server gnus-command-method)) (when (and (eq (cadr elem) (quote ok)) gnus-agent (gnus-agent-method-p gnus-command-method)) (save-excursion (gnus-agent-possibly-synchronize-flags-server gnus-command-method))) result))
  (if (eq (nth 1 elem) (quote denied)) (progn (gnus-message 1 "Denied server %s" server) nil) (let* ((open-server-function (gnus-get-function gnus-command-method (quote open-server))) (result (condition-case err (funcall open-server-function (nth 1 gnus-command-method) (nthcdr 2 gnus-command-method)) (error (gnus-message 1 "Unable to open server %s due to: %s" server (error-message-string err)) nil) (quit (if debug-on-quit (debug "Quit") (gnus-message 1 "Quit trying to open server %s" server)) nil))) open-offline) (unless elem (setq elem (list gnus-command-method nil) gnus-opened-servers (cons elem gnus-opened-servers))) (setcar (cdr elem) (cond (result (if (eq open-server-function (function nnagent-open-server)) (quote offline) (quote ok))) ((and gnus-agent (gnus-agent-method-p gnus-command-method)) (cond (gnus-server-unopen-status (setq open-offline ...) gnus-server-unopen-status) ((not gnus-batch-mode) (setq open-offline t) (quote offline)) (t (quote denied)))) (t (quote denied)))) (if open-offline (let ((gnus-server-unopen-status (quote denied))) (gnus-open-server gnus-command-method)) (when (and (eq (cadr elem) (quote ok)) gnus-agent (gnus-agent-method-p gnus-command-method)) (save-excursion (gnus-agent-possibly-synchronize-flags-server gnus-command-method))) result)))
  (let ((elem (assoc gnus-command-method gnus-opened-servers)) (server (gnus-method-to-server-name gnus-command-method))) (if (eq (nth 1 elem) (quote denied)) (progn (gnus-message 1 "Denied server %s" server) nil) (let* ((open-server-function (gnus-get-function gnus-command-method (quote open-server))) (result (condition-case err (funcall open-server-function (nth 1 gnus-command-method) (nthcdr 2 gnus-command-method)) (error (gnus-message 1 "Unable to open server %s due to: %s" server ...) nil) (quit (if debug-on-quit ... ...) nil))) open-offline) (unless elem (setq elem (list gnus-command-method nil) gnus-opened-servers (cons elem gnus-opened-servers))) (setcar (cdr elem) (cond (result (if (eq open-server-function ...) (quote offline) (quote ok))) ((and gnus-agent (gnus-agent-method-p gnus-command-method)) (cond (gnus-server-unopen-status ... gnus-server-unopen-status) (... ... ...) (t ...))) (t (quote denied)))) (if open-offline (let ((gnus-server-unopen-status (quote denied))) (gnus-open-server gnus-command-method)) (when (and (eq (cadr elem) (quote ok)) gnus-agent (gnus-agent-method-p gnus-command-method)) (save-excursion (gnus-agent-possibly-synchronize-flags-server gnus-command-method))) result))))
  gnus-open-server((nnimap "a" (nnimap-address "a.example.org")))
  (setq result (gnus-open-server method))
  (prog1 (setq result (gnus-open-server method)) (unless silent (gnus-message (if result 5 3) "Opening %s server%s...%s" (car method) (if (equal (nth 1 method) "") "" (format " on %s" (nth 1 method))) (if result "done" (format "failed: %s" (nnheader-get-report-string (car method)))))))
  (if (gnus-server-opened method) t (unless silent (gnus-message 5 "Opening %s server%s..." (car method) (if (equal (nth 1 method) "") "" (format " on %s" (nth 1 method))))) (gnus-run-hooks (quote gnus-open-server-hook)) (prog1 (setq result (gnus-open-server method)) (unless silent (gnus-message (if result 5 3) "Opening %s server%s...%s" (car method) (if (equal (nth 1 method) "") "" (format " on %s" (nth 1 method))) (if result "done" (format "failed: %s" (nnheader-get-report-string (car method))))))))
  (let ((method (or method gnus-select-method)) result) (when (stringp method) (setq method (gnus-server-to-method method))) (if (gnus-server-opened method) t (unless silent (gnus-message 5 "Opening %s server%s..." (car method) (if (equal (nth 1 method) "") "" (format " on %s" (nth 1 method))))) (gnus-run-hooks (quote gnus-open-server-hook)) (prog1 (setq result (gnus-open-server method)) (unless silent (gnus-message (if result 5 3) "Opening %s server%s...%s" (car method) (if (equal (nth 1 method) "") "" (format " on %s" (nth 1 method))) (if result "done" (format "failed: %s" (nnheader-get-report-string ...))))))))
  gnus-check-server((nnimap "a" (nnimap-address "a.example.org")))
  gnus-read-active-file-1((nnimap "a" (nnimap-address "a.example.org")) nil)
  gnus-get-unread-articles(2)
  gnus-setup-news(nil 2 t)
  byte-code("\204	\204\306 \210\202L\307\310!\210\311\n!\f\204
\203!\312 \210\313\314#\210\307\315!\210\2036\316\317\320\"\210\321 \210\322!\210\323 \210\324\325!\210\326 \210\307\327!\210\314\207" [dont-connect did-connect gnus-startup-file gnus-current-startup-file gnus-slave gnus-use-dribble-file gnus-group-quit gnus-run-hooks gnus-startup-hook gnus-make-newsrc-file gnus-dribble-read-file gnus-setup-news nil gnus-setup-news-hook gnus-request-create-group "queue" (nndraft "") gnus-start-draft-setup gnus-group-list-groups gnus-group-first-unread-group gnus-configure-windows group gnus-group-set-mode-line gnus-started-hook level gnus-agent] 4)
  gnus-1(2 t nil)
  gnus(2 t nil)
  gnus-no-server-1(nil nil)
  gnus-no-server(nil)
  call-interactively(gnus-no-server t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)

Regards,
-- 
Daiki Ueno