Skip to content

wslinfo --msal-proxy-path hangs #12714

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
1 of 2 tasks
mdbooth opened this issue Mar 19, 2025 · 10 comments
Closed
1 of 2 tasks

wslinfo --msal-proxy-path hangs #12714

mdbooth opened this issue Mar 19, 2025 · 10 comments

Comments

@mdbooth
Copy link

mdbooth commented Mar 19, 2025

Windows Version

Microsoft Windows [Version 10.0.26100.3476]

WSL Version

2.4.12.0

Are you using WSL 1 or WSL 2?

  • WSL 2
  • WSL 1

Kernel Version

5.15.167.4-1

Distro Version

Fedora 41

Other Software

No response

Repro Steps

wslinfo --msal-proxy-path

Expected Behavior

Not sure, tbh, but rocminfo runs it and presumably it doesn't expect it to hang. I see an identical report of the issue I'm hitting here: ROCm/ROCm#4281

Actual Behavior

It hangs. It is also not possible to kill it from the terminal. I can kill it from another terminal, then close and re-attach to my tmux session to resume, but I can't continue from the same terminal even after killing it. Whatever death this dies is also not very nice to the terminal.

Diagnostic Logs

Running it in strace suggests it hangs expecting a response from /run/WSL/471_interop which it never gets.

> strace -s 256 -f -- wslinfo --msal-proxy-path                                                                                                                                                                                                                                                 
execve("/usr/bin/wslinfo", ["wslinfo", "--msal-proxy-path"], 0x7ffc55638ef8 /* 30 vars */) = 0                                                                                                                                                                                                                        
arch_prctl(ARCH_SET_FS, 0x455810)       = 0                                                                                                                                                                                                                                                                           
set_tid_address(0x455788)               = 50030                                                                                                                                                                                                                                                                       
gettid()                                = 50030                                                                                                                                                                                                                                                                       
gettid()                                = 50030                                                                                                                                                                                                                                                                       
gettid()                                = 50030                                                                                                                                                                                                                                                                       
gettid()                                = 50030                                                                                                                                                                                                                                                                       
brk(NULL)                               = 0x34db6000                                                                                                                                                                                                                                                                  
brk(0x34db8000)                         = 0x34db8000                                                                                                                                                                                                                                                                  
mmap(0x34db6000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x34db6000                                                                                                                                                                                                                            
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f55000                                                                                                                                                                                                                             
mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f51000                                                                                                                                                                                                                            
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f50000                                                                                                                                                                                                                             
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f4f000                                                                                                                                                                                                                             
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f4e000                                                                                                                                                                                                                             
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f4d000                                                                                                                                                                                                                             
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f4c000                                                                                                                                                                                                                             
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f4b000                                                                                                                                                                                                                             
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f4a000                                                                                                                                                                                                                             
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f48000                                                                                                                                                                                                                             
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f46000                                                                                                                                                                                                                             
sched_getaffinity(0, 128, [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]) = 32                                                                                                                                                                                                                                               
getpid()                                = 50030                                                                                                                                                                                                                                                                       
getpid()                                = 50030                                                                                                                                                                                                                                                                       
access("/run/WSL/471_interop", F_OK)    = 0                                                                                                                                                                                                                                                                           
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 3                                                                                                                                                                                                                                                                      
connect(3, {sa_family=AF_UNIX, sun_path="/run/WSL/471_interop"}, 110) = 0                                                                                                                                                                                                                                             
open("/proc/cmdline", O_RDONLY|O_LARGEFILE) = 4                                                                                                                                                                                                                                                                       
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2920f45000                                                                                                                                                                                                                             
readv(4, [{iov_base="initrd=\\initrd.img WSL_ROOT_INIT=1 panic=-1 nr_cpus=16 hv_utils.timesync_implicit=1 console=hvc0 debug pty.legacy_count=0 WSL_ENABLE_CRASH_DUMP=1 cgroup_no_v1=all\n", iov_len=4095}, {iov_base="", iov_len=1024}], 2) = 163                                                                    
readv(4, [{iov_base="", iov_len=3932}, {iov_base="", iov_len=1024}], 2) = 0                                                                                                                                                                                                                                           
lseek(4, 0, SEEK_CUR)                   = 163                                                                                                                                                                                                                                                                         
close(4)                                = 0                                                                                                                                                                                                                                                                           
munmap(0x7f2920f45000, 4096)            = 0                                                                                                                                                                                                                                                                           
write(3, "\20\0\0\0\36\0\0\0\1\0\0\0WSL2_INSTALL_PATH\0", 30) = 30                                                                                                                                                                                                                                                    
recvfrom(3,                                                                                                                                                                                                                                                                                                           ```

(You can Ctrl-C it if it's running in strace, btw).
Copy link

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'.
Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs

Download and execute collect-wsl-logs.ps1 in an administrative powershell prompt:

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1
Set-ExecutionPolicy Bypass -Scope Process -Force
.\collect-wsl-logs.ps1

The script will output the path of the log file once done.

If this is a networking issue, please use collect-networking-logs.ps1, following the instructions here

Once completed please upload the output files to this Github issue.

Click here for more info on logging
If you choose to email these logs instead of attaching to the bug, please send them to [email protected] with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.

@mdbooth
Copy link
Author

mdbooth commented Mar 20, 2025

Copy link

Diagnostic information
.wslconfig found
	Custom kernel command line found: 'cgroup_no_v1=all'
Detected appx version: 2.4.12.0

@OneBlue
Copy link
Collaborator

OneBlue commented Mar 25, 2025

Thank you for reporting this @mdbooth. Does this happen all the time, even after a WSL restart ?

@mdbooth
Copy link
Author

mdbooth commented Mar 26, 2025

Yes

@OneBlue
Copy link
Collaborator

OneBlue commented Mar 26, 2025

Ok I think I know why. You had guiApplications=false, which before 2.5.4 would prevent the right configuration from being populated.

Can you try again after upgrading to 2.5.4 ?

@benhillis
Copy link
Member

Interesting, that should still not hang querying of the environment variable. I will take a look.

@benhillis
Copy link
Member

@OneBlue is right, but there is still a small issue in this path. I will fix this as a follow-up.

Copy link
Contributor

This issue has been automatically closed since it has not had any author activity for the past 7 days. If you're still experiencing this issue please re-file it as a new issue.

Thank you!

@benhillis
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants