https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253318
--- Comment #5 from Dimitry Andric <[email protected]> --- Looking at the stack trace, it seems the line editor was processing a tab keypress (while being in libedit via el_wgets), and then the autocompletion stuff got some error, which it tried to print via PrintAsync. That uses a non-recursive mutex 'm_output_mutex' in the EditLine class, which is also locked just before calling into el_wgets(). So I think it's getting a EDEADLK, as described in lib/libthr/thread/thr_mutex.c: 885 static int 886 mutex_self_lock(struct pthread_mutex *m, const struct timespec *abstime) 887 { 888 struct timespec ts1, ts2; 889 int ret; 890 891 switch (PMUTEX_TYPE(m->m_flags)) { 892 case PTHREAD_MUTEX_ERRORCHECK: 893 case PTHREAD_MUTEX_ADAPTIVE_NP:. 894 if (abstime) { ... 904 } else { 905 /* 906 * POSIX specifies that mutexes should return 907 * EDEADLK if a recursive lock is detected. 908 */ 909 ret = EDEADLK; 910 } I think this is an upstream bug. But it would be handy to have an easier reproduction scenario. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "[email protected]"
