Subject: 27.0.50; [w32] Corrupt ~/.emacs.d/elpa/gnupg/ causes Emacs startup failure with gnu-elpa-keyring-update installed (was Re: Investigating Emacs startup failure)

From: Richard Copley <[email-masked]>
Date: Sun, 19 May 2019 20:28:14 +0100

I got my Emacs into a state where it failed to start. I asked about it on
help-gnu-emacs[1]. I fixed my Emacs, but didn't get to the bottom of the
problem. Stefan asked me to make it a bug report: "such a corrupt directory
shouldn't prevent use of Emacs".

After installing "gnu-elpa-keyring-update-2019.3" from GNU ELPA, my Emacs
stopped working: when invoked as "emacs" from the command line, it printed
a message, then exited with status -1 without displaying a frame. The
message was:

GPG error: "no usable configuration", OpenPGP

Emacs started normally when invoked as "emacs -Q". Having done that, I
could load my init file with M-x load-file, and then everything looked
normal and there were no messages or errors.

I uninstalled all packages (the problem went away) and reinstalled them
one-by-one. The problem came back after installing
"gnu-elpa-keyring-update-2019.3".

I tried renaming .emacs.d/ to reproduce the problem, but could not. On a
hunch I deleted the gnupg/ directory in ~/.emacs.d/elpa before reinstalling
the "gnu-elpa-keyring-update-2019.3" package. This fixed the problem, but
also destroyed my means of reproducing it.

[1] https://lists.gnu.org/archive/html/help-gnu-emacs/2019-05/msg00418.html

In GNU Emacs 27.0.50 (build 1, x86_64-w64-mingw32)
 of 2019-05-19 built on MACHINE
Repository revision: b87e5eea1dd7c7345d0a9f82759eedfd7c9a8099
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 10.0.18890

Configured using:
 'configure --config-cache --with-modules --without-pop --without-dbus
 --without-gconf --without-gsettings CFLAGS=-O3'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY W32NOTIFY ACL GNUTLS LIBXML2
ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER LCMS2 GMP
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Important settings:
  value of $LANG: ENG
  locale-coding-system: cp1252

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv dired dired-loaddefs format-spec rfc822 mml
easymenu mml-sec password-cache epa derived epg epg-config gnus-util
rmail rmail-loaddefs text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
elec-pair mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win
w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads w32notify w32 lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 45773 9549)
 (symbols 48 5970 1)
 (strings 32 16404 1855)
 (string-bytes 1 511709)
 (vectors 16 8836)
 (vector-slots 8 111332 13450)
 (floats 8 19 333)
 (intervals 56 217 15)
 (buffers 992 11))