Subject: bug#46293: Windows 10: emacs freeze on kill emacs

From: [email-masked]
Date: Thu, 04 Feb 2021 10:00:55 GMT

If an file name is used, which is obviously invalid for some operations,
the following can happen:
1. The file gets opened anyway, although an error message states
otherwise:
 - File exists, but cannot be read
 - File mode specification error: (file-error Unlocking file Invalid argument //collaboration.dummyname.com@SSL/DavWWWRoot/subjects/foo bar.docx)
2. Trying to close the buffer triggers simmilar errors
3. Trying to exit emacs leads to a question wheter the file shall be saved.
 - Selecing No now again leads to similar error message, but now emacs also freezes (is unresponsive and GUI is no longer updated).
 - Emacs must be killed via task-manager.

In GNU Emacs 28.0.50 (build 1, x86_64-w64-mingw32)
 of 2020-07-05 built on CIRROCUMULUS
Repository revision: e3ada2063aa286ea6898a60d95061a77fb752ca8
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 10.0.18363
System Description: Microsoft Windows 10 Pro (v10.0.1909.18363.1316)
Recent messages:
Parsing archive file...done.
File mode specification error: (file-error Unlocking file Invalid argument //collaboration.dummyname.com@SSL/DavWWWRoot/subjects/foo bar.docx)
next-line: End of buffer
Beginning of buffer [5 times]
Mark set
End of buffer [2 times]
Beginning of buffer [2 times]
Buffer SPLF3_ChangeDocumentation_V3.4.1.27_to_V3.5.X.Y.docx modified; kill anyway? (y or n) y
kill-current-buffer: Unlocking file: Invalid argument, //collaboration.dummyname.com@SSL/DavWWWRoot/subjects/foo bar.docx
Beginning of buffer [3 times]
Configured using:
 'configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install -C 'CFLAGS=-O2 -static -g3'
 host_alias=x86_64-w64-mingw32 PKG_CONFIG_PATH=/mingw64/lib/pkgconfig'
Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY W32NOTIFY ACL GNUTLS LIBXML2
HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER LCMS2 GMP
Important settings:
 value of $LANG: DEU
 locale-coding-system: cp1252
Major mode: Zip-Archive
Minor modes in effect:
 yas-global-mode: t
 yas-minor-mode: t
 which-key-mode: t
 volatile-highlights-mode: t
 treemacs-filewatch-mode: t
 treemacs-follow-mode: t
 treemacs-fringe-indicator-mode: t
 smartparens-global-mode: t
 global-semantic-decoration-mode: t
 selected-global-mode: t
 selected-minor-mode: t
 my-projects-mode: t
 global-so-long-mode: t
 spaceline-info-mode: t
 spaceline-helm-mode: t
 savehist-mode: t
 interaction-log-mode: t
 hes-mode: t
 helm-descbinds-mode: t
 global-undo-tree-mode: t
 undo-tree-mode: t
 global-semantic-highlight-func-mode: t
 flycheck-pos-tip-mode: t
 global-display-fill-column-indicator-mode: t
 display-fill-column-indicator-mode: t
 global-edit-server-edit-mode: t
 change-cursor-mode: t
 csv-field-index-mode: t
 global-mark-compiler-error-side-mode: t
 projectile-mode: t
 helm-mode: t
 global-atomic-chrome-edit-mode: t
 helm-ff-cache-mode: t
 helm-autoresize-mode: t
 global-company-mode: t
 company-mode: t
 global-magit-file-mode: t
 magit-wip-before-change-mode: t
 magit-wip-after-apply-mode: t
 global-git-commit-mode: t
 cppunit-font-lock-global-mode: t
 async-bytecomp-package-mode: t
 override-global-mode: t
 global-auto-revert-mode: t
 which-function-mode: t
 display-time-mode: t
 display-battery-mode: t
 delete-selection-mode: t
 shell-dirtrack-mode: t
 recentf-mode: t
 global-eldoc-mode: t
 mouse-wheel-mode: t
 menu-bar-mode: t
 file-name-shadow-mode: t
 global-font-lock-mode: t
 font-lock-mode: t
 auto-composition-mode: t
 auto-encryption-mode: t
 auto-compression-mode: t
 buffer-read-only: t
 column-number-mode: t
 line-number-mode: t
 global-visual-line-mode: t
 visual-line-mode: t
 transient-mark-mode: t
Load-path shadows:
d:/home/.emacs.d/vendor/yari.el/yari hides d:/home/.emacs.d/vendor/yari
d:/home/.emacs.d/vendor/cursor-chg/cursor-chg hides d:/home/.emacs.d/elpa/cursor-chg-20170221.1610/cursor-chg
d:/home/.emacs.d/elisp/git/git hides d:/home/.emacs.d/elpa/git-20140128.1041/git
Features:
(image-file winner face-remap helm-external ffap shadow mail-extr
emacsbug sendmail display-line-numbers subword-mode-expansions cap-words
superword subword highlight-parentheses ztree-diff ztree-diff-model
ztree-view ztree-util helm-dash dash-docs gnutls helm-c-yasnippet
yasnippet x-path-walker nxml-mode-expansions rng-nxml rng-valid
nxml-mode nxml-outln nxml-rap hideshow xkcd windmove whitespace
which-key volatile-highlights vlf-setup visual-regexp unicode-fonts
treemacs treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-interface treemacs-extensions
treemacs-persistence treemacs-mouse-interface treemacs-tag-follow-mode
treemacs-filewatch-mode treemacs-tags treemacs-follow-mode
treemacs-rendering treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-scope treemacs-faces
treemacs-icons treemacs-themes treemacs-core-utils pfuture inline
treemacs-logging treemacs-customization treemacs-macros transpose-frame
tldr time-stamp tfs swig-mode smartparens-config smartparens-ruby
smartparens-org smartparens-python smartparens-markdown smartparens-text
smartparens-lua smartparens-html smartparens-c smartparens
string-inflection sx semantic/decorate/mode semantic/db-mode selected
cdlatex texmathp ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir
gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win
ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb
ol-w3m seeing-is-believing goto-gem rspec-mode rhtml-mode
rhtml-navigation rhtml-sgml-hacks rhtml-ruby-hook html-mode-expansions
sgml-mode rhtml-erb rhtml-fonts yari yaml-mode ruby-compilation request
rake rainbow-identifiers helm-projectile my-project prog-utils
my-printf-highlight platformio-mode so-long hi-lock org-sidebar
org-ql-view ov org-super-agenda ht org-ql peg ts org-habit
emacs-keybinding-command-tooltip-mode org-table-sticky-header ox-gfm
ob-bat ob-shell ox-md ob-sqlite ob-R ob-maxima ob-gnuplot ob-mscgen
ob-plantuml ob-ditaa ob-dot ob-python ob-jruby ob-java ob-perl ob-lua
ob-latex ob-makefile ob-calc calc-store calc-trail ob-C ob-eukleides
ob-rspec ob-ruby ob-asymptote ox-reveal ox-extra org-collector
my-org-tools org-crypt org-eldoc org-passwords org-install org-outlook
org-outlook-html ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar ox-html table ox-ascii ox-publish ox org-download
org-attach org-id narrow-indirect tool-folders my-move-lines
multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operations
rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors
mc-edit-lines multiple-cursors-core rect multifiles multi-term
mscgen-mode diminish spaceline-config spaceline-segments spaceline
powerline powerline-separators powerline-themes savehist saveplace
my-magit-describe-file langtool kurecolor jruby-mode jdee jdee-wiz
jdee-test jdee-stacktrace jdee-refactor dired-aux jdee-project-file
jdee-maven jdee-keys jdee-jdb jdee-java-grammar jdee-which-method
jdee-font-lock jdee-issues jdee-help jdee-gen tempo jdee-find jdee-deps
jdee-cygwin jdee-custom jdee-compile jdee-class jdee-bytecode jdee-bug
jdee-run jdee-jdk-manager jdee-dbs jdee-dbo jdee-widgets jdee-db
jdee-open-source jdee-import jdee-complete semantic/idle jdee-archive
jdee-parse jdee-backend jdee-bsh jdee-util arc-mode archive-mode
jdee-parse-expr beanshell semantic/sb speedbar dframe jdee-imenu
semantic/imenu semantic/db-file data-debug cedet-files semantic/java
semantic/doc jdee-avl-tree efc jdee-annotations jdee-abbrev
jdee-classpath jdee-files jdee-activator jdee-log cus-edit
flyspell-correct-helm flyspell-correct interaction-log ini-mode
imenu-list ibuffer-vc howdoi hl-sentence highlight highlight-symbol
highlight-stages highlight-escape-sequences hexrgb help-fns+ help-fns
radix-tree helm-ls-git helm-dictionary helm-net helm-flyspell flyspell
ispell helm-smex helm-command smex helm-describe-modes helm-descbinds
helm-ag helm-gtags helm-swoop helm-config ggtags grep-context goto-chg
undo-tree google-translate-smooth-ui google-translate
google-translate-default-ui google-translate-core-ui ido
google-translate-core google-translate-tk google-translate-backend
my-git magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff
ediff-help ediff-init ediff-util git-link git-messenger gitignore-mode
gitconfig-mode conf-mode gitattributes-mode egit git ewoc
git-timemachine git-complete gist gh-gist gh-oauth gh-api logito
gh-cache pcache gh-auth gh-url gh-profile gem-file-mode function-args
semantic-directory semantic/ia semantic/analyze/refs semantic/db-find
semantic/db-ref semantic/senator semantic/decorate pulse
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
semantic/db eieio-base semantic/ctxt semantic/format ezimage
semantic/tag-ls semantic/find semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet foreign-regexp
flycheck-pos-tip pos-tip flycheck display-fill-column-indicator eww
mm-url gnus nnheader eval-in-repl-shell eval-in-repl-lua lua-mode
eval-in-repl-ruby inf-ruby ruby-mode-expansions ruby-mode
eval-in-repl-python python-el-fgallina-expansions python
eval-in-repl-ielm ielm eval-in-repl ace-window paredit eshell esh-cmd
esh-proc esh-module esh-groups epa-file engine-mode embrace
expand-region text-mode-expansions cc-mode-expansions
the-org-mode-expansions feature-mode-expansions er-basic-expansions
expand-region-core expand-region-custom em-term esh-ext esh-opt esh-io
esh-arg esh-util elfeed-org elfeed-show elfeed-search vc-git
company-c-headers company-irony irony-completion irony-snippet
company-web-html company-web company-css web-completion-data
magit-bookmark bookmark pp shr svg dom elfeed-csv elfeed elfeed-curl
elfeed-log elfeed-db elfeed-lib url-queue xml-query elf-files-mode
eldoc-extension edit-server dumb-jump popup dockerfile-mode sh-script
smie executable dired-git-info all-the-icons-dired all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons memoize dired-subtree
dired-hacks-utils dired-k dired-x diff-region dictcc ivy flx ivy-faces
ivy-overlay colir desktop frameset calc-ext calc calc-loaddefs calc-macs
deft cursor-chg feature-mode cucumber-mode csv-mode sort crosshairs
col-highlight vline hl-line+ hl-line mark-compiler-error-sideline
mark-compiler-error cheatsheet cff centered-cursor-mode calfw-gcal
calfw-org org-capture org-element avl-tree calfw holidays hol-loaddefs
german-holidays bufler projectile ibuf-ext ibuffer ibuffer-loaddefs
pretty-hydra hydra lv bufler-group-tree dash-functional vc vc-dispatcher
helm-bbdb helm-mode bbdb bbdb-site timezone atomic-chrome websocket
bindat let-alist annotate ace-jump-helm-line linum avy helm-company
helm-elisp helm-eval edebug backtrace helm-info helm-files helm-buffers
helm-occur helm-tags helm-locate helm-grep wgrep-helm wgrep grep
helm-regexp helm-utils helm-help helm-types helm helm-global-bindings
helm-easymenu helm-source helm-multi-match helm-lib
company-irony-c-headers irony irony-iotask company-oddmuse
company-keywords company-etags etags fileloop generator xref project
company-gtags company-dabbrev-code company-dabbrev company-files
company-clang company-capf company-cmake company-semantic
company-template company-bbdb company theldoria-theme env-laptop
robot-mode org-location-google-maps org-agenda org-refile google-maps
google-maps-static google-maps-geocode google-maps-base orgit
magit-submodule magit-obsolete magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode
diff magit-core magit-autorevert magit-margin magit-transient
magit-process magit-mode git-commit magit-git magit-section magit-utils
crm log-edit message dired dired-loaddefs rfc822 mml mml-sec epa epg
epg-config gnus-util rmail rmail-loaddefs text-property-search mm-decode
mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader pcvs-util
add-log with-editor org-insert-dblock org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete
org-list org-faces org-entities org-version ob-emacs-lisp ob-core
ob-eval org-table ol org-keys org-compat org-macs org-loaddefs find-func
cal-menu calendar cal-loaddefs my-c++-tools my-serial-term term ehelp
cppunit-utils pc-lint-plus-mode markdown-mode edit-indirect color
thingatpt noutline outline pc-lint-mode server fartel-mode
linux-log-mode url-ns tshark-mode hnffiles-mode cov-mode tc-build-log
tc-build-log-folding stack-test-script-mode cc-langs cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
rspec-log-mode diff-putty-log-mode diff-git diff-mode putty-log-mode
hide-lines cppunit-font-lock tc-popup magit-popup tc-coverage tc-lint
tc-win tc-tr transient cl-extra help-mode async-bytecomp async tc-remote
tc derived tc-tools f s dash build-compile compile use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core benchmark-init warnings
finder-inf network-stream url-http mail-parse rfc2231 rfc2047 rfc2045
mm-util ietf-drums mail-prsvr url-gw nsm rmc puny url-cache url-auth url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap my-tools autorevert filenotify icomplete
which-func imenu time battery dbus xml cus-start cus-load delsel dabbrev
tramp-cache tramp-sh tramp tramp-loaddefs trampver tramp-integration
files-x tramp-compat shell pcomplete comint ansi-color ring parse-time
iso8601 time-date format-spec recentf tree-widget wid-edit advice
tex-site tab-line pcase easy-mmode gh-common marshal eieio-compat
kotl-autoloads rx edmacro kmacro realgud-recursive-autoloads cl info
package easymenu browse-url url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
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 tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer 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 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 1195929 918774)
 (symbols 48 87720 3)
 (strings 32 400885 104384)
 (string-bytes 1 13427882)
 (vectors 16 141389)
 (vector-slots 8 1852600 1237500)
 (floats 8 1498 8472)
 (intervals 56 11078 5723)
 (buffers 992 19))