Summary: | Potential threading problem should be investigated | ||
---|---|---|---|
Product: | [Applications] kst | Reporter: | Andrew Walker <arwalker> |
Component: | general | Assignee: | kst |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | 1.x | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Andrew Walker
2005-07-11 18:46:34 UTC
Which KDE version and Qt version do you have? This was a problem with KDE/Qt in the past. This is the first time I've seen it and have not recently changed either Qt or KDE versions. KDE version: 0x30300 Qt version: 0x30303 On Monday 11 July 2005 13:05, Andrew Walker wrote: > ------- This is the first time I've seen it and have not recently changed > either Qt or KDE versions. > > KDE version: 0x30300 > Qt version: 0x30303 It could still be a bug, but I do remember those KDE and Qt versions causing this warning message in many or all KDE apps. > It could still be a bug, but I do remember those KDE and Qt versions causing
> this warning message in many or all KDE apps.
I have always got this message any time I run kst while I'm not in an
active kde session (for as long as I can remember using kst, over all
versions I can think of). For example, this is from a Fedora Core 3 machine
that I log into remotely (so there is no kde running):
[truch@marcy ~]$ kst
kbuildsycoca running...
[truch@marcy ~]$ Mutex destroy failure: Device or resource busy
ICE default IO error handler doing an exit(), pid = 1965, errno = 0
ICE default IO error handler doing an exit(), pid = 1974, errno = 0
[truch@marcy ~]$ kst --version
Qt: 3.3.4
KDE: 3.3.1-2.12.FC3 Red Hat
Kst: 1.2.0_devel
[truch@marcy ~]$
This is actually [seems to be] new. I'm seeing it since updating today. Here is the stack trace: #0 ~QMutexPrivate (this=0x8078fe0) at qmutex_unix.cpp:119 #1 0x41a69474 in ~QRecursiveMutexPrivate (this=0x8078fe0) at qmutex_unix.cpp:229 #2 0x41a6991c in ~QMutex (this=0x40a14fd4) at qmutex_unix.cpp:453 #3 0x409eea28 in ~KstRWLock (this=0x40a14fc8) at rwlock.cpp:31 #4 0x40151fd0 in ~KstObjectList (this=0x40a14fc0) at kstobject.h:93 #5 0x409de68e in __tcf_2 () at kstdatacollection.cpp:34 It's a KstMatrixList: $1 = (KstObjectList<KstSharedPtr<KstMatrix> > * const) 0x40a14fc0 SVN commit 434028 by rchern: - use KST::matrixList instead of old matrix dataobject in some other places - write unlock after write locking CCMAIL: 108933-done@bugs.kde.org M +1 -0 kstdataobject.cpp M +1 -1 kstmatrixdialog_i.cpp M +1 -1 kstmatrixtable.cpp M +1 -1 kstviewmatricesdialog_i.cpp --- trunk/extragear/graphics/kst/kst/kstdataobject.cpp #434027:434028 @@ -75,6 +75,7 @@ ++it) { KST::matrixList.remove(it.data()); } + KST::matrixList.lock().writeUnlock(); //kdDebug() << "+++ DESTROYING DATA OBJECT: " << (void*)this << endl; delete _curveHints; } --- trunk/extragear/graphics/kst/kst/kstmatrixdialog_i.cpp #434027:434028 @@ -608,7 +608,7 @@ bool KstMatrixDialogI::edit_I() { - KstMatrixList mxList = kstObjectSubList<KstDataObject,KstMatrix>(KST::dataObjectList); + KstMatrixList mxList = KST::matrixList; // if editing multiple objects, edit each one if (_editMultipleMode) { --- trunk/extragear/graphics/kst/kst/kstmatrixtable.cpp #434027:434028 @@ -32,7 +32,7 @@ } void KstMatrixTable::paintCell( QPainter* painter, int row, int col, const QRect& cr, bool selected, const QColorGroup& cg ) { - KstMatrixList matrices = kstObjectSubList<KstDataObject, KstMatrix>(KST::dataObjectList); + KstMatrixList matrices = KST::matrixList; KstMatrixPtr matrix = *matrices.findTag(_strMatrix); QString str; double value; --- trunk/extragear/graphics/kst/kst/kstviewmatricesdialog_i.cpp #434027:434028 @@ -64,7 +64,7 @@ void KstViewMatricesDialogI::updateViewMatricesDialog(const QString& matrixName) { int needed = 0; - KstMatrixList matrices = kstObjectSubList<KstDataObject, KstMatrix>(KST::dataObjectList); + KstMatrixList matrices = KST::matrixList; KstMatrixPtr matrix = *matrices.findTag(matrixName); if (matrix) { matrix->readLock(); |