開発環境としてtmuxを使用します。上部にvimがあり、下部に3つのウィンドウがある標準分割があります。npm start
1つはnodejsバックエンドを実行し、もう1つはgit status
。
Tmuxは時々明確な理由なしに衝突が発生しているようですが、今日は再現可能な方法で衝突が発生しました。
npx nodemon
あるウィンドウで実行中で、git status
もう一方のtmuxではクラッシュしているようです。tty_clamp_area: y too big, [insert big number] > 0
これは私のログです:
tmux-client.log
1558350586.729364 sending message 105 to peer 0x55c5491caa80 (21 bytes)
1558350586.729373 sending message 105 to peer 0x55c5491caa80 (12 bytes)
1558350586.729383 sending message 105 to peer 0x55c5491caa80 (47 bytes)
1558350586.729392 sending message 105 to peer 0x55c5491caa80 (8 bytes)
1558350586.729402 sending message 105 to peer 0x55c5491caa80 (35 bytes)
1558350586.729411 sending message 105 to peer 0x55c5491caa80 (39 bytes)
1558350586.729421 sending message 105 to peer 0x55c5491caa80 (23 bytes)
1558350586.729430 sending message 105 to peer 0x55c5491caa80 (13 bytes)
1558350586.729439 sending message 105 to peer 0x55c5491caa80 (26 bytes)
1558350586.729452 sending message 105 to peer 0x55c5491caa80 (11 bytes)
1558350586.729462 sending message 105 to peer 0x55c5491caa80 (10 bytes)
1558350586.729472 sending message 106 to peer 0x55c5491caa80 (0 bytes)
1558350586.729482 cmd_pack_argv: argv[0]=new
1558350586.729492 cmd_pack_argv: argv[1]=-s
1558350586.729500 cmd_pack_argv: argv[2]=Scope
1558350586.729510 sending message 200 to peer 0x55c5491caa80 (17 bytes)
1558350586.729519 client loop enter
1558350586.751533 peer 0x55c5491caa80 message 207
1558350586.751544 sending message 208 to peer 0x55c5491caa80 (0 bytes)
1558350616.843871 client loop exit
tmux-server.log
1558350616.752814 format_replace: replaced 'W:#[range=window|#{window_index} #{window-status-style}#{?#{&&:#{window_last_flag},#{!=:#{window-status-last-style},default}}, #{window-status-last-style},}#{?#{&&:#{window_bell_flag},#{!=:#{window-status-bell-style},default}}, #{window-status-bell-style},#{?#{&&:#{||:#{window_activity_flag},#{window_silence_flag}},#{!=:#{window-status-activity-style},default}}, #{window-status-activity-style},}}]#{T:window-status-format}#[norange default]#{?window_end_flag,,#{window-status-separator}},#[range=window|#{window_index} list=focus #{?#{!=:#{window-status-current-style},default},#{window-status-current-style},#{window-status-style}}#{?#{&&:#{window_last_flag},#{!=:#{window-status-last-style},default}}, #{window-status-last-style},}#{?#{&&:#{window_bell_flag},#{!=:#{window-status-bell-style},default}}, #{window-status-bell-style},#{?#{&&:#{||:#{window_activity_flag},#{window_silence_flag}},#{!=:#{window-status-activity-style},default}}, #{window-status-activity-style},}}]#{T:window-status-current-format}#[norange list=on default]#{?window_end_flag,,#{window-status-separator}}' with '#[range=window|1 list=focus fg=colour39]#[bold]1 zsh#[norange list=on default]'
1558350616.752820 format_expand1: found #{}: status-right-style
1558350616.752823 format_replace: format 'status-right-style' found: default
1558350616.752826 format_replace: replaced 'status-right-style' with 'default'
1558350616.752829 format_expand1: found #{}: T;=/#{status-right-length}:status-right
1558350616.752832 format_expand1: expanding format: #{status-right-length}
1558350616.752834 format_expand1: found #{}: status-right-length
1558350616.752837 format_replace: format 'status-right-length' found: 150
1558350616.752840 format_replace: replaced 'status-right-length' with '150'
1558350616.752842 format_expand1: result is: 150
1558350616.752845 format_replace: modifier 0 is T
1558350616.752847 format_replace: modifier 1 is =
1558350616.752849 format_replace: modifier 1 argument 0: 150
1558350616.752853 format_replace: format 'status-right' found: #[fg=colour241] %R %d %b #[fg=colour154,bold]#h
1558350616.752856 format_expand1: expanding format: #[fg=colour241] %R %d %b #[fg=colour154,bold]#h
1558350616.752861 format_expand1: after time expanded: #[fg=colour241] 12:10 20 May #[fg=colour154,bold]#h
1558350616.752864 format_expand1: found #h: host_short
1558350616.752869 format_replace: format 'host_short' found: frankenstein
1558350616.752871 format_replace: replaced 'host_short' with 'frankenstein'
1558350616.752874 format_expand1: result is: #[fg=colour241] 12:10 20 May #[fg=colour154,bold]frankenstein
1558350616.752877 format_replace: applied length limit 150: #[fg=colour241] 12:10 20 May #[fg=colour154,bold]frankenstein
1558350616.752880 format_replace: replaced 'T;=/#{status-right-length}:status-right' with '#[fg=colour241] 12:10 20 May #[fg=colour154,bold]frankenstein'
1558350616.752887 format_expand1: result is: #[align=left range=left default]#[fg=colour154,bold] Scope #[norange default]#[list=on align=left]#[list=left-marker]<#[list=right-marker]>#[list=on]#[range=window|1 list=focus fg=colour39]#[bold]1 zsh#[norange list=on default]#[nolist align=right range=right default]#[fg=colour241] 12:10 20 May #[fg=colour154,bold]frankenstein#[norange default]
1558350616.752890 screen_write_collect_flush: flushed 0 items (0 bytes)
1558350616.752893 screen_write_stop: 0 cells (0 written, 0 skipped)
1558350616.752904 unref client 0x55c549201e30 (2 references)
1558350616.752907 status_redraw exit: force=0, changed=0
1558350616.752911 screen_redraw_set_context: /dev/pts/1 @0 ox=0 oy=0 sx=209 sy=56 1/0
1558350616.752914 /dev/pts/1: redraw added 0 bytes
1558350616.752918 @0 active pane changed
1558350616.752920 @0 name timer already queued (371885 left)
1558350616.780224 %2 has 76 bytes
1558350616.780243 @0 alerts timer reset 0
1558350616.780248 screen_write_start: size 69x12, pane %2 (at 70,45)
1558350616.780254 input_parse: %2 ground, 76 bytes: [..................] / rollbackFailedOptional: verb npm-session 5e24\033[0m\033[K\r
1558350616.780261 screen_write_collect_end: 68 [..................] / rollbackFailedOptional: verb npm-session 5e24 (at 0,5)
1558350616.780267 input_csi_dispatch: 'm' "" "0"
1558350616.780271 parameter 0: number 0
1558350616.780275 input_csi_dispatch: 'K' "" ""
1558350616.780302 input_c0_dispatch: '\r'
1558350616.780309 /dev/pts/1: \033[51;71H
1558350616.780317 /dev/pts/1: [..................] / rollbackFailedOptional: verb npm-session 5e24
1558350616.780321 screen_write_collect_flush: flushed 1 items (68 bytes)
1558350616.780323 screen_write_stop: 68 cells (68 written, 0 skipped)
1558350616.780327 cmdq_next <global>: empty
1558350616.780330 cmdq_next <0x55c549201e30>: empty
1558350616.780334 /dev/pts/1: \033[57;141H
1558350616.780339 @0 active pane changed
1558350616.780342 @0 name timer already queued (344463 left)
1558350616.780354 /dev/pts/1: wrote 85 bytes (of 85)
1558350616.780356 cmdq_next <global>: empty
1558350616.780358 cmdq_next <0x55c549201e30>: empty
1558350616.780370 @0 active pane changed
1558350616.780372 @0 name timer already queued (344432 left)
1558350616.790477 cmdq_next <global>: empty
1558350616.790499 cmdq_next <0x55c549201e30>: empty
1558350616.790506 @0 active pane changed
1558350616.790509 @0 name timer already queued (334297 left)
1558350616.830635 %2 has 76 bytes
1558350616.830651 @0 alerts timer reset 0
1558350616.830657 screen_write_start: size 69x12, pane %2 (at 70,45)
1558350616.830664 input_parse: %2 ground, 76 bytes: [..................] / rollbackFailedOptional: verb npm-session 5e24\033[0m\033[K\r
1558350616.830670 screen_write_collect_end: 68 [..................] / rollbackFailedOptional: verb npm-session 5e24 (at 0,5)
1558350616.830676 input_csi_dispatch: 'm' "" "0"
1558350616.830680 parameter 0: number 0
1558350616.830683 input_csi_dispatch: 'K' "" ""
1558350616.830686 input_c0_dispatch: '\r'
1558350616.830693 /dev/pts/1: \033[51;71H
1558350616.830701 /dev/pts/1: [..................] / rollbackFailedOptional: verb npm-session 5e24
1558350616.830705 screen_write_collect_flush: flushed 1 items (68 bytes)
1558350616.830708 screen_write_stop: 68 cells (68 written, 0 skipped)
1558350616.830711 cmdq_next <global>: empty
1558350616.830714 cmdq_next <0x55c549201e30>: empty
1558350616.830718 /dev/pts/1: \033[57;141H
1558350616.830723 @0 active pane changed
1558350616.830726 @0 name timer already queued (294079 left)
1558350616.830737 /dev/pts/1: wrote 85 bytes (of 85)
1558350616.830748 cmdq_next <global>: empty
1558350616.830751 cmdq_next <0x55c549201e30>: empty
1558350616.830753 @0 active pane changed
1558350616.830755 @0 name timer already queued (294050 left)
1558350616.840848 cmdq_next <global>: empty
1558350616.840874 cmdq_next <0x55c549201e30>: empty
1558350616.840889 @0 active pane changed
1558350616.840892 @0 name timer already queued (283914 left)
1558350616.842926 %3 has 338 bytes
1558350616.842942 @0 alerts timer reset 0
1558350616.842948 screen_write_start: size 69x12, pane %3 (at 140,45)
1558350616.842991 input_parse: %3 ground, 338 bytes: \r\033[0m\033[27m\033[24m\033[J\r\n\342\224\214\342\224\200\033[39m\033[0m\033[49m\033[48;5;250m \033[38;5;24m\357\205\274 \033[48;5;24m\033[38;5;250m\356\202\260 \033[38;5;250m\357\201\274 \033[38;5;250m\342\200\246/src/Frontend \033[48;5;172m\033[38;5;24m\356\202\260 \033[38;5;233m\357\204\223 \033[38;5;233m\357\204\246 development \357\201\252 \033[49m\033[38;5;172m\356\202\260\033[39m \r\n\342\224\202\r\n\342\224\224\342\236\244 \033[K\033[62C\033[1A\033[39m\033[0m\033[49m\033[30m\356\202\262\033[39m\033[40m\033[32m \033[32m\342\234\224\033[K\033[00m\033[1B\033[39m\033[49m\033[65D\033[?2004h
1558350616.842996 input_c0_dispatch: '\r'
1558350616.843000 input_csi_dispatch: 'm' "" "0"
1558350616.843004 parameter 0: number 0
1558350616.843008 input_csi_dispatch: 'm' "" "27"
1558350616.843010 parameter 0: number 27
1558350616.843013 input_csi_dispatch: 'm' "" "24"
1558350616.843015 parameter 0: number 24
1558350616.843017 input_csi_dispatch: 'J' "" ""
1558350616.843021 screen_write_collect_flush: flushed 0 items (0 bytes)
1558350616.843028 /dev/pts/1: \033[46;57r
1558350616.843034 fatal: tty_clamp_area: y too big, 4294967295 > 0
編集:良いです。問題は実際には一貫しているようです。
再現段階:
走る
tmux
垂直分割(上下のウィンドウ)
~によると
<mod>alt+3
端末がスクロールを開始するまで、下部ペインでコマンドを実行します。
私はtmux 2.9aとtermite v15を使用しています。
答え1
tmuxのバグを報告するのは賢明ではない場所のようですが、それでも問題は次のコミットで解決する必要があります。https://github.com/tmux/tmux/commit/38b8a198bac62c16d351c54ed83ead29a2e0ecc8