Skip to content
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

kitty hangs randomly running a remote control command #5890

Closed
salmankhilji opened this issue Jan 16, 2023 · 7 comments
Closed

kitty hangs randomly running a remote control command #5890

salmankhilji opened this issue Jan 16, 2023 · 7 comments
Labels

Comments

@salmankhilji
Copy link

Describe the bug
While running a remote control command, or perhaps a specific remote control command, kitty randomly (and rarely) hangs.

To Reproduce

Exact repro steps are, unfortunately, unknown. The following is an attempt to reproduce the bare minimum from my setup that could help in diagnosing this issue.

  1. Save the following contents as a file named workrc:
    kitty @ set-tab-title $'\U1f527'
    kitty @ close-tab --match "not state:focused" 2>/dev/null
    <some kitty @ launch commands to open new tabs>
    (The above file opens many other tabs but since kitty sometimes hangs while executing the above set of remote control commands, I end up not seeing any new tabs. Moreover, in my setup, the above is being executed from a .desktop launcher file.)
  2. Launch kitty like this: kitty bash --rcfile /path/to/workrc

Observed Behavior

The user indefinitely stares at the tab with the wrench emoji title. kitty never gets to launching the new tabs.

But here is something interesting: if I simply hit SPACE or ENTER on the keyboard, then kitty resumes and creates the specified set of tabs in the workrc file.

I hypothesize that there might be a race condition where it may be the @ close-tab command that might be hanging. In the stated scenario, since there are are no tabs other than the single one with the wrench emoji title, the @ close-tab command might be hanging as there are no other tabs to close.

However, data I collected from my machine seems to contradict my hypothesis. Lets download:

kitty-hang.txt

At Line 4, you can see that it is actually the kitty @ set-tab-title 🔧 that was hung. I then attached strace using the -p option and after hitting ENTER on the keyboard, kitty resumed, and strace logged what was being executed at the kernel level starting at Line 18.

Environment details

kitty 0.26.5 () created by Kovid Goyal
Linux byteevo 5.15.0-58-generic #64~20.04.1-Ubuntu SMP Fri Jan 6 16:42:31 UTC 2023 x86_64
Ubuntu 20.04.5 LTS byteevo /dev/tty

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS"
Running under: X11
Frozen: True
Paths:
  kitty: /home/precor/.local/kitty.app/bin/kitty
  base dir: /home/precor/.local/kitty.app/lib/kitty
  extensions dir: /home/precor/.local/kitty.app/lib/kitty-extensions
  system shell: /bin/bash
Loaded config files:
  /home/precor/.config/kitty/kitty.conf
Loaded config overrides:
  env PROJECT=px4-q
  env HISTFILE=/home/precor/.local/share/precor/bash_history_px4-q
  include /home/precor/.config/kitty/themes/snazzy.conf
  tab_bar_min_tabs 1
  map kitty_mod+enter new_window_with_cwd bash --rcfile /home/precor/.local/share/precor/workrc
  map kitty_mod+t launch --type=overlay --cwd=current       --env=POST_RC='t=$(_fzf-new-tab-widget) && new-tab $t; exit'       bash --rcfile /home/precor/.local/share/precor/workrc
  action_alias run_from_history launch --type=overlay --cwd=current --hold       --color background=#1d1f27 run-history
  map ctrl+alt+1 run_from_history 1
  map ctrl+alt+2 run_from_history 2
  map ctrl+alt+3 run_from_history 3
  map ctrl+alt+4 run_from_history 4
  map ctrl+alt+5 run_from_history 5
  map ctrl+alt+6 run_from_history 6
  map ctrl+alt+7 run_from_history 7
  map ctrl+alt+8 run_from_history 8
  map ctrl+alt+9 run_from_history 9

Config options different from defaults:
active_tab_font_style         (True, False)
allow_remote_control          yes
confirm_os_window_close       0
enabled_layouts               ['tall', 'fat']
env:
{'HISTFILE': '/home/precor/.local/share/precor/bash_history_px4-q',
 'PROJECT': 'px4-q'}
exe_search_path:
{'~/.config/kitty/helpers': '~/.config/kitty/helpers'}
font_family                   Hack
inactive_tab_font_style       (True, False)
initial_window_height         (32, 'cells')
initial_window_width          (128, 'cells')
modify_font:
    cell_height 105%
placement_strategy            top-left
remember_window_size          False
scrollback_pager_history_size 16777216
shell_integration             frozenset({'disabled'})
symbol_map:
	U+2324 - U+2394 → DejaVu Sans Condensed
	U+23ce - U+23ce → DejaVu Sans Condensed
	U+f10b - U+f2d3 → octicons
