dankamongmen / notcurses

blingful character graphics/TUI library. definitely not curses.
https://nick-black.com/dankwiki/index.php/Notcurses
Other
3.48k stars 112 forks source link

debian armhf autopkgtests are timing out #2645

Closed dankamongmen closed 2 years ago

dankamongmen commented 2 years ago

We've got problems in Debian autopkgtests on armhf, even with 3.0.7:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001661

see the most recent (2022-03-16) comment from the Gevers.

i'm pretty sure i've got a raspberry pi that can be pressed into service to debug this. if we can reproduce it interactively, it ought fall quickly. looks like we need a solution by the 15th to avoid falling out of testing.

dankamongmen commented 2 years ago
growlight 1.2.38-5 is marked for autoremoval from testing on 2022-04-15                                                             

It (build-)depends on packages with these RC bugs:                                                                                  
1001661: notcurses: flaky autopkgtests on armhf                                                                                     
 https://bugs.debian.org/1001661                                                                                                    

This mail is generated by:                                                                                                          
https://salsa.debian.org/release-team/release-tools/-/blob/master/mailer/mail_autoremovals.pl                                       

Autoremoval data is generated by:                                                                                                   
https://salsa.debian.org/qa/udd/-/blob/master/udd/testing_autoremovals_gatherer.pl     
dankamongmen commented 2 years ago

looking at the last log Paul Gevers posted, it looks like notcurses-demo is working just fine, but notcurses-tester is locking up. that's kinda surprising. definitely would seem to be something distinct from the input-related problems we were seeing for so long.

dankamongmen commented 2 years ago

or maybe not:

