wezterm icon indicating copy to clipboard operation
wezterm copied to clipboard

Panicked when using IME completion

Open darallium opened this issue 2 months ago • 2 comments

What Operating System(s) are you seeing this problem on?

Windows

Which Wayland compositor or X11 Window manager(s) are you using?

No response

WezTerm version

wezterm 20240203-110809-5046fc22

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

when using Japanese Windows, I tried to use completion with IME (Microsoft IME), wezterm crashed. It seems that when appearing the completion list, wezterm crushed.

To Reproduce

No response

Configuration

config trace
bat *
───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: event.lua   <EMPTY>
───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────
───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: format.lua   <EMPTY>
───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────
───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: keymap.lua
───────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ local wezterm = require 'wezterm'
   2   │ local act = wezterm.action
   3   │
   4   │ return {
   5   │   keys = {
   6   │     { key = '\\', mods = 'CTRL', action = act.ClearSelection },
   7   │     { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) },
   8   │     { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) },
   9   │     { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen },
  10   │     { key = '!', mods = 'CTRL', action = act.ActivateTab(0) },
  11   │     { key = '!', mods = 'SHIFT|CTRL', action = act.ActivateTab(0) },
  12   │     { key = '\"', mods = 'LEADER', action = act.SplitVertical{ domain =  'CurrentPaneDomain' } },
  13   │     { key = '\"', mods = 'SHIFT|ALT|CTRL', action = act.SplitVertical{ domain =  'CurrentPaneDomain' } },
  14   │     { key = '#', mods = 'CTRL', action = act.ActivateTab(2) },
  15   │     { key = '#', mods = 'SHIFT|CTRL', action = act.ActivateTab(2) },
  16   │     { key = '$', mods = 'CTRL', action = act.ActivateTab(3) },
  17   │     { key = '$', mods = 'SHIFT|CTRL', action = act.ActivateTab(3) },
  18   │     { key = '%', mods = 'CTRL', action = act.ActivateTab(4) },
  19   │     { key = '%', mods = 'SHIFT|CTRL', action = act.ActivateTab(4) },
  20   │     { key = '%', mods = 'LEADER', action = act.SplitHorizontal{ domain =  'CurrentPaneDomain' } },
  21   │     { key = '%', mods = 'SHIFT|ALT|CTRL', action = act.SplitHorizontal{ domain =  'CurrentPaneDomain' } },
  22   │     { key = '&', mods = 'CTRL', action = act.ActivateTab(6) },
  23   │     { key = '&', mods = 'SHIFT|CTRL', action = act.ActivateTab(6) },
  24   │     { key = '\'', mods = 'SHIFT|ALT|CTRL', action = act.SplitVertical{ domain =  'CurrentPaneDomain' } },
  25   │     { key = '(', mods = 'CTRL', action = act.ActivateTab(-1) },
  26   │     { key = '(', mods = 'SHIFT|CTRL', action = act.ActivateTab(-1) },
  27   │     { key = ')', mods = 'CTRL', action = act.ResetFontSize },
  28   │     { key = ')', mods = 'SHIFT|CTRL', action = act.ResetFontSize },
  29   │     { key = '*', mods = 'CTRL', action = act.ActivateTab(7) },
  30   │     { key = '*', mods = 'SHIFT|CTRL', action = act.ActivateTab(7) },
  31   │     { key = '+', mods = 'CTRL', action = act.IncreaseFontSize },
  32   │     { key = '+', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize },
  33   │     { key = '-', mods = 'CTRL', action = act.DecreaseFontSize },
  34   │     { key = '-', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize },
  35   │     { key = '-', mods = 'SUPER', action = act.DecreaseFontSize },
  36   │     { key = '0', mods = 'CTRL', action = act.ResetFontSize },
  37   │     { key = '0', mods = 'SHIFT|CTRL', action = act.ResetFontSize },
  38   │     { key = '0', mods = 'SUPER', action = act.ResetFontSize },
  39   │     { key = '1', mods = 'SHIFT|CTRL', action = act.ActivateTab(0) },
  40   │     { key = '1', mods = 'SUPER', action = act.ActivateTab(0) },
  41   │     { key = '2', mods = 'SHIFT|CTRL', action = act.ActivateTab(1) },
  42   │     { key = '2', mods = 'SUPER', action = act.ActivateTab(1) },
  43   │     { key = '3', mods = 'SHIFT|CTRL', action = act.ActivateTab(2) },
  44   │     { key = '3', mods = 'SUPER', action = act.ActivateTab(2) },
  45   │     { key = '4', mods = 'SHIFT|CTRL', action = act.ActivateTab(3) },
  46   │     { key = '4', mods = 'SUPER', action = act.ActivateTab(3) },
  47   │     { key = '5', mods = 'SHIFT|CTRL', action = act.ActivateTab(4) },
  48   │     { key = '5', mods = 'SHIFT|ALT|CTRL', action = act.SplitHorizontal{ domain =  'CurrentPaneDomain' } },
  49   │     { key = '5', mods = 'SUPER', action = act.ActivateTab(4) },
  50   │     { key = '6', mods = 'SHIFT|CTRL', action = act.ActivateTab(5) },
  51   │     { key = '6', mods = 'SUPER', action = act.ActivateTab(5) },
  52   │     { key = '7', mods = 'SHIFT|CTRL', action = act.ActivateTab(6) },
  53   │     { key = '7', mods = 'SUPER', action = act.ActivateTab(6) },
  54   │     { key = '8', mods = 'SHIFT|CTRL', action = act.ActivateTab(7) },
  55   │     { key = '8', mods = 'SUPER', action = act.ActivateTab(7) },
  56   │     { key = '9', mods = 'SHIFT|CTRL', action = act.ActivateTab(-1) },
  57   │     { key = '9', mods = 'SUPER', action = act.ActivateTab(-1) },
  58   │     { key = '=', mods = 'CTRL', action = act.IncreaseFontSize },
  59   │     { key = '=', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize },
  60   │     { key = '=', mods = 'SUPER', action = act.IncreaseFontSize },
  61   │     { key = '@', mods = 'CTRL', action = act.ActivateTab(1) },
  62   │     { key = '@', mods = 'SHIFT|CTRL', action = act.ActivateTab(1) },
  63   │     { key = 'C', mods = 'CTRL', action = act.CopyTo 'Clipboard' },
  64   │     { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' },
  65   │     { key = 'F', mods = 'CTRL', action = act.Search 'CurrentSelectionOrEmptyString' },
  66   │     { key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' },
  67   │     { key = 'H', mods = 'CTRL', action = act.HideApplication },
  68   │     { key = 'H', mods = 'SHIFT|CTRL', action = act.HideApplication },
  69   │     { key = 'K', mods = 'CTRL', action = act.ClearScrollback 'ScrollbackOnly' },
  70   │     { key = 'K', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' },
  71   │     { key = 'L', mods = 'CTRL', action = act.ShowDebugOverlay },
  72   │     { key = 'L', mods = 'SHIFT|CTRL', action = act.ShowDebugOverlay },
  73   │     { key = 'M', mods = 'CTRL', action = act.Hide },
  74   │     { key = 'M', mods = 'SHIFT|CTRL', action = act.Hide },
  75   │     { key = 'N', mods = 'CTRL', action = act.SpawnWindow },
  76   │     { key = 'N', mods = 'SHIFT|CTRL', action = act.SpawnWindow },
  77   │     { key = 'P', mods = 'CTRL', action = act.ActivateCommandPalette },
  78   │     { key = 'P', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette },
  79   │     { key = 'Q', mods = 'CTRL', action = act.QuitApplication },
  80   │     { key = 'Q', mods = 'SHIFT|CTRL', action = act.QuitApplication },
  81   │     { key = 'R', mods = 'CTRL', action = act.ReloadConfiguration },
  82   │     { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
  83   │     { key = 'T', mods = 'CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
  84   │     { key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
  85   │     { key = 'U', mods = 'CTRL', action = act.CharSelect{ copy_on_select = true, copy_to =  'ClipboardAndPrimary
       │ Selection' } },
  86   │     { key = 'U', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to =  'ClipboardAndP
       │ rimarySelection' } },
  87   │     { key = 'V', mods = 'CTRL', action = act.PasteFrom 'Clipboard' },
  88   │     { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' },
  89   │     { key = 'W', mods = 'CTRL', action = act.CloseCurrentTab{ confirm = true } },
  90   │     { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } },
  91   │     { key = 'X', mods = 'CTRL', action = act.ActivateCopyMode },
  92   │     { key = 'X', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode },
  93   │     { key = 'Z', mods = 'CTRL', action = act.TogglePaneZoomState },
  94   │     { key = 'Z', mods = 'SHIFT|CTRL', action = act.TogglePaneZoomState },
  95   │     { key = '[', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(-1) },
  96   │     { key = ']', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(1) },
  97   │     { key = '^', mods = 'CTRL', action = act.ActivateTab(5) },
  98   │     { key = '^', mods = 'SHIFT|CTRL', action = act.ActivateTab(5) },
  99   │     { key = '_', mods = 'CTRL', action = act.DecreaseFontSize },
 100   │     { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize },
 101   │     { key = 'c', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' },
 102   │     { key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' },
 103   │     { key = 'f', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' },
 104   │     { key = 'f', mods = 'SUPER', action = act.Search 'CurrentSelectionOrEmptyString' },
 105   │     { key = 'h', mods = 'SHIFT|CTRL', action = act.HideApplication },
 106   │     { key = 'h', mods = 'SUPER', action = act.HideApplication },
 107   │     { key = 'k', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' },
 108   │     { key = 'k', mods = 'SUPER', action = act.ClearScrollback 'ScrollbackOnly' },
 109   │     { key = 'l', mods = 'SHIFT|CTRL', action = act.ShowDebugOverlay },
 110   │     { key = 'm', mods = 'SHIFT|CTRL', action = act.Hide },
 111   │     { key = 'm', mods = 'SUPER', action = act.Hide },
 112   │     { key = 'n', mods = 'SHIFT|CTRL', action = act.SpawnWindow },
 113   │     { key = 'n', mods = 'SUPER', action = act.SpawnWindow },
 114   │     { key = 'p', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette },
 115   │     { key = 'q', mods = 'SHIFT|CTRL', action = act.QuitApplication },
 116   │     { key = 'q', mods = 'SUPER', action = act.QuitApplication },
 117   │     { key = 'r', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
 118   │     { key = 'r', mods = 'SUPER', action = act.ReloadConfiguration },
 119   │     { key = 't', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
 120   │     { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' },
 121   │     { key = 'u', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to =  'ClipboardAndP
       │ rimarySelection' } },
 122   │     { key = 'v', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' },
 123   │     { key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' },
 124   │     { key = 'w', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } },
 125   │     { key = 'w', mods = 'SUPER', action = act.CloseCurrentTab{ confirm = true } },
 126   │     { key = 'x', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode },
 127   │     { key = 'z', mods = 'SHIFT|CTRL', action = act.TogglePaneZoomState },
 128   │     { key = '{', mods = 'SUPER', action = act.ActivateTabRelative(-1) },
 129   │     { key = '{', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(-1) },
 130   │     { key = '}', mods = 'SUPER', action = act.ActivateTabRelative(1) },
 131   │     { key = '}', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(1) },
 132   │     { key = 'phys:Space', mods = 'SHIFT|CTRL', action = act.QuickSelect },
 133   │     { key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) },
 134   │     { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) },
 135   │     { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) },
 136   │     { key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) },
 137   │     { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) },
 138   │     { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) },
 139   │     { key = 'h', mods = 'LEADER', action = act.ActivatePaneDirection 'Left' },
 140   │     { key = 'H', mods = 'LEADER', action = act.AdjustPaneSize{ 'Left', 1 } },
 141   │     { key = 'l', mods = 'LEADER', action = act.ActivatePaneDirection 'Right' },
 142   │     { key = 'L', mods = 'LEADER', action = act.AdjustPaneSize{ 'Right', 1 } },
 143   │     { key = 'k', mods = 'LEADER', action = act.ActivatePaneDirection 'Up' },
 144   │     { key = 'K', mods = 'LEADER', action = act.AdjustPaneSize{ 'Up', 1 } },
 145   │     { key = 'j', mods = 'LEADER', action = act.ActivatePaneDirection 'Down' },
 146   │     { key = 'J', mods = 'LEADER', action = act.AdjustPaneSize{ 'Down', 1 } },
 147   │     { key = 'Copy', mods = 'NONE', action = act.CopyTo 'Clipboard' },
 148   │     { key = 'Paste', mods = 'NONE', action = act.PasteFrom 'Clipboard' },
 149   │   },
 150   │
 151   │   key_tables = {
 152   │     copy_mode = {
 153   │       { key = 'Tab', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' },
 154   │       { key = 'Tab', mods = 'SHIFT', action = act.CopyMode 'MoveBackwardWord' },
 155   │       { key = 'Enter', mods = 'NONE', action = act.CopyMode 'MoveToStartOfNextLine' },
 156   │       { key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' },
 157   │       { key = 'Space', mods = 'NONE', action = act.CopyMode{ SetSelectionMode =  'Cell' } },
 158   │       { key = '$', mods = 'NONE', action = act.CopyMode 'MoveToEndOfLineContent' },
 159   │       { key = '$', mods = 'SHIFT', action = act.CopyMode 'MoveToEndOfLineContent' },
 160   │       { key = ',', mods = 'NONE', action = act.CopyMode 'JumpReverse' },
 161   │       { key = '0', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLine' },
 162   │       { key = ';', mods = 'NONE', action = act.CopyMode 'JumpAgain' },
 163   │       { key = 'F', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = false } } },
 164   │       { key = 'F', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = false } } },
 165   │       { key = 'G', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackBottom' },
 166   │       { key = 'G', mods = 'SHIFT', action = act.CopyMode 'MoveToScrollbackBottom' },
 167   │       { key = 'H', mods = 'NONE', action = act.CopyMode 'MoveToViewportTop' },
 168   │       { key = 'H', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportTop' },
 169   │       { key = 'L', mods = 'NONE', action = act.CopyMode 'MoveToViewportBottom' },
 170   │       { key = 'L', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportBottom' },
 171   │       { key = 'M', mods = 'NONE', action = act.CopyMode 'MoveToViewportMiddle' },
 172   │       { key = 'M', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportMiddle' },
 173   │       { key = 'O', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' },
 174   │       { key = 'O', mods = 'SHIFT', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' },
 175   │       { key = 'T', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = true } } },
 176   │       { key = 'T', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = true } } },
 177   │       { key = 'V', mods = 'NONE', action = act.CopyMode{ SetSelectionMode =  'Line' } },
 178   │       { key = 'V', mods = 'SHIFT', action = act.CopyMode{ SetSelectionMode =  'Line' } },
 179   │       { key = '^', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLineContent' },
 180   │       { key = '^', mods = 'SHIFT', action = act.CopyMode 'MoveToStartOfLineContent' },
 181   │       { key = 'b', mods = 'NONE', action = act.CopyMode 'MoveBackwardWord' },
 182   │       { key = 'b', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' },
 183   │       { key = 'b', mods = 'CTRL', action = act.CopyMode 'PageUp' },
 184   │       { key = 'c', mods = 'CTRL', action = act.CopyMode 'Close' },
 185   │       { key = 'd', mods = 'CTRL', action = act.CopyMode{ MoveByPage = (0.5) } },
 186   │       { key = 'e', mods = 'NONE', action = act.CopyMode 'MoveForwardWordEnd' },
 187   │       { key = 'f', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = false } } },
 188   │       { key = 'f', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' },
 189   │       { key = 'f', mods = 'CTRL', action = act.CopyMode 'PageDown' },
 190   │       { key = 'g', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackTop' },
 191   │       { key = 'g', mods = 'CTRL', action = act.CopyMode 'Close' },
 192   │       { key = 'h', mods = 'NONE', action = act.CopyMode 'MoveLeft' },
 193   │       { key = 'j', mods = 'NONE', action = act.CopyMode 'MoveDown' },
 194   │       { key = 'k', mods = 'NONE', action = act.CopyMode 'MoveUp' },
 195   │       { key = 'l', mods = 'NONE', action = act.CopyMode 'MoveRight' },
 196   │       { key = 'm', mods = 'ALT', action = act.CopyMode 'MoveToStartOfLineContent' },
 197   │       { key = 'o', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEnd' },
 198   │       { key = 'q', mods = 'NONE', action = act.CopyMode 'Close' },
 199   │       { key = 't', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = true } } },
 200   │       { key = 'u', mods = 'CTRL', action = act.CopyMode{ MoveByPage = (-0.5) } },
 201   │       { key = 'v', mods = 'NONE', action = act.CopyMode{ SetSelectionMode =  'Cell' } },
 202   │       { key = 'v', mods = 'CTRL', action = act.CopyMode{ SetSelectionMode =  'Block' } },
 203   │       { key = 'w', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' },
 204   │       { key = 'y', mods = 'NONE', action = act.Multiple{
 205   │         { CopyTo =  'ClipboardAndPrimarySelection' },
 206   │         { CopyMode =  'Close' }
 207   │       } },
 208   │       { key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PageUp' },
 209   │       { key = 'PageDown', mods = 'NONE', action = act.CopyMode 'PageDown' },
 210   │       { key = 'End', mods = 'NONE', action = act.CopyMode 'MoveToEndOfLineContent' },
 211   │       { key = 'Home', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLine' },
 212   │       { key = 'LeftArrow', mods = 'NONE', action = act.CopyMode 'MoveLeft' },
 213   │       { key = 'LeftArrow', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' },
 214   │       { key = 'RightArrow', mods = 'NONE', action = act.CopyMode 'MoveRight' },
 215   │       { key = 'RightArrow', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' },
 216   │       { key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'MoveUp' },
 217   │       { key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'MoveDown' },
 218   │     },
 219   │
 220   │     search_mode = {
 221   │       { key = 'Enter', mods = 'NONE', action = act.CopyMode 'PriorMatch' },
 222   │       { key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' },
 223   │       { key = 'n', mods = 'CTRL', action = act.CopyMode 'NextMatch' },
 224   │       { key = 'p', mods = 'CTRL', action = act.CopyMode 'PriorMatch' },
 225   │       { key = 'r', mods = 'CTRL', action = act.CopyMode 'CycleMatchType' },
 226   │       { key = 'u', mods = 'CTRL', action = act.CopyMode 'ClearPattern' },
 227   │       { key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PriorMatchPage' },
 228   │       { key = 'PageDown', mods = 'NONE', action = act.CopyMode 'NextMatchPage' },
 229   │       { key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'PriorMatch' },
 230   │       { key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'NextMatch' },
 231   │     },
 232   │
 233   │   }
 234   │ }
───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────
───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: mousemap.lua
───────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ local act = require('wezterm').action
   2   │
   3   │ return {
   4   │   mouse_bindings = {
   5   │     {
   6   │       event = { Down = { streak = 1, button = 'Left' } },
   7   │       mods = 'NONE',
   8   │       action = act.EmitEvent 'show-title-bar',
   9   │     }
  10   │   }
  11   │ }
───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────
───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: status.lua   <EMPTY>
───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────
───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: wezterm.lua
───────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │
   2   │ local format = require('format')
   3   │ local status = require('status')
   4   │ local event = require('event')
   5   │ local keymap = require('keymap')
   6   │ local mousemap = require('mousemap')
   7   │
   8   │ local wezterm = require('wezterm');
   9   │
  10   │ local config = {}
  11   │
  12   │ if wezterm.config_builder then
  13   │   config = wezterm.config_builder()
  14   │ end
  15   │
  16   │ config = {
  17   │   -- キーバインド系
  18   │   disable_default_key_bindings = true,
  19   │   keys = keymap.keys,
  20   │   key_tables = keymap.key_tables,
  21   │   leader = {
  22   │     key = ",",
  23   │     mods = "CTRL",
  24   │     timeout_milliseconds = 2000
  25   │   },
  26   │   -- 見た目系
  27   │   color_scheme = "catppuccin-macchiato",
  28   │   -- window_background_opacity = 0.523,
  29   │   --win32_system_backdrop = 'Acrylic',
  30   │   font = wezterm.font_with_fallback {
  31   │     "Hack Nerd Font",
  32   │     "HackGenNerd Console",
  33   │     "Noto Sans CJK JP",
  34   │   },
  35   │   font_size = 14.0,
  36   │   window_frame = {
  37   │     font = wezterm.font { family ='Roboto', weight = 'Bold' },
  38   │     font_size = 11.0,
  39   │   },
  40   │   colors = {
  41   │     compose_cursor = '#7287fd',
  42   │     cursor_bg = '#1e66f5',
  43   │   },
  44   │   status_update_interval = 1000,
  45   │   window_decorations = "RESIZE",
  46   │   mouse_bindings = mousemap.mouse_bindings,
  47   │   -- タブ系
  48   │   enable_tab_bar = true,
  49   │   -- タイトルバー系
  50   │   -- 実行・動作系
  51   │ }
  52   │
  53   │ if wezterm.target_triple == "x86_64-pc-windows-msvc" then
  54   │   config.default_prog = { "C:/Program Files/PowerShell/7/pwsh.exe", "-NoLogo"}
  55   │ else
  56   │   config.default_prog = { "/usr/bin/zsh" }
  57   │ end
  58   │
  59   │ return config
───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Expected Behavior

No response

Logs

stack trace
16:08:51.000  ERROR  env_bootstrap > panic at window\src\os\windows\window.rs:1538:31 - !?
   0: cairo_font_options_get_variations
   1: cairo_font_options_get_variations
   2: git_filter_source_repo
   3: cairo_font_options_get_variations
   4: cairo_font_options_get_variations
   5: cairo_font_options_get_variations
   6: cairo_font_options_get_variations
   7: cairo_rectangle_list_destroy
   8: cairo_rectangle_list_destroy
   9: cairo_font_options_get_variations
  10: cairo_font_options_get_variations
  11: cairo_font_options_get_variations
  12: cairo_font_options_get_variations
  13: CallWindowProcW
  14: CallWindowProcW
  15: wglSwapLayerBuffers
  16: CallWindowProcW
  17: SendMessageW
  18: EnumDisplayDevicesW
  19: KiUserCallbackDispatcher
  20: NtUserSetWindowPos
  21: DllUnregisterServer
  22: DllUnregisterServer
  23: <unknown>
  24: <unknown>
  25: <unknown>
  26: <unknown>
  27: <unknown>
  28: <unknown>
  29: <unknown>
  30: DllUnregisterServer
  31: <unknown>
  32: DllUnregisterServer
  33: <unknown>
  34: DllCanUnloadNow
  35: tsfGetKeyState
  36: tsfGetKeyState
  37: tsfGetKeyState
  38: TF_CreateCicLoadWinStaMutex
  39: TsfOneCreate
  40: DllUnregisterServer
  41: <unknown>
  42: DllUnregisterServer
  43: DllCanUnloadNow
  44: DllUnregisterServer
  45: DllUnregisterServer
  46: DllUnregisterServer
  47: DllUnregisterServer
  48: <unknown>
  49: <unknown>
  50: <unknown>
  51: <unknown>
  52: CreateIFECommonInstance
  53: UpdateDefaultStyleList
  54: UpdateDefaultStyleList
  55: DllUnregisterServer
  56: <unknown>
  57: DllUnregisterServer
  58: CtfImeProcessKey
  59: CtfImeProcessKey
  60: CtfImeProcessKey
  61: TF_GetThreadFlags
  62: TF_GetThreadFlags
  63: ImmTranslateMessage
  64: TranslateMessage
  65: cairo_font_options_get_variations
  66: cairo_font_options_get_variations
  67: cairo_font_options_get_variations
  68: CallWindowProcW
  69: CallWindowProcW
  70: wglSwapLayerBuffers
  71: CallWindowProcW
  72: IsWindowUnicode
  73: cairo_font_options_get_variations
  74: git_filter_source_repo
  75: git_filter_source_repo
  76: git_filter_source_repo
  77: git_filter_source_repo
  78: cairo_font_options_get_variations
  79: git_filter_source_repo
  80: cairo_rectangle_list_destroy
  81: BaseThreadInitThunk
  82: RtlUserThreadStart

thread 'main' panicked at window\src\os\windows\window.rs:1538:31:
already borrowed: BorrowMutError
stack backtrace:
   0:     0x7ff742a8ec53 - cairo_font_options_get_variations
   1:     0x7ff742ab76cd - cairo_font_options_get_variations
   2:     0x7ff742a88e61 - cairo_font_options_get_variations
   3:     0x7ff742a8ea5a - cairo_font_options_get_variations
   4:     0x7ff742a912e9 - cairo_font_options_get_variations
   5:     0x7ff742a90fab - cairo_font_options_get_variations
   6:     0x7ff74166a240 - git_filter_source_repo
   7:     0x7ff742a91803 - cairo_font_options_get_variations
   8:     0x7ff742a916a5 - cairo_font_options_get_variations
   9:     0x7ff742a8f549 - cairo_font_options_get_variations
  10:     0x7ff742a913b4 - cairo_font_options_get_variations
  11:     0x7ff743127a57 - cairo_rectangle_list_destroy
  12:     0x7ff743127948 - cairo_rectangle_list_destroy
  13:     0x7ff74225da3f - cairo_font_options_get_variations
  14:     0x7ff74225f31d - cairo_font_options_get_variations
  15:     0x7ff74227500a - cairo_font_options_get_variations
  16:     0x7ff7422669f4 - cairo_font_options_get_variations
  17:     0x7ffaf7927846 - CallWindowProcW
  18:     0x7ffaf792730c - CallWindowProcW
  19:     0x7ffad502be13 - wglSwapLayerBuffers
  20:     0x7ffaf7927846 - CallWindowProcW
  21:     0x7ffaf79270cc - SendMessageW
  22:     0x7ffaf79606a3 - EnumDisplayDevicesW
  23:     0x7ffaf7e65c14 - KiUserCallbackDispatcher
  24:     0x7ffaf5aa16c4 - NtUserSetWindowPos
  25:     0x7ffaacb73baa - DllUnregisterServer
  26:     0x7ffaacb7363a - DllUnregisterServer
  27:     0x7ffaacb3bb2c - <unknown>
  28:     0x7ffaacb44b95 - <unknown>
  29:     0x7ffaacb50da1 - <unknown>
  30:     0x7ffaacb52826 - <unknown>
  31:     0x7ffaacb13e45 - <unknown>
  32:     0x7ffaacb1fd46 - <unknown>
  33:     0x7ffa80158731 - <unknown>
  34:     0x7ffad947bd18 - DllUnregisterServer
  35:     0x7ffad93fd50b - <unknown>
  36:     0x7ffad947531e - DllUnregisterServer
  37:     0x7ffad9400548 - <unknown>
  38:     0x7ffad9415b4b - DllCanUnloadNow
  39:     0x7ffacf579c9b - tsfGetKeyState
  40:     0x7ffacf579fea - tsfGetKeyState
  41:     0x7ffacf565cca - tsfGetKeyState
  42:     0x7ffaf5d4d12f - TF_CreateCicLoadWinStaMutex
  43:     0x7ffacf593462 - TsfOneCreate
  44:     0x7ffad9471193 - DllUnregisterServer
  45:     0x7ffad9401116 - <unknown>
  46:     0x7ffad9475632 - DllUnregisterServer
  47:     0x7ffad9415d83 - DllCanUnloadNow
  48:     0x7ffad947c065 - DllUnregisterServer
  49:     0x7ffad947c512 - DllUnregisterServer
  50:     0x7ffad947c83a - DllUnregisterServer
  51:     0x7ffad94a75a6 - DllUnregisterServer
  52:     0x7ffad996238d - <unknown>
  53:     0x7ffa7ff1389c - <unknown>
  54:     0x7ffa7ff1c808 - <unknown>
  55:     0x7ffa7ff37902 - <unknown>
  56:     0x7ffa7ff892c7 - CreateIFECommonInstance
  57:     0x7ffa7ff6e4dd - UpdateDefaultStyleList
  58:     0x7ffa7ff6e163 - UpdateDefaultStyleList
  59:     0x7ffad9476c00 - DllUnregisterServer
  60:     0x7ffad93f81fb - <unknown>
  61:     0x7ffad94733b4 - DllUnregisterServer
  62:     0x7ffaf5d31b07 - CtfImeProcessKey
  63:     0x7ffaf5d30603 - CtfImeProcessKey
  64:     0x7ffaf5d3002f - CtfImeProcessKey
  65:     0x7ffaf5d5ab0a - TF_GetThreadFlags
  66:     0x7ffaf5d5a8bb - TF_GetThreadFlags
  67:     0x7ffaf77621b2 - ImmTranslateMessage
  68:     0x7ffaf791eb76 - TranslateMessage
  69:     0x7ff74226074c - cairo_font_options_get_variations
  70:     0x7ff74227500a - cairo_font_options_get_variations
  71:     0x7ff7422669f4 - cairo_font_options_get_variations
  72:     0x7ffaf7927846 - CallWindowProcW
  73:     0x7ffaf792730c - CallWindowProcW
  74:     0x7ffad502be13 - wglSwapLayerBuffers
  75:     0x7ffaf7927846 - CallWindowProcW
  76:     0x7ffaf792539d - IsWindowUnicode
  77:     0x7ff7422696fe - cairo_font_options_get_variations
  78:     0x7ff741647cb0 - git_filter_source_repo
  79:     0x7ff741649d30 - git_filter_source_repo
  80:     0x7ff74149bcc6 - git_filter_source_repo
  81:     0x7ff7415c7e6c - git_filter_source_repo
  82:     0x7ff742a80fb8 - cairo_font_options_get_variations
  83:     0x7ff7415c7e58 - git_filter_source_repo
  84:     0x7ff74305a518 - cairo_rectangle_list_destroy
  85:     0x7ffaf673e8d7 - BaseThreadInitThunk
  86:     0x7ffaf7d8c53c - RtlUserThreadStart
16:08:51.122  ERROR  window::os::windows::window > caught Any { .. }

Anything else?

No response

darallium avatar Nov 08 '25 07:11 darallium

Hello, can you reproduce the issue without your config? (start wezterm with wezterm -n) Or what is the minimal config that reproduces it?

bew avatar Nov 08 '25 08:11 bew

@bew

minimal config that reproduces it?

yes, when using the option -n, i got the same error.

the error log
C:\Users\[reducted]>set RUST_BACKTRACE=full

C:\Users\[reducted]>wezterm
^C
C:\Users\[reducted]>wezterm -n
09:32:09.548  ERROR  env_bootstrap > panic at window\src\os\windows\window.rs:1538:31 - !?
   0: cairo_font_options_get_variations
   1: cairo_font_options_get_variations
   2: git_filter_source_repo
   3: cairo_font_options_get_variations
   4: cairo_font_options_get_variations
   5: cairo_font_options_get_variations
   6: cairo_font_options_get_variations
   7: cairo_rectangle_list_destroy
   8: cairo_rectangle_list_destroy
   9: cairo_font_options_get_variations
  10: cairo_font_options_get_variations
  11: cairo_font_options_get_variations
  12: cairo_font_options_get_variations
  13: CallWindowProcW
  14: CallWindowProcW
  15: wglSwapLayerBuffers
  16: CallWindowProcW
  17: SendMessageW
  18: EnumDisplayDevicesW
  19: KiUserCallbackDispatcher
  20: NtUserSetWindowPos
  21: DllUnregisterServer
  22: DllUnregisterServer
  23: <unknown>
  24: <unknown>
  25: <unknown>
  26: <unknown>
  27: <unknown>
  28: <unknown>
  29: <unknown>
  30: DllUnregisterServer
  31: <unknown>
  32: DllUnregisterServer
  33: <unknown>
  34: DllCanUnloadNow
  35: tsfGetKeyState
  36: tsfGetKeyState
  37: tsfGetKeyState
  38: TF_CreateCicLoadWinStaMutex
  39: TsfOneCreate
  40: DllUnregisterServer
  41: <unknown>
  42: DllUnregisterServer
  43: DllCanUnloadNow
  44: DllUnregisterServer
  45: DllUnregisterServer
  46: DllUnregisterServer
  47: DllUnregisterServer
  48: <unknown>
  49: <unknown>
  50: <unknown>
  51: <unknown>
  52: CreateIFECommonInstance
  53: UpdateDefaultStyleList
  54: UpdateDefaultStyleList
  55: DllUnregisterServer
  56: <unknown>
  57: DllUnregisterServer
  58: CtfImeProcessKey
  59: CtfImeProcessKey
  60: CtfImeProcessKey
  61: TF_GetThreadFlags
  62: TF_GetThreadFlags
  63: ImmTranslateMessage
  64: TranslateMessage
  65: cairo_font_options_get_variations
  66: cairo_font_options_get_variations
  67: cairo_font_options_get_variations
  68: CallWindowProcW
  69: CallWindowProcW
  70: wglSwapLayerBuffers
  71: CallWindowProcW
  72: IsWindowUnicode
  73: cairo_font_options_get_variations
  74: git_filter_source_repo
  75: git_filter_source_repo
  76: git_filter_source_repo
  77: git_filter_source_repo
  78: cairo_font_options_get_variations
  79: git_filter_source_repo
  80: cairo_rectangle_list_destroy
  81: BaseThreadInitThunk
  82: RtlUserThreadStart

thread 'main' panicked at window\src\os\windows\window.rs:1538:31:
already borrowed: BorrowMutError
stack backtrace:
   0:     0x7ff70c48ec53 - cairo_font_options_get_variations
   1:     0x7ff70c4b76cd - cairo_font_options_get_variations
   2:     0x7ff70c488e61 - cairo_font_options_get_variations
   3:     0x7ff70c48ea5a - cairo_font_options_get_variations
   4:     0x7ff70c4912e9 - cairo_font_options_get_variations
   5:     0x7ff70c490fab - cairo_font_options_get_variations
   6:     0x7ff70b06a240 - git_filter_source_repo
   7:     0x7ff70c491803 - cairo_font_options_get_variations
   8:     0x7ff70c4916a5 - cairo_font_options_get_variations
   9:     0x7ff70c48f549 - cairo_font_options_get_variations
  10:     0x7ff70c4913b4 - cairo_font_options_get_variations
  11:     0x7ff70cb27a57 - cairo_rectangle_list_destroy
  12:     0x7ff70cb27948 - cairo_rectangle_list_destroy
  13:     0x7ff70bc5da3f - cairo_font_options_get_variations
  14:     0x7ff70bc5f31d - cairo_font_options_get_variations
  15:     0x7ff70bc7500a - cairo_font_options_get_variations
  16:     0x7ff70bc669f4 - cairo_font_options_get_variations
  17:     0x7ff9853b7846 - CallWindowProcW
  18:     0x7ff9853b730c - CallWindowProcW
  19:     0x7ff9369ebe13 - wglSwapLayerBuffers
  20:     0x7ff9853b7846 - CallWindowProcW
  21:     0x7ff9853b70cc - SendMessageW
  22:     0x7ff9853f06a3 - EnumDisplayDevicesW
  23:     0x7ff9860a5c14 - KiUserCallbackDispatcher
  24:     0x7ff983ac16c4 - NtUserSetWindowPos
  25:     0x7ff936ef3baa - DllUnregisterServer
  26:     0x7ff936ef363a - DllUnregisterServer
  27:     0x7ff936ebbb2c - <unknown>
  28:     0x7ff936ec4b95 - <unknown>
  29:     0x7ff936ed0da1 - <unknown>
  30:     0x7ff936ed2826 - <unknown>
  31:     0x7ff936e93e45 - <unknown>
  32:     0x7ff936e9fd46 - <unknown>
  33:     0x7ff94ec88731 - <unknown>
  34:     0x7ff95a99bd18 - DllUnregisterServer
  35:     0x7ff95a91d50b - <unknown>
  36:     0x7ff95a99531e - DllUnregisterServer
  37:     0x7ff95a920548 - <unknown>
  38:     0x7ff95a935b4b - DllCanUnloadNow
  39:     0x7ff971fd9c9b - tsfGetKeyState
  40:     0x7ff971fd9fea - tsfGetKeyState
  41:     0x7ff971fc5cca - tsfGetKeyState
  42:     0x7ff9843fd12f - TF_CreateCicLoadWinStaMutex
  43:     0x7ff971ff3462 - TsfOneCreate
  44:     0x7ff95a991193 - DllUnregisterServer
  45:     0x7ff95a921116 - <unknown>
  46:     0x7ff95a995632 - DllUnregisterServer
  47:     0x7ff95a935d83 - DllCanUnloadNow
  48:     0x7ff95a99c065 - DllUnregisterServer
  49:     0x7ff95a99c512 - DllUnregisterServer
  50:     0x7ff95a99c83a - DllUnregisterServer
  51:     0x7ff95a9c75a6 - DllUnregisterServer
  52:     0x7ff972d1238d - <unknown>
  53:     0x7ff94f14389c - <unknown>
  54:     0x7ff94f14c808 - <unknown>
  55:     0x7ff94f167902 - <unknown>
  56:     0x7ff94f1b92c7 - CreateIFECommonInstance
  57:     0x7ff94f19e4dd - UpdateDefaultStyleList
  58:     0x7ff94f19e163 - UpdateDefaultStyleList
  59:     0x7ff95a996c00 - DllUnregisterServer
  60:     0x7ff95a9181fb - <unknown>
  61:     0x7ff95a9933b4 - DllUnregisterServer
  62:     0x7ff9843e1b07 - CtfImeProcessKey
  63:     0x7ff9843e0603 - CtfImeProcessKey
  64:     0x7ff9843e002f - CtfImeProcessKey
  65:     0x7ff98440ab0a - TF_GetThreadFlags
  66:     0x7ff98440a8bb - TF_GetThreadFlags
  67:     0x7ff983e921b2 - ImmTranslateMessage
  68:     0x7ff9853aeb76 - TranslateMessage
  69:     0x7ff70bc6074c - cairo_font_options_get_variations
  70:     0x7ff70bc7500a - cairo_font_options_get_variations
  71:     0x7ff70bc669f4 - cairo_font_options_get_variations
  72:     0x7ff9853b7846 - CallWindowProcW
  73:     0x7ff9853b730c - CallWindowProcW
  74:     0x7ff9369ebe13 - wglSwapLayerBuffers
  75:     0x7ff9853b7846 - CallWindowProcW
  76:     0x7ff9853b539d - IsWindowUnicode
  77:     0x7ff70bc696fe - cairo_font_options_get_variations
  78:     0x7ff70b047cb0 - git_filter_source_repo
  79:     0x7ff70b049d30 - git_filter_source_repo
  80:     0x7ff70ae9bcc6 - git_filter_source_repo
  81:     0x7ff70afc7e6c - git_filter_source_repo
  82:     0x7ff70c480fb8 - cairo_font_options_get_variations
  83:     0x7ff70afc7e58 - git_filter_source_repo
  84:     0x7ff70ca5a518 - cairo_rectangle_list_destroy
  85:     0x7ff98427e8d7 - BaseThreadInitThunk
  86:     0x7ff985fcc53c - RtlUserThreadStart
09:32:09.659  ERROR  window::os::windows::window > caught Any { .. }

darallium avatar Nov 12 '25 00:11 darallium