tab_bar_edge                  1
tab_bar_margin_height         TabBarMarginHeight(outer=8.0, inner=8.0)
tab_bar_margin_width          8.0
tab_bar_min_tabs              1
tab_bar_style                 custom
window_border_width           (1.0, 'px')
window_padding_width          FloatEdges(left=1.0, top=1.0, right=1.0, bottom=1.0)
window_resize_step_cells      1
window_resize_step_lines      1
Added shortcuts:
	ctrl+alt+1 →  run_from_history 1
	ctrl+alt+2 →  run_from_history 2
	ctrl+alt+3 →  run_from_history 3
	ctrl+alt+4 →  run_from_history 4
	ctrl+alt+5 →  run_from_history 5
	ctrl+alt+6 →  run_from_history 6
	ctrl+alt+7 →  run_from_history 7
	ctrl+alt+8 →  run_from_history 8
	ctrl+alt+9 →  run_from_history 9
	ctrl+l →  combine : clear_terminal to_cursor active : signal_child SIGWINCH
	ctrl+page_down →  next_tab
	ctrl+page_up →  previous_tab
	f12 →  launch --stdin-source=@screen_scrollback --type=background gedit -
Changed shortcuts:
	ctrl+shift+tab →  previous_window
	ctrl+tab →  next_window
	kitty_mod+enter →  new_window_with_cwd bash --rcfile /home/precor/.local/share/precor/workrc
	kitty_mod+h →  launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay pager @input-line-number -R
	kitty_mod+o →  launch --type=background --cwd=current open @selection
	kitty_mod+t →  launch --type=overlay --cwd=current       --env=POST_RC='t=$(_fzf-new-tab-widget) && new-tab $t; exit'       bash --rcfile /home/precor/.local/share/precor/workrc
Colors:
	background                    #282a36   
	color0                        #282a36   
	color1                        #ff5c57   
	color10                       #5af78e   
	color11                       #f3f99d   
	color12                       #57c7ff   
	color13                       #ff6ac1   
	color14                       #9aedfe   
	color15                       #eff0eb   
	color2                        #5af78e   
	color3                        #f3f99d   
	color4                        #57c7ff   
	color5                        #ff6ac1   
	color6                        #9aedfe   
	color7                        #f1f1f0   
	color8                        #686868   
	color9                        #ff5c57   
	cursor                        #97979b   
	cursor_text_color             #282a36   
	foreground                    #eff0eb   
	inactive_tab_background       #3e3e3e   
	inactive_tab_foreground       #9b9b9b   
	tab_bar_background            #3e3e3e   
	tab_bar_margin_color          #3e3e3e   

Important environment variables seen by the kitty process:
	PATH                                /opt/qt/5.15.2/gcc_64/bin:/home/precor/.local/flutter/bin:/home/precor/.pub-cache/bin:/home/precor/Android/Sdk/build-tools/30.0.3:/home/precor/Android/Sdk/emulator:/home/precor/Android/Sdk/platform-tools:/home/precor/Android/Sdk/cmdline-tools/latest/bin:/home/precor/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
	LANG                                en_US.UTF-8
	SHELL                               /bin/bash
	DISPLAY                             :0
	USER                                precor
	XDG_CONFIG_DIRS                     /etc/xdg/xdg-ubuntu:/etc/xdg
	XDG_MENU_PREFIX                     gnome-
	XDG_SESSION_DESKTOP                 ubuntu
	XDG_SESSION_TYPE                    x11
	XDG_CURRENT_DESKTOP                 ubuntu:GNOME
	XDG_SESSION_CLASS                   user
	XDG_RUNTIME_DIR                     /run/user/1000
	XDG_DATA_DIRS                       /usr/share/ubuntu:/usr/local/share/:/usr/share/

Additional context

  1. kitty is the latest nightly from this morning.
  2. Frequency of reproduction is about once a week, maybe. Therefore, diagnosing this issue could be difficult.
  3. This issue appeared after running of remote control commands were refactored and make them run much faster. Release 0.26.5 does not exhibit this issue.
  4. I can refactor my scripts to not call @ close-tab in this scenario to help narrow down whether the culprit is @ set-tab-title or @ close-tab.
@kovidgoyal
Copy link
Owner

Doesnt repro for me with that script file running it approx 20 times. Try running kitty with --dump-commands that should show you all the remote control commands coming in (assuming you arent using a socket for remote control).

@salmankhilji
Copy link
Author

