In ncurses/n_nast.h we see: pthread_t thID[6]; and yet in ncurses/n_comm.c the array index thID[6] is used. I got really bored trying to find which windows/menus as defined in ncurses/n_* belong to which threads. Needless to say the ncurses interface is basically broken.