unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10
@ 2023-11-09  2:35 Eason Huang
  2023-11-09 19:22 ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Eason Huang @ 2023-11-09  2:35 UTC (permalink / raw)
  To: 67006

Hell Emacs,

I found that when running w32-shell-execute with "open" will cause Emacs
freeze. And I have to kill the process of Emacs to restart.

Steps to reproduce:

1. Start Emacs with `emacs -Q`
2. M-: to eval the code below, you can change the second arg to other folder: 
```
(w32-shell-execute "open" "~/.emacs.d/")
```

3. Now the Emacs is frozen, C-Q also can not recover it. So you have to
kill process of Emacs, and restart Emacs again.


Best regards,

Eason Huang


In GNU Emacs 30.0.50 (build 1, x86_64-w64-mingw32) of 2023-11-09 built
 on DESKTOP-VIHFE84
Windowing system distributor 'Microsoft Corp.', version 10.0.19045
System Description: Microsoft Windows 10 Pro (v10.0.2009.19045.3570)

Configured using:
 'configure --with-native-compilation=aot --without-dbus 'CFLAGS=-O2
 -fno-optimize-sibling-calls''

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB

Important settings:
  value of $LANG: CHS
  locale-coding-system: cp936

Major mode: ELisp/d

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-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
  minibuffer-regexp-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils compile text-property-search
comint ansi-osc ansi-color ring comp cl-seq comp-cstr cl-extra help-mode
warnings icons subr-x rx gv bytecomp byte-compile vc-git diff-mode
easy-mmode vc-dispatcher cl-loaddefs cl-lib china-util rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table
term/w32-win w32-win w32-vars term/common-win touch-screen tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty
move-toolbar make-network-process native-compile emacs)

Memory information:
((conses 16 98361 13532) (symbols 48 8278 0) (strings 32 24487 1925)
 (string-bytes 1 724252) (vectors 16 19580)
 (vector-slots 8 431419 16728) (floats 8 48 64) (intervals 56 524 22)
 (buffers 992 15))






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10
  2023-11-09  2:35 bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10 Eason Huang
@ 2023-11-09 19:22 ` Eli Zaretskii
  2023-11-10  1:58   ` Eason Huang
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2023-11-09 19:22 UTC (permalink / raw)
  To: Eason Huang; +Cc: 67006

> From: Eason Huang <aqua0210@foxmail.com>
> Date: Thu, 09 Nov 2023 10:35:09 +0800
> 
> I found that when running w32-shell-execute with "open" will cause Emacs
> freeze. And I have to kill the process of Emacs to restart.
> 
> Steps to reproduce:
> 
> 1. Start Emacs with `emacs -Q`
> 2. M-: to eval the code below, you can change the second arg to other folder: 
> ```
> (w32-shell-execute "open" "~/.emacs.d/")
> ```
> 
> 3. Now the Emacs is frozen, C-Q also can not recover it. So you have to
> kill process of Emacs, and restart Emacs again.

I cannot reproduce this.  I tried this on several Windows systems and
several Emacs versions, including Windows 10 and Emacs 30, and I don't
see the hang.  (I don't have a Windows 10 system with Emacs 30, so I
tested there with an older version, but unless you are saying that
this happens only with Emacs 30 and only on Windows 10, I don't think
this matters.)

Tell me, does the directory "~/.emacs.d/" exist on that system?  If
you type "C-x C-f ~/.e" and press TAB, do you see ".emacs.d" among the
completion candidates?

Another thing to check is whether you customized your Windows system
in a way that affects the "open" operation on directories.

Also, what happens if you type

  M-: (w32-shell-execute nil "~/.emacs.d/")

?





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10
  2023-11-09 19:22 ` Eli Zaretskii
@ 2023-11-10  1:58   ` Eason Huang
  2023-11-10  7:19     ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Eason Huang @ 2023-11-10  1:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67006

Eli Zaretskii <eliz@gnu.org> writes:

