Subject: 24.3.50; can't use news.gmane.org with gnus and gnutls since r115532
From: Nicolas Richard <[email-masked]>
To: [email-masked]
Date: Mon, 16 Dec 2013 17:19:23 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

hello,

Recipe:
./emacs -Q --batch --eval '(setq gnus-select-method (quote (nntp "news.gmane.org")))' --eval '(gnus)'

Result:
>>> (wrong-type-argument listp nil)
nntp (news.gmane.org) open error: '>>> (wrong-type-argument listp nil)'.  Continue? (y or n)

Additionnaly, it took me some time to figure out how to obtain a
backtrace, but it worked by evaluting these from -Q:

;; first try opening gnus, to autoload stuff
(let ((gnus-select-method '(nntp "news.gmane.org")))
  (gnus nil t))
;; then get the backtrace
(let ((gnus-opened-servers) ; forget that it just failed
      (debug-on-signal t)) ; force entering debugger
  (gnus-open-server (list 'nntp "news.gmane.org")))

the backtrace then is (byte code contains NUL, which will be stripped
when I send this message):

Debugger entered--Lisp error: (wrong-type-argument listp nil)
  gnutls-boot(#<process nntpd> gnutls-x509pki (:priority "NORMAL" :hostname "news.gmane.org" :loglevel 0 :min-prime-bits 256 :trustfiles ("/etc/ssl/certs/ca-certificates.crt") :crlfiles nil :keylist nil :verify-flags nil :verify-error nil :callbacks nil))
  gnutls-negotiate(:process #<process nntpd> :hostname "news.gmane.org" :keylist nil)
  byte-code("\303\304\305	\306\n\205\f\nC&\207" [stream host cert gnutls-negotiate :process :hostname :keylist] 7)
  network-stream-open-starttls("nntpd" #<buffer  *server news.gmane.org nntp  *nntpd**> "news.gmane.org" "nntp" (:type network :end-of-command "^\\([2345]\\|[.]\\).*\n" :capability-command "HELP\n" :success "^3" :starttls-function #[(capabilities) "\301\302\"\205\303\207" [capabilities string-match "STARTTLS" "STARTTLS\n"] 3]))
  open-protocol-stream("nntpd" #<buffer  *server news.gmane.org nntp  *nntpd**> "news.gmane.org" "nntp" :type network :end-of-command "^\\([2345]\\|[.]\\).*\n" :capability-command "HELP\n" :success "^3" :starttls-function #[(capabilities) "\301\302\"\205\303\207" [capabilities string-match "STARTTLS" "STARTTLS\n"] 3])
  byte-code("\306\211\307\310\"\203*\311\312\f\313\310\"\211A@\262\314\315\316\317\320\321\322\323&\202-\f!+\207" [map coding-system-for-write coding-system-for-read nntp-open-connection-function pbuffer nntp-address binary ((nntp-open-network-stream network) (network-only plain) (nntp-open-plain-stream plain) (nntp-open-ssl-stream tls) (nntp-open-tls-stream tls)) assoc open-protocol-stream "nntpd" :type :end-of-command "^\\([2345]\\|[.]\\).*\n" :capability-command "HELP\n" :success "^3" :starttls-function #[(capabilities) "\301\302\"\205\303\207" [capabilities string-match "STARTTLS" "STARTTLS\n"] 3] nntp-port-number] 15)
  nntp-open-connection(#<buffer  *nntpd*>)
  nntp-open-server("news.gmane.org" nil)
  byte-code("	A@	AA\"\207" [open-server-function gnus-command-method] 3)
  gnus-open-server((nntp "news.gmane.org"))
  (let ((gnus-opened-servers) (debug-on-signal t)) (gnus-open-server (list (quote nntp) "news.gmane.org")))
  eval-region(141 302 t #[257 "\300\242b\210\301\207" [(302) (let ((gnus-opened-servers) (debug-on-signal t)) (gnus-open-server (list (quote nntp) "news.gmane.org")))] 2 "\n\n(fn IGNORE)"])  ; Reading at buffer position 200
  eval-defun-2()
  eval-defun(nil)
  call-interactively(eval-defun nil nil)
  command-execute(eval-defun)

the "problem" is that :verify-error is nil.

-- 
Nico.