Version: 4.3.2 (using 4.3.2 (KDE 4.3.2), Debian packages) Compiler: cc OS: Linux (x86_64) release 2.6.31.6-melech I experience long delays with common actions such as: * Clicking on an entry in the newsgroup list: Usually the list item was selected at once, now it takes some five seconds before the UI is updated. * Restoring the app from minimised state: again it takes several seconds before the UI is rendered. * Opening a composer window: after the composer window appears, it takes several seconds before it starts accepting keyboard input (but keystrokes are not lost). All this worked smoothly until a few days ago. I did not upgrade either knode or Qt in between, though I am using Qt 4:4.6.0~rc1-1 from Debian experimental. (It is possible that the problem started after a reboot cycle, so maybe I was running with Qt 4.5 until then.) Here are the results from oprofile, while clicking around in the newsgroup list in Knode. CPU: Core 2, speed 800 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 samples % image name symbol name 2048 13.2368 libc-2.10.1.so malloc 1667 10.7743 libQtCore.so.4.6.0 QUtf8::convertFromUnicode(QChar const*, int, QTextCodec::ConverterState*) 1227 7.9305 libc-2.10.1.so free 1200 7.7559 libkdeui.so.5.3.0 KIconThemeDir::iconPath(QString const&) const 978 6.3211 libQtCore.so.4.6.0 QString::realloc(int) 896 5.7911 libc-2.10.1.so _int_malloc 857 5.5390 libc-2.10.1.so malloc_consolidate 817 5.2805 libc-2.10.1.so realloc 778 5.0284 libc-2.10.1.so memcpy 570 3.6841 libc-2.10.1.so _int_free 566 3.6582 libQtCore.so.4.6.0 QByteArray::resize(int) 564 3.6453 libkdeui.so.5.3.0 KIconTheme::iconPath(QString const&, int, KIconLoader::MatchType) const 394 2.5465 libc-2.10.1.so access 369 2.3850 libQtCore.so.4.6.0 QString::append(QString const&) 327 2.1135 libQtCore.so.4.6.0 QString::operator=(QString const&) 162 1.0471 libQtCore.so.4.6.0 QString::grow(int) 152 0.9824 libQtCore.so.4.6.0 qAllocMore(int, int) 92 0.5946 libQtCore.so.4.6.0 QTextCodec::codecForLocale() 90 0.5817 libQtCore.so.4.6.0 QString::free(QString::Data*) 89 0.5752 libQtCore.so.4.6.0 QTextCodec::fromUnicode(QString const&) const 82 0.5300 libQtCore.so.4.6.0 QByteArray::realloc(int) 76 0.4912 libc-2.10.1.so _int_realloc 68 0.4395 libQtCore.so.4.6.0 QChar::fromAscii(char) 65 0.4201 libz.so.1.2.3.3 /usr/lib/libz.so.1.2.3.3 48 0.3102 libQtCore.so.4.6.0 QString::toLocal8Bit() const 47 0.3038 libQtCore.so.4.6.0 QUtf8Codec::convertFromUnicode(QChar const*, int, QTextCodec::ConverterState*) const 41 0.2650 libQtCore.so.4.6.0 locale_encode(QString const&) 41 0.2650 libpng12.so.0.40.0 /usr/lib/libpng12.so.0.40.0 30 0.1939 libX11.so.6.3.0 /usr/lib/libX11.so.6.3.0 21 0.1357 libQtCore.so.4.6.0 qFree(void*) 21 0.1357 libkdeui.so.5.3.0 KIconLoaderPrivate::findMatchingIcon(QString const&, int) const 17 0.1099 libQtCore.so.4.6.0 QFactoryLoader::instance(QString const&) const 17 0.1099 libQtCore.so.4.6.0 qMalloc(unsigned long) 17 0.1099 libXrender.so.1.3.0 /usr/lib/libXrender.so.1.3.0 16 0.1034 libQtCore.so.4.6.0 QString::fromLatin1_helper(char const*, int) 16 0.1034 libQtCore.so.4.6.0 QString::operator<(QString const&) const 14 0.0905 libQtCore.so.4.6.0 qstrcmp(QByteArray const&, char const*) 13 0.0840 libc-2.10.1.so strlen 12 0.0776 libQtGui.so.4.6.0 QX11PixmapData::fromImage(QImage const&, QFlags<Qt::ImageConversionFlag>) 12 0.0776 libkdeui.so.5.3.0 K3Icon::~K3Icon() 11 0.0711 libQtCore.so.4.6.0 QFile::encodeName(QString const&) 10 0.0646 libQtCore.so.4.6.0 QString::fromAscii_helper(char const*, int) 10 0.0646 libxcb.so.1.1.0 /usr/lib/libxcb.so.1.1.0 9 0.0582 libQtCore.so.4.6.0 QString::fromAscii(char const*, int) 9 0.0582 libstdc++.so.6.0.13 /usr/lib/libstdc++.so.6.0.13 8 0.0517 libQtCore.so.4.6.0 QListData::append() 8 0.0517 libQtCore.so.4.6.0 qRealloc(void*, unsigned long) 7 0.0452 libQtCore.so.4.6.0 QMutex::lock() 7 0.0452 libQtCore.so.4.6.0 QString::operator==(QString const&) const 6 0.0388 libQtCore.so.4.6.0 QLocale::QLocale(QLocale::Language, QLocale::Country) 6 0.0388 libQtGui.so.4.6.0 QGestureManager::filterEventThroughContexts(QMultiHash<QObject*, Qt::GestureType> const&, QEvent*) 6 0.0388 libc-2.10.1.so strcmp 6 0.0388 libpthread-2.10.1.so pthread_mutex_lock 5 0.0323 libQtCore.so.4.6.0 QByteArray::QByteArray(char const*) 5 0.0323 libQtCore.so.4.6.0 QMetaObject::cast(QObject*) const 5 0.0323 libQtCore.so.4.6.0 QMutex::unlock() 5 0.0323 libQtCore.so.4.6.0 QString::split(QChar const&, QString::SplitBehavior, Qt::CaseSensitivity) const 5 0.0323 libc-2.10.1.so memset 5 0.0323 libkdeui.so.5.3.0 KIconLoader::loadIcon(QString const&, KIconLoader::Group, int, int, QStringList const&, QString*, bool) const 5 0.0323 libkhtml.so.5.3.0 cssyyparse(void*)
Created attachment 38566 [details] OProfile report with call graph information
I just wanted to confirm that I see similar behavior since a few days on two x86_64 machines running fully updated Fedora 12.
This went away after I upgraded to Qt 4.6.0 release. Peter, which Qt version are you on?
Yes, Qt 4.6.0 final appears to have cured the problem. As far as I am concerned the bug is no longer valid.