microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.23k stars 8.27k forks source link

Windows Terminal Preview crashes on startup from executing command-line `wt`. #9017

Closed AeanSR closed 3 years ago

AeanSR commented 3 years ago

Environment

Windows build number: 10.0.21301.0
Windows Terminal version (if applicable): 1.6.10272.0

Any other software?

Steps to reproduce

Start the terminal by Win+R->wt. I found three wt.exe entries in my system: two symlinks and one actual executable. ~The two links seem to point to the same executable (which is out of my permission to execute directly).~ Oops sorry it is definitely not the same.

PS> Get-Command wt | Format-Table Path, Name
Path                                                  Name
----                                                  ----
C:\Users\v\AppData\Local\Microsoft\WindowsApps\wt.exe wt.exe
PS> fsutil reparsepoint query C:\Users\v\AppData\Local\Microsoft\WindowsApps\wt.exe
重分析标记值 : 0x8000001b
标记值: Microsoft

重新分析数据长度: 0x192
重分析数据:
0000:  03 00 00 00 4d 00 69 00  63 00 72 00 6f 00 73 00  ....M.i.c.r.o.s.
0010:  6f 00 66 00 74 00 2e 00  57 00 69 00 6e 00 64 00  o.f.t...W.i.n.d.
0020:  6f 00 77 00 73 00 54 00  65 00 72 00 6d 00 69 00  o.w.s.T.e.r.m.i.
0030:  6e 00 61 00 6c 00 50 00  72 00 65 00 76 00 69 00  n.a.l.P.r.e.v.i.
0040:  65 00 77 00 5f 00 38 00  77 00 65 00 6b 00 79 00  e.w._.8.w.e.k.y.
0050:  62 00 33 00 64 00 38 00  62 00 62 00 77 00 65 00  b.3.d.8.b.b.w.e.
0060:  00 00 4d 00 69 00 63 00  72 00 6f 00 73 00 6f 00  ..M.i.c.r.o.s.o.
0070:  66 00 74 00 2e 00 57 00  69 00 6e 00 64 00 6f 00  f.t...W.i.n.d.o.
0080:  77 00 73 00 54 00 65 00  72 00 6d 00 69 00 6e 00  w.s.T.e.r.m.i.n.
0090:  61 00 6c 00 50 00 72 00  65 00 76 00 69 00 65 00  a.l.P.r.e.v.i.e.
00a0:  77 00 5f 00 38 00 77 00  65 00 6b 00 79 00 62 00  w._.8.w.e.k.y.b.
00b0:  33 00 64 00 38 00 62 00  62 00 77 00 65 00 21 00  3.d.8.b.b.w.e.!.
00c0:  41 00 70 00 70 00 00 00  43 00 3a 00 5c 00 50 00  A.p.p...C.:.\.P.
00d0:  72 00 6f 00 67 00 72 00  61 00 6d 00 20 00 46 00  r.o.g.r.a.m. .F.
00e0:  69 00 6c 00 65 00 73 00  5c 00 57 00 69 00 6e 00  i.l.e.s.\.W.i.n.
00f0:  64 00 6f 00 77 00 73 00  41 00 70 00 70 00 73 00  d.o.w.s.A.p.p.s.
0100:  5c 00 4d 00 69 00 63 00  72 00 6f 00 73 00 6f 00  \.M.i.c.r.o.s.o.
0110:  66 00 74 00 2e 00 57 00  69 00 6e 00 64 00 6f 00  f.t...W.i.n.d.o.
0120:  77 00 73 00 54 00 65 00  72 00 6d 00 69 00 6e 00  w.s.T.e.r.m.i.n.
0130:  61 00 6c 00 50 00 72 00  65 00 76 00 69 00 65 00  a.l.P.r.e.v.i.e.
0140:  77 00 5f 00 31 00 2e 00  35 00 2e 00 33 00 32 00  w._.1...5...3.2.
0150:  34 00 32 00 2e 00 30 00  5f 00 78 00 36 00 34 00  4.2...0._.x.6.4.
0160:  5f 00 5f 00 38 00 77 00  65 00 6b 00 79 00 62 00  _._.8.w.e.k.y.b.
0170:  33 00 64 00 38 00 62 00  62 00 77 00 65 00 5c 00  3.d.8.b.b.w.e.\.
0180:  77 00 74 00 2e 00 65 00  78 00 65 00 00 00 30 00  w.t...e.x.e...0.
0190:  00 00                                             ..

PS> fsutil reparsepoint query C:\Users\v\AppData\Local\Microsoft\WindowsApps\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\wt.exe
重分析标记值 : 0x8000001b
标记值: Microsoft

