NetBSD 2.0.2 running lyx built with qt errored at exit with:
lyx: Error detected by libpthread: Destroying locked mutex.
Detected by file
"/home/builds/ab/netbsd-2-0-2-RELEASE/src/lib/libpthread/pthread_mutex.c",
line 135, function "pthread_mutex_destroy".
See pthread(3) for information.
Abort trap (core dumped)
This is from NetBSD. But is caused by bug in LyX (I think) or qt. This is
pkgsrc package lyx-qt-1.3.5nb2.
gdb backtrace shows:
#0 0x48fe7feb in kill () from /usr/lib/libc.so.12
#1 0x48d2b6d5 in pthread__errorfunc () from /usr/lib/libpthread.so.0
#2 0x48d2842a in pthread_mutex_destroy () from /usr/lib/libpthread.so.0
#3 0x488c3aee in QMutexPrivate::~QMutexPrivate() ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#4 0x488c408c in QRealMutexPrivate::~QRealMutexPrivate() ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#5 0x488c3fcd in QMutex::~QMutex() () from /usr/pkg/qt3/lib/libqt-mt.so.3
#6 0x486232de in QApplication::~QApplication() ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#7 0x082bff47 in LengthCombo::~LengthCombo() ()
#8 0x082c0bb7 in LengthCombo::~LengthCombo() ()
#9 0x4904434e in __cxa_finalize () from /usr/lib/libc.so.12
#10 0x4904413e in exit () from /usr/lib/libc.so.12
#11 0x082c0785 in LengthCombo::~LengthCombo() ()
#12 0x08129b75 in std::_Deque_iterator<int, int&, int*>
std::__copy<std::_Deque_iterator<int, int const&, int const*>,
std::_Deque_iterator<int, int&, int*> >(std::_Deque_iterator<int, int
const&, int const*>, std::_Deque_iterator<int, int const&, int const*>,
std::_Deque_iterator<int, int&, int*>, std::random_access_iterator_tag) ()
#13 0x08128d0f in std::_Deque_iterator<int, int&, int*>
std::__copy<std::_Deque_iterator<int, int const&, int const*>,
std::_Deque_iterator<int, int&, int*> >(std::_Deque_iterator<int, int
const&, int const*>, std::_Deque_iterator<int, int&, int*>,
std::random_access_iterator_tag) ()
#14 0x082bc63e in QtView::update_view_state() ()
#15 0x08317623 in QtView::staticMetaObject() ()
#16 0x48679206 in QObject::activate_signal(QConnectionList*, QUObject*) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#17 0x48679339 in QObject::activate_signal(int, int) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#18 0x4895ea49 in QPopupMenu::activated(int) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#19 0x4875f411 in QPopupMenu::actSig(int, bool) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#20 0x48763439 in QPopupMenu::mouseReleaseEvent(QMouseEvent*) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#21 0x486a8222 in QWidget::event(QEvent*) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#22 0x48626f2d in QApplication::internalNotify(QObject*, QEvent*) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#23 0x48626684 in QApplication::notify(QObject*, QEvent*) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#24 0x485c7d39 in QETWidget::translateMouseEvent(_XEvent const*) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#25 0x485c5fd7 in QApplication::x11ProcessEvent(_XEvent*) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#26 0x485da704 in QEventLoop::processEvents(unsigned) ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#27 0x48636b47 in QEventLoop::enterLoop() ()
from /usr/pkg/qt3/lib/libqt-mt.so.3
#28 0x48636a0c in QEventLoop::exec() () from
/usr/pkg/qt3/lib/libqt-mt.so.3
#29 0x4862712c in QApplication::exec() () from
/usr/pkg/qt3/lib/libqt-mt.so.3
#30 0x082c0699 in LengthCombo::~LengthCombo() ()
#31 0x08114422 in std::_Deque_iterator<int, int&, int*>
std::__copy<std::_Deque_iterator<int, int const&, int const*>,
std::_Deque_iterator<int, int&, int*> >(std::_Deque_iterator<int, int
const&, int const*>, std::_Deque_iterator<int, int const&, int const*>,
std::_Deque_iterator<int, int&, int*>, std::random_access_iterator_tag) ()
#32 0x081558de in LyXServer::callback(LyXServer*, std::string const&) ()
#33 0x0807a722 in QComboBox::setAutoCompletion(bool) ()
Is this "Destroying locked mutex" something that can be (or is) fixed in
LyX? Or is this a QT3 issue?
(Please carbon-copy me on replies.)
Jeremy C. Reed
BSD News, BSD tutorials, BSD links
http://www.bsdnewsletter.com/