Subject: 26.2.90; file-error spinner-1.7.3.el, Bad Request

From: Brady Trainor <[email-masked]>
Date: Wed, 03 Jul 2019 20:39:15 -0700

Hello,

When I setup lsp-java in a Docker to verify setup steps, I get
intermittent errors as package.el tries to install a requirement from
elpa.gnu. If I experiment with different OSes, different emacs versions,
it is difficult to reproduce. With the description below, of a
Dockerfile and an init.el, the issue happens seems to happen more
frequently if I have iterated on restart a few times in a row.

The init.el is as follows.

--8<---------------cut here---------------start------------->8---
(setq package-archives
      '(("gnu" . "https://elpa.gnu.org/packages/")
        ("melpa" . "https://melpa.org/packages/")))

(package-initialize)

(unless package-archive-contents
  (package-refresh-contents))

(package-install 'lsp-java)
--8<---------------cut here---------------end--------------->8---

The contents of the Dockerfile are as follows.

--8<---------------cut here---------------start------------->8---
FROM silex/emacs

ADD .emacs.d /root/.emacs.d

CMD "emacs" "--debug-init"
--8<---------------cut here---------------end--------------->8---

The Dockerfile and the .emacs.d/init.el are in the same directory. Then,
in that directory, I call with the following.

--8<---------------cut here---------------start------------->8---
docker build . -t this:one && docker run --rm -it this:one
--8<---------------cut here---------------end--------------->8---

I then get the following error, but neither 0% nor 100% of the time.

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (file-error "https://elpa.gnu.org/packages/spinner-1.7.3.el" "Bad Request") signal(file-error ("https://elpa.gnu.org/packages/spinner-1.7.3.el" "Bad Request")) package-install-from-archive(#s(package-desc :name spinner :version (1 7 3) :summary "Add spinners and progress-bars to the mode-line for ongoing operations" :reqs nil :kind single :archive "gnu" :dir nil :extras ((:keywords "processes" "mode-line") (:authors ("Artur Malabarba" . "[email-masked]")) (:maintainer "Artur Malabarba" . "[email-masked]") (:url . "https://github.com/Malabarba/spinner.el")) :signed nil))
  mapc(package-install-from-archive (#s(package-desc :name request :version (20190621 1622) :summary "Compatible layer for URL request in Emacs" :reqs ((emacs (24 4))) :kind single :archive "melpa" :dir nil :extras ((:commit . "ef9f509b5579f2b529a20e43f7e0f061e641fec5") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>") (:url . "https://github.com/tkf/emacs-request")) :signed nil) #s(package-desc :name dash :version (20190424 1804) :summary "A modern list library for Emacs" :reqs nil :kind single :archive "melpa" :dir nil :extras ((:commit . "77f3bf40c9c85386a50f2dab3dc950513f6f88bd") (:keywords "lists") (:authors ("Magnar Sveen" . "[email-masked]")) (:maintainer "Magnar Sveen" . "[email-masked]")) :signed nil) #s(package-desc :name dash-functional :version (20180107 1618) :summary "Collection of useful combinators for Emacs Lisp" :reqs ((dash (2 0 0)) (emacs (24))) :kind single :archive "melpa" :dir nil :extras ((:commit . "77f3bf40c9c85386a50f2dab3dc950513f6f88bd") (:keywords "lisp" "functions" "combinators")) :signed nil) #s(package-desc :name ht :version (20190611 2131) :summary "The missing hash table library for Emacs" :reqs ((dash (2 12 0))) :kind single :archive "melpa" :dir nil :extras ((:commit . "5650a8cd190badb49d28d21e72a2f55c9380de7b") (:keywords "hash table" "hash map" "hash") (:authors ("Wilfred Hughes" . "[email-masked]")) (:maintainer "Wilfred Hughes" . "[email-masked]")) :signed nil) #s(package-desc :name s :version (20180406 808) :summary "The long lost Emacs string manipulation library." :reqs nil :kind single :archive "melpa" :dir nil :extras ((:commit . "03410e6a7a2b11e47e1fea3b7d9899c7df26435e") (:keywords "strings") (:authors ("Magnar Sveen" . "[email-masked]")) (:maintainer "Magnar Sveen" . "[email-masked]")) :signed nil) #s(package-desc :name f :version (20190109 906) :summary "Modern API for working with files and directories" :reqs ((s (1 7 0)) (dash (2 2 0))) :kind single :archive "melpa" :dir nil :extras ((:commit . "8191672377816a1975414cc1f116fd3b94b30bd0") (:keywords "files" "directories") (:authors ("Johan Andersson" . "[email-masked]")) (:maintainer "Johan Andersson" . "[email-masked]") (:url . "http://github.com/rejeep/f.el")) :signed nil) #s(package-desc :name markdown-mode :version (20190305 319) :summary "Major mode for Markdown-formatted text" :reqs ((emacs (24 4)) (cl-lib (0 5))) :kind single :archive "melpa" :dir nil :extras ((:commit . "115f77df9755c6a453f3e5d9623ff885d207ea82") (:keywords "markdown" "github flavored markdown" "itex") (:authors ("Jason R. Blevins" . "[email-masked]")) (:maintainer "Jason R. Blevins" . "[email-masked]") (:url . "https://jblevins.org/projects/markdown-mode/")) :signed nil) #s(package-desc :name spinner :version (1 7 3) :summary "Add spinners and progress-bars to the mode-line for ongoing operations" :reqs nil :kind single :archive "gnu" :dir nil :extras ((:keywords "processes" "mode-line") (:authors ("Artur Malabarba" . "[email-masked]")) (:maintainer "Artur Malabarba" . "[email-masked]") (:url . "https://github.com/Malabarba/spinner.el")) :signed nil) #s(package-desc :name lsp-mode :version (20190629 546) :summary "LSP mode" :reqs ((emacs (25 1)) (dash (2 14 1)) (dash-functional (2 14 1)) (f (0 20 0)) (ht (2 0)) (spinner (1 7 3)) (markdown-mode (2 3))) :kind tar :archive "melpa" :dir nil :extras ((:commit . "9f89a3413865343a1a1f794fe45b31f72e56912e") (:keywords "languages") (:authors ("Vibhav Pant, Fangrui Song, Ivan Yonchovski")) (:maintainer "Vibhav Pant, Fangrui Song, Ivan Yonchovski") (:url . "https://github.com/emacs-lsp/lsp-mode")) :signed nil) #s(package-desc :name lsp-java :version (20190623 659) :summary "Java support for lsp-mode" :reqs ((emacs (25 1)) (lsp-mode (6 0)) (markdown-mode (2 3)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (dash-functional (1 2 0)) (request (0 3 0))) :kind tar :archive "melpa" :dir nil :extras ((:commit . "305eb56aecc7180c294cd06ab7a8dd62cba40f70") (:keywords "java") (:url . "https://github.com/emacs-lsp/lsp-java")) :signed nil)))
  package-download-transaction((#s(package-desc :name request :version (20190621 1622) :summary "Compatible layer for URL request in Emacs" :reqs ((emacs (24 4))) :kind single :archive "melpa" :dir nil :extras ((:commit . "ef9f509b5579f2b529a20e43f7e0f061e641fec5") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>") (:url . "https://github.com/tkf/emacs-request")) :signed nil) #s(package-desc :name dash :version (20190424 1804) :summary "A modern list library for Emacs" :reqs nil :kind single :archive "melpa" :dir nil :extras ((:commit . "77f3bf40c9c85386a50f2dab3dc950513f6f88bd") (:keywords "lists") (:authors ("Magnar Sveen" . "[email-masked]")) (:maintainer "Magnar Sveen" . "[email-masked]")) :signed nil) #s(package-desc :name dash-functional :version (20180107 1618) :summary "Collection of useful combinators for Emacs Lisp" :reqs ((dash (2 0 0)) (emacs (24))) :kind single :archive "melpa" :dir nil :extras ((:commit . "77f3bf40c9c85386a50f2dab3dc950513f6f88bd") (:keywords "lisp" "functions" "combinators")) :signed nil) #s(package-desc :name ht :version (20190611 2131) :summary "The missing hash table library for Emacs" :reqs ((dash (2 12 0))) :kind single :archive "melpa" :dir nil :extras ((:commit . "5650a8cd190badb49d28d21e72a2f55c9380de7b") (:keywords "hash table" "hash map" "hash") (:authors ("Wilfred Hughes" . "[email-masked]")) (:maintainer "Wilfred Hughes" . "[email-masked]")) :signed nil) #s(package-desc :name s :version (20180406 808) :summary "The long lost Emacs string manipulation library." :reqs nil :kind single :archive "melpa" :dir nil :extras ((:commit . "03410e6a7a2b11e47e1fea3b7d9899c7df26435e") (:keywords "strings") (:authors ("Magnar Sveen" . "[email-masked]")) (:maintainer "Magnar Sveen" . "[email-masked]")) :signed nil) #s(package-desc :name f :version (20190109 906) :summary "Modern API for working with files and directories" :reqs ((s (1 7 0)) (dash (2 2 0))) :kind single :archive "melpa" :dir nil :extras ((:commit . "8191672377816a1975414cc1f116fd3b94b30bd0") (:keywords "files" "directories") (:authors ("Johan Andersson" . "[email-masked]")) (:maintainer "Johan Andersson" . "[email-masked]") (:url . "http://github.com/rejeep/f.el")) :signed nil) #s(package-desc :name markdown-mode :version (20190305 319) :summary "Major mode for Markdown-formatted text" :reqs ((emacs (24 4)) (cl-lib (0 5))) :kind single :archive "melpa" :dir nil :extras ((:commit . "115f77df9755c6a453f3e5d9623ff885d207ea82") (:keywords "markdown" "github flavored markdown" "itex") (:authors ("Jason R. Blevins" . "[email-masked]")) (:maintainer "Jason R. Blevins" . "[email-masked]") (:url . "https://jblevins.org/projects/markdown-mode/")) :signed nil) #s(package-desc :name spinner :version (1 7 3) :summary "Add spinners and progress-bars to the mode-line for ongoing operations" :reqs nil :kind single :archive "gnu" :dir nil :extras ((:keywords "processes" "mode-line") (:authors ("Artur Malabarba" . "[email-masked]")) (:maintainer "Artur Malabarba" . "[email-masked]") (:url . "https://github.com/Malabarba/spinner.el")) :signed nil) #s(package-desc :name lsp-mode :version (20190629 546) :summary "LSP mode" :reqs ((emacs (25 1)) (dash (2 14 1)) (dash-functional (2 14 1)) (f (0 20 0)) (ht (2 0)) (spinner (1 7 3)) (markdown-mode (2 3))) :kind tar :archive "melpa" :dir nil :extras ((:commit . "9f89a3413865343a1a1f794fe45b31f72e56912e") (:keywords "languages") (:authors ("Vibhav Pant, Fangrui Song, Ivan Yonchovski")) (:maintainer "Vibhav Pant, Fangrui Song, Ivan Yonchovski") (:url . "https://github.com/emacs-lsp/lsp-mode")) :signed nil) #s(package-desc :name lsp-java :version (20190623 659) :summary "Java support for lsp-mode" :reqs ((emacs (25 1)) (lsp-mode (6 0)) (markdown-mode (2 3)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (dash-functional (1 2 0)) (request (0 3 0))) :kind tar :archive "melpa" :dir nil :extras ((:commit . "305eb56aecc7180c294cd06ab7a8dd62cba40f70") (:keywords "java") (:url . "https://github.com/emacs-lsp/lsp-java")) :signed nil)))
  package-install(lsp-java)
  eval-buffer(#<buffer  *load*> nil "/root/.emacs.d/init.el" nil t)  ; Reading at buffer position 241
  load-with-code-conversion("/root/.emacs.d/init.el" "/root/.emacs.d/init.el" t t)
  load("/root/.emacs.d/init" t t)
  #f(compiled-function () #<bytecode 0x25ead9>)()
  command-line()
  normal-top-level()
--8<---------------cut here---------------end--------------->8---

I hope someone else can reproduce, and/or give advice on how I can
attempt to further isolate the issue.

Notes:

- It is not idempotent. If I restart emacs in the same image, it does
  not happen.
- If I install interactively, it does not happen.
- I tried briefly on macOS, and on Ubuntu in a VPS. It did not happen.
- If I use for example (mapc 'package-install '(spinner lsp-java)), it
  does not happen.

Thank you!

-Brady

Sent from mu4e