From owner-freebsd-threads@FreeBSD.ORG Mon May 26 17:46:38 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 787A537B401 for ; Mon, 26 May 2003 17:46:38 -0700 (PDT) Received: from mx8.mail.ru (mx8.mail.ru [194.67.23.28]) by mx1.FreeBSD.org (Postfix) with ESMTP id BE96043F75 for ; Mon, 26 May 2003 17:46:37 -0700 (PDT) (envelope-from kabaev@mail.ru) Received: from [141.154.241.71] (port=49646 helo=kan.dnsalias.net) by mx8.mail.ru with esmtp id 19KSbr-000PPw-00 for freebsd-threads@freebsd.org; Tue, 27 May 2003 04:46:36 +0400 Received: from kan.dnsalias.net (ak03@localhost [127.0.0.1]) by kan.dnsalias.net (8.12.9/8.12.9) with ESMTP id h4R0kYPo004247 for ; Mon, 26 May 2003 20:46:34 -0400 (EDT) (envelope-from kan@kan.dnsalias.net) Received: (from kan@localhost) by kan.dnsalias.net (8.12.9/8.12.9/Submit) id h4R0kYkV004246; Mon, 26 May 2003 20:46:34 -0400 (EDT) Date: Mon, 26 May 2003 20:46:34 -0400 From: Alexander Kabaev To: freebsd-threads@freebsd.org Message-Id: <20030526204634.4c0cfee6.kabaev@mail.ru> X-Mailer: Sylpheed version 0.8.11claws151 (GTK+ 1.2.10; i386-portbld-freebsd5.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam: Not detected Subject: konsole triggers infinite SIGABRT loop in libkse X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 May 2003 00:46:38 -0000 There is a simple way to trigger an infinite loop in konsole with libkse. Sometimes konsole tries to chown the pty is has created and fails with the following message: konsole: cannot chown /dev/ttyp9. Reason: Operation not permitted It tries to abort() itself afterwards, entering the infinite loop, see backtrace below. Apparently, _thr_sig_handler simply calls itself over and over again. #1 0x29118c82 in _thr_sig_handler (sig=6, info=0xbfbfea90, ucp=0xbfbfe7d0) at /usr/download/rtld/lib/libpthread/thread/thr_sig.c:190 190 (*(sigfunc))(sig, info, ucp); #32572 0x29118c82 in _thr_sig_handler (sig=6, info=0xbfbfea90, ucp=0xbfbfe7d0) at /usr/download/rtld/lib/libpthread/thread/thr_sig.c:190 190 (*(sigfunc))(sig, info, ucp); #32573 0x29118c82 in _thr_sig_handler (sig=6, info=0xbfbfea90, ucp=0xbfbfe7d0) at /usr/download/rtld/lib/libpthread/thread/thr_sig.c:190 190 (*(sigfunc))(sig, info, ucp); #32574 #32575 0x2917e353 in kill () from /usr/lib/libc.so.5 #32576 0x2809cb57 in TEPty::makePty(bool) () from /usr/local/lib/konsole.so #32577 0x2809cbea in TEPty::startPgm(char const*, QValueList&, char const*) () from /usr/local/lib/konsole.so #32578 0x2809d3ea in TEPty::commSetupDoneC() () from /usr/local/lib/konsole.so #32579 0x287647fd in KProcess::start(KProcess::RunMode, KProcess::Communication) () from /usr/local/lib/libkdecore.so.5 #32580 0x2809c415 in TEPty::run(char const*, QStrList&, char const*, bool, char const*, char const*) () from /usr/local/lib/konsole.so #32581 0x280c0c39 in TESession::run() () from /usr/local/lib/konsole.so #32582 0x280c2a45 in TESession::qt_invoke(int, QUObject*) () from /usr/local/lib/konsole.so #32583 0x28ae9bd8 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/X11R6/lib/libqt-mt.so.3 #32584 0x28db0a2f in QSignal::signal(QVariant const&) () from /usr/X11R6/lib/libqt-mt.so.3 #32585 0x28b02fd8 in QSignal::activate() () from /usr/X11R6/lib/libqt-mt.so.3 #32586 0x28b09d03 in QSingleShotTimer::event(QEvent*) () from /usr/X11R6/lib/libqt-mt.so.3 <.. all the way to main()>