prep_special_keys:347:no terminfo declaration for kBEG6                                                                             
prep_special_keys:347:no terminfo declaration for kBEG7                                                                             
get_tty_fd:464:fd 0 is not a TTY                                                                                                    
get_tty_fd:472:couldn't open /dev/tty (No such device or address)                                                                   
init_inputlayer:2400:spun up input thread                                                                                           
get_default_geometry:42:default geometry: 24 rows, 80 columns                                                                       
interrogate_terminfo:1251:warning: non-standard smcup!                                                                              
ncplane_new_internal:671:created new 24x80 plane "std" @ 0x0                                                                        
prep_windows_special_keys:1907:added all windows special keys                                                                       
prep_kitty_special_keys:1853:added all kitty special keys                                                                           
prep_xtmodkeys:174:added all xtmodkeys                                                                                              
build_cflow_automaton:1648:added 0xf7d65a51 via [E                                                                                  
build_cflow_automaton:1648:added 0xf7d66add via [<\N;\N;\NM                                                                         
build_cflow_automaton:1648:added 0xf7d66acd via [<\N;\N;\Nm                                                                         
stop_inputlayer:2410:tearing down input thread                                                                                      
prep_special_keys:351:invalid escape: kbs (0x110380)                                                                                
read_input_nblock:1941:got EOF on 0                                                                                                 
prep_special_keys:351:invalid escape: kbs (0x110380)                                                                                
read_input_nblock:1941:got EOF on 0                                                                                                 
autopkgtest [06:40:45]: ERROR: timed out on command "su -s /bin/bash debci -c set -e; export USER=`id -nu`; . /etc/profile                                                                                                                                                                                              
>/dev/null 2>&1 || true;  . ~/.profile >/dev/null 2>&1 || true; buildtree="/tmp/autopkgtest-lxc.mvjbouny/downtmp/build.LBd/src";                                                                                                                                                                                        
mkdir -p -m 1777 -- "/tmp/autopkgtest-lxc.mvjbouny/downtmp/unittests-artifacts";                                                                                                                                                                                                                                        
export AUTOPKGTEST_ARTIFACTS="/tmp/autopkgtest-lxc.mvjbouny/downtmp/unittests-artifacts";                                                                                                                                                                                                                               
export ADT_ARTIFACTS="$AUTOPKGTEST_ARTIFACTS"; mkdir -p -m 755 "/tmp/autopkgtest-lxc.mvjbouny/downtmp/autopkgtest_tmp";                                                                                                                                                                                                 
export AUTOPKGTEST_TMP="/tmp/autopkgtest-lxc.mvjbouny/downtmp/autopkgtest_tmp"; export ADTTMP="$AUTOPKGTEST_TMP";                                                                                                                                                                                                       
export DEBIAN_FRONTEND=noninteractive; export LANG=C.UTF-8; export DEB_BUILD_OPTIONS=parallel=160;                                                                                                                                                                                                                      
unset LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE   LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS   LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL;                                                                                                                                                     
rm -f /tmp/autopkgtest_script_pid; set -C; echo $$ > /tmp/autopkgtest_script_pid; set +C; trap "rm -f /tmp/autopkgtest_script_pid" EXIT INT QUIT PIPE; cd "$buildtree";                                                                                                                                                 
touch /tmp/autopkgtest-lxc.mvjbouny/downtmp/unittests-stdout /tmp/autopkgtest-lxc.mvjbouny/downtmp/unittests-stderr;                                                                                                                                                                                                    
bash -ec 'TERM=xterm-256color notcurses-tester -l3 > /dev/null' 2> >(tee -a /tmp/autopkgtest-lxc.mvjbouny/downtmp/unittests-stderr                                                                                                                                                                                      
>&2) > >(tee -a /tmp/autopkgtest-lxc.mvjbouny/downtmp/unittests-stdout);" (kind: test)  
dankamongmen commented 2 years ago

notcurses-info before it works fine, and here's what we see there:

^[[KBitmap emits:elides: 0:0 (0.00%) 0B (0.00%) SuM: 0 (0.00%)                                                                                                                                                                                                                                                          
link_numeric:393:phi node: 311->312                                                                                                                                                                                                                                                                                     
link_numeric:394:eta node: 313 philink[$]: 313                                                                                                                                                                                                                                                                          
insert_path:481:added fixed y 121 as 314                                                                                                                                                                                                                                                                                
build_cflow_automaton:1648:added 0xf7e29711 via [?1016;\N$y                                                                                                                                                                                                                                                             
insert_path:481:added fixed [ 91 as 4                                                                                                                                                                                                                                                                                   
insert_path:481:added fixed ? 63 as 304                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed 2 50 as 315                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed 0 48 as 316                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed 2 50 as 317                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed 6 54 as 318                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed ; 59 as 319                                                                                                                                                                                                                                                                                 
link_numeric:380:adding numeric with follow $ following [?2026;                                                                                                                                                                                                                                                         
stop_inputlayer:2410:tearing down input thread                                                                                                                                                                                                                                                                          
link_numeric:393:phi node: 319->320                                                                                                                                                                                                                                                                                     
link_numeric:394:eta node: 321 philink[$]: 321                                                                                                                                                                                                                                                                          
insert_path:481:added fixed y 121 as 322                                                                                                                                                                                                                                                                                
build_cflow_automaton:1648:added 0xf7e29781 via [?2026;\N$y                                                                                                                                                                                                                                                             
insert_path:481:added fixed [ 91 as 4                                                                                                                                                                                                                                                                                   
link_numeric:380:adding numeric with follow ; following [                                                                                                                                                                                                                                                               
get_phi_node:232:found existing phi node 4[0]->269                                                                                                                                                                                                                                                                      
link_numeric:393:phi node: 4->269                                                                                                                                                                                                                                                                                       
link_numeric:394:eta node: 270 philink[;]: 270                                                                                                                                                                                                                                                                          
link_numeric:380:adding numeric with follow R following [\N;                                                                                                                                                                                                                                                            
get_phi_node:232:found existing phi node 270[0]->271                                                                                                                                                                                                                                                                    
link_numeric:393:phi node: 270->271                                                                                                                                                                                                                                                                                     
link_numeric:394:eta node: 323 philink[R]: 323                                                                                                                                                                                                                                                                          
build_cflow_automaton:1648:added 0xf7e2a3fd via [\N;\NR                                                                                                                                                                                                                                                                 
insert_path:481:added fixed [ 91 as 4                                                                                                                                                                                                                                                                                   
insert_path:481:added fixed ? 63 as 304                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed 1 49 as 307                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed ; 59 as 324                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed 1 49 as 325                                                                                                                                                                                                                                                                                 
insert_path:481:added fixed S 83 as 326                                                                                                                                                                                                                                                                                 
build_cflow_automaton:1648:added (nil) via [?1;1S                                                                                                                                                                                                                                                                       
autopkgtest [03:53:58]: test info: -----------------------]                                                                                                                                                                                                                                                             
autopkgtest [03:53:58]: test info:  - - - - - - - - - - results - - - - - - - - - -                                                                                                                                                                                                                                     
info                 PASS                  

so it looks like this is related to timing of EOF processing. also, it looks like we're busy-looping on EOF later...i thought we'd resolved that? =\

dankamongmen commented 2 years ago

wait this log is for notcurses 3.0.4!

Get:1 http://deb.debian.org/debian testing/main notcurses 3.0.4+dfsg.1-1 (dsc) [3,148 B]                                                                                                                                                                                                                                
Get:2 http://deb.debian.org/debian testing/main notcurses 3.0.4+dfsg.1-1 (tar) [7,391 kB]                                                                                                                                                                                                                               
Get:3 http://deb.debian.org/debian testing/main notcurses 3.0.4+dfsg.1-1 (asc) [833 B]                                                                                                                                                                                                                                  
Get:4 http://deb.debian.org/debian testing/main notcurses 3.0.4+dfsg.1-1 (diff) [17.1 kB] 
dankamongmen commented 2 years ago

ok yeah this problem was fixed for notcurses 3.0.5. gotta just figure out what's up with debian ci. they ought be using 3.0.7.