I have added this to my instrumentation and will paste the output of --dump-commands next time this bug reproduces.

@salmankhilji
Copy link
Author

Update: I am attempting to write an automation script to launch kitty in a loop and let it run overnight till this bug reproduces. However, I am running into another issue, which I will file as a separate ticket shortly.

@salmankhilji
Copy link
Author

I can now reproduce this issue fairly easily by invoking kitty in a loop. I had this bug reproduce 3 times within minutes. Here is the --dump-commands output of two instances:

Instance 1

In this instance, the set-tab-title hung up, so none of the later commands ran. i.e., no tabs were created at all.

screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"set-tab-title","version":[0,26,0],"kitty_window_id":1,"payload":{"title":"\ud83d\udd27"}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0

Instance 2

In this instance, the resize-window hung up in the middle of creating the needed set of tabs. All but the last tab got created. After I manually hit ENTER, kitty resumed, created the very last tab.

screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"set-tab-title","version":[0,26,0],"kitty_window_id":1,"payload":{"title":"\ud83d\udd27"}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"close-tab","version":[0,26,0],"kitty_window_id":1,"payload":{"match":"not state:focused"}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"env","version":[0,26,0],"kitty_window_id":1,"payload":{"env":{"WORKDIR":"/home/precor/precor-q10.0.0"}}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"launch","version":[0,26,0],"no_response":true,"kitty_window_id":1,"payload":{"args":["bash","--rcfile","/home/precor/.local/share/precor/workrc"],"cwd":"/home/precor/precor-q10.0.0","tab_title":"\u2699 build","type":"tab","keep_focus":true,"location":"last","stdin_source":"none","logo_alpha":-1}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"set-enabled-layouts","version":[0,26,0],"kitty_window_id":1,"payload":{"layouts":["stack","fat"],"match":"id:-1"}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"launch","version":[0,26,0],"no_response":true,"kitty_window_id":1,"payload":{"args":["bash","--rcfile","/home/precor/.local/share/precor/workrc"],"match":"id:-1","cwd":"/home/precor/precor-q10.0.0/LINUX/android","env":["TYPE_CMD_TYPE=build_shell --android=Q --build_type=userdebug -- --env QTQUICK_COMPILER=0"],"type":"window","location":"default","stdin_source":"none","logo_alpha":-1}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"launch","version":[0,26,0],"no_response":true,"kitty_window_id":1,"payload":{"args":["bash","--rcfile","/home/precor/.local/share/precor/workrc"],"cwd":"/home/precor/precor-q10.0.0/LINUX/android/vendor/peloton/apps/mpaqtapp","env":["TYPE_CMD_TYPE=code $WORKDIR/px4-q.code-workspace","POST_RC=setup-vscode"],"tab_title":"mpaqtapp","type":"tab","keep_focus":true,"location":"last","stdin_source":"none","logo_alpha":-1}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"launch","version":[0,26,0],"no_response":true,"kitty_window_id":1,"payload":{"args":["bash","--rcfile","/home/precor/.local/share/precor/workrc"],"cwd":"/home/precor/precor-q10.0.0/LINUX/android/vendor/peloton/apps/WebViewer","tab_title":"WebViewer","type":"tab","keep_focus":true,"location":"last","stdin_source":"none","logo_alpha":-1}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"launch","version":[0,26,0],"no_response":true,"kitty_window_id":1,"payload":{"args":["bash","--rcfile","/home/precor/.local/share/precor/workrc"],"cwd":"/home/precor/precor-q10.0.0","env":["TYPE_CMD_TYPE=select-device \u0026\u0026 adb shell"],"tab_title":"shell","type":"tab","keep_focus":true,"location":"last","stdin_source":"none","logo_alpha":-1}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"launch","version":[0,26,0],"no_response":true,"kitty_window_id":1,"payload":{"match":"id:-1","type":"window","location":"default","stdin_source":"none","logo_alpha":-1}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"launch","version":[0,26,0],"no_response":true,"kitty_window_id":1,"payload":{"match":"id:-1","type":"window","location":"default","stdin_source":"none","logo_alpha":-1}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
screen_set_8bit_controls 0
screen_save_modes
screen_decsace 0
screen_reset_mode 4 0
screen_reset_mode 1 1
screen_reset_mode 5 1
screen_reset_mode 2004 1
screen_reset_mode 1004 1
screen_reset_mode 1000 1
screen_reset_mode 1002 1
screen_reset_mode 1003 1
screen_reset_mode 1005 1
screen_reset_mode 1006 1
screen_set_mode 8 1
screen_set_mode 7 1
screen_set_mode 25 1
screen_push_key_encoding_flags 31
screen_handle_cmd 64 {"cmd":"resize-window","version":[0,26,0],"kitty_window_id":1,"payload":{"match":"id:-1","increment":-2,"axis":"vertical"}}
screen_pop_key_encoding_flags 1
screen_save_cursor
screen_restore_modes
screen_pop_colors 0
set_title precor@byteevo: ~/precor-q10.0.0
set_icon precor@byteevo: ~/precor-q10.0.0
select_graphic_rendition 1 
select_graphic_rendition 92 
draw precor@byteevo
select_graphic_rendition 0 
draw :
select_graphic_rendition 1 
select_graphic_rendition 94 
draw ~/precor-q10.0.0
select_graphic_rendition 0 
draw $ 
set_title precor@byteevo: ~/precor-q10.0.0/LINUX/android
set_icon precor@byteevo: ~/precor-q10.0.0/LINUX/android
select_graphic_rendition 1 
select_graphic_rendition 92 
draw precor@byteevo
select_graphic_rendition 0 
draw :
select_graphic_rendition 1 
select_graphic_rendition 94 
draw ~/precor-q10.0.0/LINUX/android
select_graphic_rendition 0 
draw $ build_shell --android=Q --build_type=userdebug -- --env QTQUICK_COMPILER=0
set_title precor@byteevo: ~/precor-q10.0.0/LINUX/android/vendor/peloton/apps/WebViewer
set_icon precor@byteevo: ~/precor-q10.0.0/LINUX/android/vendor/peloton/apps/WebViewer
select_graphic_rendition 1 
select_graphic_rendition 92 
draw precor@byteevo
select_graphic_rendition 0 
draw :
select_graphic_rendition 1 
select_graphic_rendition 94 
draw ~/precor-q10.0.0/LINUX/android/vendor/peloton/apps/WebViewer
select_graphic_rendition 0 
draw $ 
set_title precor@byteevo: ~/precor-q10.0.0
set_icon precor@byteevo: ~/precor-q10.0.0
select_graphic_rendition 1 
select_graphic_rendition 92 
draw precor@byteevo
select_graphic_rendition 0 
draw :
select_graphic_rendition 1 
select_graphic_rendition 94 
draw ~/precor-q10.0.0
select_graphic_rendition 0 
draw $ select-device && adb shell
set_title precor@byteevo: ~/precor-q10.0.0/LINUX/android/vendor/peloton/apps/mpaqtapp
set_icon precor@byteevo: ~/precor-q10.0.0/LINUX/android/vendor/peloton/apps/mpaqtapp
select_graphic_rendition 1 
select_graphic_rendition 92 
draw precor@byteevo
select_graphic_rendition 0 
draw :
select_graphic_rendition 1 
select_graphic_rendition 94 
draw ~/precor-q10.0.0/LINUX/android/vendor/peloton/apps/mpaqtapp
select_graphic_rendition 0 
draw $ code $WORKDIR/px4-q.code-workspace
set_title precor@byteevo: ~
set_icon precor@byteevo: ~
select_graphic_rendition 1 
select_graphic_rendition 92 
draw precor@byteevo
select_graphic_rendition 0 
draw :
select_graphic_rendition 1 
select_graphic_rendition 94 
draw ~
select_graphic_rendition 0 
draw $ 
set_title precor@byteevo: ~
set_icon precor@byteevo: ~
select_graphic_rendition 1 
select_graphic_rendition 92 
draw precor@byteevo
select_graphic_rendition 0 
draw :
select_graphic_rendition 1 
select_graphic_rendition 94 
draw ~
select_graphic_rendition 0 
draw $ 

Reproduction

  • My setup script creates 6 tabs.
  • The setup script itself runs in the left-most tab and is supposed to exit upon success. It has a wrench emoji title.
  • While creating the second-to-last tab, the script creates two additional windows within it, resizes both windows, and then closes both of them. (This is so that when the user manually opens the additional windows, both windows are already in the preferred geometry instead of having to manually resize them. Workaround for Allow remote control command to set layout state #3620).
  • Notice that Instance 2 hung while attempting to resize the two additional temp windows.

@kovidgoyal
Copy link
Owner

If you have a reproducer feel free to attach it and I will try it.

@salmankhilji
Copy link
Author

I think we nailed it! I just ran my reproducer script with more than 125 iterations without being able to reproduce this bug.

@kovidgoyal
Copy link
Owner

glad to hear it.

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

No branches or pull requests

2 participants