visidata icon indicating copy to clipboard operation
visidata copied to clipboard

[visidata-2.9.dev0] Interface freeze (hard lock) when replay is cancelled after quit dialog is confirmed

Open geekscrapy opened this issue 2 years ago • 4 comments

Small description When a replay is cancelled, and the user attempts to exit with the confirm option "on", the interface freezes

Expected result To quit like normal

Actual result with screenshot (imagine a screenshot of the "confirm dialog") :)

Steps to reproduce with sample data and a .vd

  1. Create a replay file as vdj
  2. Replay it in interactive mode
  3. Cancel it with Ctrl+c
  4. Quit with quit-sheet
  5. Confirm dialog pops up
  6. Press Y to quit
  7. Interface freezes

geekscrapy avatar May 16 '22 07:05 geekscrapy

I am having a bit of trouble reproducing this, but one thing does stand out! Cancelling a replay is Ctrl+K. I wonder if the use of Ctrl+C is related...

If you cancel the replay with Ctrl+K, do you still have the interface freeze?

anjakefala avatar May 17 '22 04:05 anjakefala

Ctrl+K actually doesn't stop the replay for me 😬 replay-stop appears when I press that key combo though...

...edit

Even manually issuing replay-stop doesn't stop it

geekscrapy avatar May 17 '22 06:05 geekscrapy

Ok, so ctrl+k, works with the below example, but using ctrl+c still freezes at the dialog.

vd --replay-wait 1 -p cmdlog.vd https://raw.githubusercontent.com/saulpw/visidata/stable/sample_data/benchmark.csv

sheet	col	row	longname	input	keystrokes	comment
global		disp_date_fmt	set-option	%Y-%m-%d %H:%M:%S		
global		unfurl_empty	set-option	True		
global		save_filetype	set-option	jsonl		
global		clean_names	set-option	True		
global		default_sample_size	set-option	0		
			open-file	https://raw.githubusercontent.com/saulpw/visidata/stable/sample_data/benchmark.csv	o	
benchmark	SKU	8	select-equal-cell		,	select rows matching current cell in current column
benchmark	SKU		select-col-regex	219	|	select rows matching regex in current column
benchmark			delete-selected		gd	delete selected rows
benchmark	Unit		sort-asc		[	sort ascending by current column; replace any existing sort criteria
benchmark	Paid		key-col		!	toggle current column as a key column
benchmark	Unit		key-col		!	toggle current column as a key column
benchmark	Quantity		key-col		!	toggle current column as a key column
benchmark	Item		key-col		!	toggle current column as a key column
benchmark	SKU		key-col		!	toggle current column as a key column
benchmark	Customer		key-col		!	toggle current column as a key column
benchmark	Date		key-col		!	toggle current column as a key column
benchmark			freq-keys		gShift+F	open Frequency Table grouped by all key columns on source sheet, with aggregations of other columns

geekscrapy avatar May 17 '22 06:05 geekscrapy

I could not repro this as such, but I did see some interface freeze during an initial run without the quitguard (nor canceling either I think). The cursor was blinking in the upper left corner as it was being non-responsive, which is a clue that it's some terminal misconfiguration. We'll keep this open, please keep posting, like if you find other reliable repros, or if you find a workaround that works most of the time.

saulpw avatar May 18 '22 02:05 saulpw

@geekscrapy I am cleaning up some of our older issues. Is still something that is affecting you?

anjakefala avatar Mar 04 '23 06:03 anjakefala

Hey, sorry haven't replayed in a while! I'll try it out again this week

geekscrapy avatar Mar 05 '23 04:03 geekscrapy

@geekscrapy Re-open if it is still a problem that you want looked into. =)

anjakefala avatar Mar 05 '23 04:03 anjakefala