Podczas pracy package-list-packages
otrzymuję następujące błędy:
Failed to download `gnu' archive.
gnutls.c: [0] (Emacs) fatal error: The TLS connection was non-properly terminated.
Używam Emacsa 24.4 w systemie Windows. Do tego tygodnia pobieranie pakietów odbywało się normalnie.
Wypróbowałem ten przewodnik na temat konfigurowania Emacs-GnuTLS-Windows. Próbowałem uruchomić ten kod z sekcji Sprawdź, czy działa :
(condition-case e
(delete-process
(gnutls-negotiate
:process (open-network-stream "test" nil "www.google.com" 443)
:hostname "www.google.com"
:verify-error t))
(error e))
Dostaję nil
się do bufora bez błędu sprawdzania poprawności, co według artykułu jest oznaką sukcesu. Jeśli jednak ustawię (setq gnutls-log-level 2)
i uruchomię kod ponownie, otrzymam następujące dane wyjściowe.
gnutls.c: [1] (Emacs) allocating credentials
gnutls.c: [2] (Emacs) allocating x509 credentials
gnutls.c: [2] (Emacs) using default verification flags
gnutls.c: [1] (Emacs) setting the trustfile: c:/gnutls/cacert.pem
gnutls.c: [1] (Emacs) gnutls callbacks
gnutls.c: [1] (Emacs) gnutls_init
gnutls.c: [1] (Emacs) got non-default priority string: NORMAL
gnutls.c: [1] (Emacs) setting the priority string
gnutls.c: [audit] Note that the security level of the Diffie-Hellman key exchange has been lowered to 256 bits and this may allow decryption of the session data
gnutls.c: [1] (Emacs) non-fatal error: Resource temporarily unavailable, try again. [1428 times]
gnutls.c: [2] (Emacs) Deallocating x509 credentials
To wydaje się trochę dziwne. Według tej listy mailingowej błąd zwykle nie jest szkodliwy. Niemniej jednak nadal nie mogę pobrać gnu
.
Jak mogę przywrócić normalne pobieranie pakietów?
Aktualizacja czerwcowa
Chociaż istnieją pewne sugestie na GitHub, że komunikat o błędzie jest fałszywy, gnu
nadal nie można go pobrać. Potwierdziłem to, sprawdzając lokalne wersje pakietów z najnowszymi aktualizacjami repozytorium online .
Aktualizacja 24.5
Nie mogę już odtworzyć problemu po aktualizacji do Emacsa 24.5.
źródło
Odpowiedzi:
Wygląda na to, że jest to błąd związany z interakcją niektórych wersji emacsa z niektórymi wersjami gnutl:
https://github.com/nicferrier/elmarmalade/issues/55#issuecomment-75377455
źródło
Nie mogę już odtworzyć problemu po aktualizacji do najnowszej stabilnej wersji Emacsa (obecnie 24.5). C-h Npokazuje, że w tej wersji wprowadzono szereg zmian w podpisach pakietów.
źródło