重新分析数据长度: 0x194
重分析数据:
0000:  03 00 00 00 4d 00 69 00  63 00 72 00 6f 00 73 00  ....M.i.c.r.o.s.
0010:  6f 00 66 00 74 00 2e 00  57 00 69 00 6e 00 64 00  o.f.t...W.i.n.d.
0020:  6f 00 77 00 73 00 54 00  65 00 72 00 6d 00 69 00  o.w.s.T.e.r.m.i.
0030:  6e 00 61 00 6c 00 50 00  72 00 65 00 76 00 69 00  n.a.l.P.r.e.v.i.
0040:  65 00 77 00 5f 00 38 00  77 00 65 00 6b 00 79 00  e.w._.8.w.e.k.y.
0050:  62 00 33 00 64 00 38 00  62 00 62 00 77 00 65 00  b.3.d.8.b.b.w.e.
0060:  00 00 4d 00 69 00 63 00  72 00 6f 00 73 00 6f 00  ..M.i.c.r.o.s.o.
0070:  66 00 74 00 2e 00 57 00  69 00 6e 00 64 00 6f 00  f.t...W.i.n.d.o.
0080:  77 00 73 00 54 00 65 00  72 00 6d 00 69 00 6e 00  w.s.T.e.r.m.i.n.
0090:  61 00 6c 00 50 00 72 00  65 00 76 00 69 00 65 00  a.l.P.r.e.v.i.e.
00a0:  77 00 5f 00 38 00 77 00  65 00 6b 00 79 00 62 00  w._.8.w.e.k.y.b.
00b0:  33 00 64 00 38 00 62 00  62 00 77 00 65 00 21 00  3.d.8.b.b.w.e.!.
00c0:  41 00 70 00 70 00 00 00  43 00 3a 00 5c 00 50 00  A.p.p...C.:.\.P.
00d0:  72 00 6f 00 67 00 72 00  61 00 6d 00 20 00 46 00  r.o.g.r.a.m. .F.
00e0:  69 00 6c 00 65 00 73 00  5c 00 57 00 69 00 6e 00  i.l.e.s.\.W.i.n.
00f0:  64 00 6f 00 77 00 73 00  41 00 70 00 70 00 73 00  d.o.w.s.A.p.p.s.
0100:  5c 00 4d 00 69 00 63 00  72 00 6f 00 73 00 6f 00  \.M.i.c.r.o.s.o.
0110:  66 00 74 00 2e 00 57 00  69 00 6e 00 64 00 6f 00  f.t...W.i.n.d.o.
0120:  77 00 73 00 54 00 65 00  72 00 6d 00 69 00 6e 00  w.s.T.e.r.m.i.n.
0130:  61 00 6c 00 50 00 72 00  65 00 76 00 69 00 65 00  a.l.P.r.e.v.i.e.
0140:  77 00 5f 00 31 00 2e 00  36 00 2e 00 31 00 30 00  w._.1...6...1.0.
0150:  32 00 37 00 32 00 2e 00  30 00 5f 00 78 00 36 00  2.7.2...0._.x.6.
0160:  34 00 5f 00 5f 00 38 00  77 00 65 00 6b 00 79 00  4._._.8.w.e.k.y.
0170:  62 00 33 00 64 00 38 00  62 00 62 00 77 00 65 00  b.3.d.8.b.b.w.e.
0180:  5c 00 77 00 74 00 2e 00  65 00 78 00 65 00 00 00  \.w.t...e.x.e...
0190:  30 00 00 00                                       0...

Expected behavior

The terminal window should show up. I used to start the terminal in this way until Feb 1st when the app store pushed an update for the Windows Terminal Preview silently.

Actual behavior

It shows in the taskbar shortly and then crashes. Although I can still start the terminal normally in other ways: ☐ wt (C:\Users\v\AppData\Local\Microsoft\WindowsApps\wt.exe). leads to crashes. ☑ From startup menu. Fine. ☑ From app store. Fine. ☑ C:\Users\v\AppData\Local\Microsoft\WindowsApps\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\wt.exe. Fine.

zadjii-msft commented 3 years ago

Oh no. You've got 1.6 installed, but it looks like the alias is pointing at 1.5.3242.0. That's bad. @DHowett is working on an internal thread about this right now. Turns out you're not the first person to hit this 😑

vefatica commented 3 years ago

Is that right ... the store pushes updates to Windows Terminal? I've been getting my WT packages here, at GitHub. Am I immune?

DHowett commented 3 years ago

@vefatica You are not immune to this. Packages registered with the app deployment subsystem (by way of msix/msixbundle installation) can/will be serviced by the store.

DHowett commented 3 years ago

@AeanSR if you go to "Manage app execution aliases" and disable and re-enable terminal preview, does it start working?

AeanSR commented 3 years ago

@AeanSR if you go to "Manage app execution aliases" and disable and re-enable terminal preview, does it start working?

Weird. After that, fsutil reparsepoint query C:\Users\v\AppData\Local\Microsoft\WindowsApps\wt.exe links to v1.6 correctly, and I can start the terminal by executing wt in PowerShell. However, the Run dialogue still tries to invoke v1.5 and prompted a "cannot access" error:

[MsgBox Title] C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.5.324... [Error] Windows cannot access the specified device, path, or file. You may not have the appropriate permission to access the item.

Rebooting did not fix that.

AeanSR commented 3 years ago

Now I come to the same situation with #8959. Aliases are fixed. But searching wt and open the file location, it takes me to C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.5.3242.0_x64__8wekyb3d8bbwe\wt.exe.

miniksa commented 3 years ago

Related to #10243