> I cannot reproduce this.  I tried this on several Windows systems and
> several Emacs versions, including Windows 10 and Emacs 30, and I don't
> see the hang.  (I don't have a Windows 10 system with Emacs 30, so I
> tested there with an older version, but unless you are saying that
> this happens only with Emacs 30 and only on Windows 10, I don't think
> this matters.)

agree. actually this issue also happend on Emacs 29.2

I tested this version of Emacs 29:
http://mirrors.syringanetworks.net/gnu/emacs/windows/emacs-29/emacs-29.1_2.zip

> Tell me, does the directory "~/.emacs.d/" exist on that system?  If
> you type "C-x C-f ~/.e" and press TAB, do you see ".emacs.d" among the
> completion candidates?

Yes, I can confirm that the .emacs.d folder exist.

> Another thing to check is whether you customized your Windows system
> in a way that affects the "open" operation on directories.
>
> Also, what happens if you type
>
>   M-: (w32-shell-execute nil "~/.emacs.d/")

When I try `M-: (w32-shell-execute nil "~/.emacs.d/")`, it works as
expected. the .emacs.d folder will shows in the Windows Explorer.

I also try `M-: (w32-shell-execute "open" "~/.emacs.d/init.el")`,
it aslo works as expected, the init.el will be open with the default
notepad editor.


Another infomation about this issue, may be it is related:

I also tried to reproduce the issue on my other Windows machine with
Windows 10 and Emacs 30.

At the fist time I tried it, every things is working as expected. I also
can not reproduce the issue on that machine.

But after I installed the PowerToys  by
`winget installMicrosoft.PowerToys`, and luanch the powertoys then I can
reprodue the issue. Maybe the issue is related to PowerToys?

About the PowerToys: https://github.com/microsoft/PowerToys

But I uninstall the PowerToys, then restart that machine, the issue
still existed.


Best regard,

Eason Huang






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10
  2023-11-10  1:58   ` Eason Huang
@ 2023-11-10  7:19     ` Eli Zaretskii
  2023-11-10 23:28       ` Eason Huang
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2023-11-10  7:19 UTC (permalink / raw)
  To: Eason Huang; +Cc: 67006

> From: Eason Huang <aqua0210@foxmail.com>
> Cc: 67006@debbugs.gnu.org
> Date: Fri, 10 Nov 2023 09:58:17 +0800
> 
> > Also, what happens if you type
> >
> >   M-: (w32-shell-execute nil "~/.emacs.d/")
> 
> When I try `M-: (w32-shell-execute nil "~/.emacs.d/")`, it works as
> expected. the .emacs.d folder will shows in the Windows Explorer.

Then at least you have a workaround, since "open" is the default
operation for directories.

> I also tried to reproduce the issue on my other Windows machine with
> Windows 10 and Emacs 30.
> 
> At the fist time I tried it, every things is working as expected. I also
> can not reproduce the issue on that machine.
> 
> But after I installed the PowerToys  by
> `winget installMicrosoft.PowerToys`, and luanch the powertoys then I can
> reprodue the issue. Maybe the issue is related to PowerToys?
> 
> About the PowerToys: https://github.com/microsoft/PowerToys

I see that it includes "File Explorer add-ons", which could definitely
be the reason for what you see.

> But I uninstall the PowerToys, then restart that machine, the issue
> still existed.

It is possible that uninstalling PowerToys doesn't clean up the
Registry.

Anyway, I think this is not an Emacs bug, in which case we should
close it.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10
  2023-11-10  7:19     ` Eli Zaretskii
@ 2023-11-10 23:28       ` Eason Huang
  2023-11-11  7:12         ` Eli Zaretskii
  2023-11-12  2:33         ` Eason Huang
  0 siblings, 2 replies; 7+ messages in thread
From: Eason Huang @ 2023-11-10 23:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67006

Eli Zaretskii <eliz@gnu.org> writes:

> I see that it includes "File Explorer add-ons", which could definitely
> be the reason for what you see.
>
>> But I uninstall the PowerToys, then restart that machine, the issue
>> still existed.
>
> It is possible that uninstalling PowerToys doesn't clean up the
> Registry.
>
> Anyway, I think this is not an Emacs bug, in which case we should
> close it.
>

Sure, feel free to close the bug, if it is not an Emacs bug.


I also find another instresting thing:

1. Eval `(w32-shell-execute "open" "C:/Windows/SysWOW64/")` will freeze
Emacs.

2. Eval `(executable-find "C:/Windows/SysWOW64/explorer")` one time, and
then eval `(w32-shell-execute "open" "C:/Windows/SysWOW64/")` will open
the "C:/Windows/SysWOW64/" folder.

3. And then `(w32-shell-execute "open" "C:/Windows/SysWOW64/")` always
works.

reboot computer, issue exist again.


Do you have any advice on the above case?



-- 
Eason Huang






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10
  2023-11-10 23:28       ` Eason Huang
@ 2023-11-11  7:12         ` Eli Zaretskii
  2023-11-12  2:33         ` Eason Huang
  1 sibling, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2023-11-11  7:12 UTC (permalink / raw)
  To: Eason Huang; +Cc: 67006-done

> From: Eason Huang <aqua0210@foxmail.com>
> Cc: 67006@debbugs.gnu.org
> Date: Sat, 11 Nov 2023 07:28:40 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Anyway, I think this is not an Emacs bug, in which case we should
> > close it.
> 
> Sure, feel free to close the bug, if it is not an Emacs bug.

Done.

> I also find another instresting thing:
> 
> 1. Eval `(w32-shell-execute "open" "C:/Windows/SysWOW64/")` will freeze
> Emacs.
> 
> 2. Eval `(executable-find "C:/Windows/SysWOW64/explorer")` one time, and
> then eval `(w32-shell-execute "open" "C:/Windows/SysWOW64/")` will open
> the "C:/Windows/SysWOW64/" folder.
> 
> 3. And then `(w32-shell-execute "open" "C:/Windows/SysWOW64/")` always
> works.
> 
> reboot computer, issue exist again.
> 
> 
> Do you have any advice on the above case?

I cannot reproduce it.  Is this again on those systems where you have
PowerToys installed?

In any case, my Emacs is a 32-bit build, so maybe that is a factor
(since SysWOW64 is a special directory for 32-bit programs running on
64-bit Windows).





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10
  2023-11-10 23:28       ` Eason Huang
  2023-11-11  7:12         ` Eli Zaretskii
@ 2023-11-12  2:33         ` Eason Huang
  1 sibling, 0 replies; 7+ messages in thread
From: Eason Huang @ 2023-11-12  2:33 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67006

Eason Huang <aqua0210@foxmail.com> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
> I cannot reproduce it.  Is this again on those systems where you have
> PowerToys installed?
Yes, on the systems with PowerToys installed.
Because I cannot clean the regstry unless reinstall the Windows OS.

> In any case, my Emacs is a 32-bit build, so maybe that is a factor
> (since SysWOW64 is a special directory for 32-bit programs running on
> 64-bit Windows).
Maybe this is the root case of the issue.

Anyway, recently I can add "C:/Windows/SysWOW64" to exec-path as
workaroud.

Add this code to early-init.el works as expected:
```
(add-to-list 'exec-path "C:/Windows/SysWOW64")
```


Best regards,

Eason Huang






^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-11-12  2:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-09  2:35 bug#67006: 30.0.50; w32-shell-execute will freeze Emacs on Windows 10 Eason Huang
2023-11-09 19:22 ` Eli Zaretskii
2023-11-10  1:58   ` Eason Huang
2023-11-10  7:19     ` Eli Zaretskii
2023-11-10 23:28       ` Eason Huang
2023-11-11  7:12         ` Eli Zaretskii
2023-11-12  2:33         ` Eason Huang

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).