[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    [Bug 88467] Slow switching between folders under Solaris with NIS
From:       Jeremy Rand <jeremy.rand () alcatel ! com>
Date:       2004-08-31 13:58:44
Message-ID: 20040831135844.14731.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
      
http://bugs.kde.org/show_bug.cgi?id=88467      




------- Additional Comments From jeremy.rand alcatel com  2004-08-31 15:58 -------
Here is a stack trace:

15906:	kmail
-----------------  lwp# 1 / thread# 1  --------------------
 fd840d40 initgroups (3b0338, 1e, fd77ef98, fd78b1d8, fd785908, fd77efb8) + 4
 fe4a04fc KProcess::start(KProcess::RunMode, KProcess::Communication) (ffbed598, 4, 0, \
fd891a28, 0, 0) + 6d0  00160f70 KMFolder::updateIndexStreamPtr(bool) (3ac5f8, 1, fd8bffd0, \
2e35d0, 2dee90, ffffffff) + 1a4  001fc9f8 KMFolderMaildir::close(bool) (3ac5f8, 3c, 1fc8ac, \
2dee90, ffbed758, ffbed768) + 14c  001240ac KMHeaders::setFolder(KMFolder*, bool) (4500a8, \
3ba558, 0, 123354, 2d8918, 0) + d58  000b901c KMMainWin::folderSelected(KMFolder*, bool) \
(2efe48, 3ba558, 0, fe73b4e8, fe8722a0, 4de6e8) + 108  000afcd8 KMMainWin::qt_invoke(int, \
QUObject*) (2efe48, 4c, ffbeda28, afc28, 2d1994, 0) + b0  fde6387c \
QObject::activate_signal(QConnectionList*, QUObject*) (480750, 420758, ffbeda28, 2c, 495070, \
ffffffff) + 15c  001160e8 KMFolderTree::folderSelected(KMFolder*) (480750, ffbeda28, 1, 2ceafc, \
6d61696c, 696d6170) + 64  00112834 KMFolderTree::doFolderSelected(QListViewItem*) (480750, \
4da410, 1163f4, fd841c44, 0, 0) + 144  001163f8 KMFolderTree::qt_invoke(int, QUObject*) \
(480750, 6c, ffbedc28, 11634c, 2d7a70, 0) + ac  fde637c8 \
QObject::activate_signal(QConnectionList*, QUObject*) (480750, 31f6e0, ffbedc28, 9, 4828f0, \
48079c) + a8  fe10998c QListView::currentChanged(QListViewItem*) (480750, ffbedc28, 488ad8, 4, \
12, 0) + 7c  fdf22bfc QListView::setCurrentItem(QListViewItem*) (480750, 4da410, 2ceb08, \
fe2a06b4, 2430, ff0000) + 164  fdf1f3ec QListView::contentsMousePressEventEx(QMouseEvent*) \
(480750, ffbede98, 488ad8, ffbedd90, fd69e650, 57af28) + 34c  fe7342a8 \
KListView::contentsMousePressEvent(QMouseEvent*) (480750, ffbede98, 0, ffbedef0, a8, 58) + 264  \
fdf46d10 QScrollView::viewportMousePressEvent(QMouseEvent*) (480750, ffbee480, 2ce9f4, 4811e0, \
0, ffbedff8) + b4  fdf465bc QScrollView::eventFilter(QObject*, QEvent*) (1, 31f550, ffbee480, \
11c0af, 41348243, 0) + 10c  fdf1eae8 QListView::eventFilter(QObject*, QEvent*) (480750, 31f550, \
ffbee480, 2fd4f8, 54c430, 0) + 58  00115e64 KMFolderTree::eventFilter(QObject*, QEvent*) \
(480750, 31f550, ffbee480, 115e48, 16, 20) + 1c  fde61560 QObject::activate_filters(QEvent*) \
(0, ffbee480, ffffffff, fd841c44, 6400, 0) + 5c  fde614a0 QObject::event(QEvent*) (31f550, \
ffbee480, fdf61168, 0, 81010100, ff0000) + c0  fde92e84 QWidget::event(QEvent*) (31f550, \
ffbee480, 2cc690, fdf60d64, fd69e650, 57af28) + 18  fde12258 \
QApplication::internalNotify(QObject*, QEvent*) (0, 31f550, ffbee480, 6230, 9d, 2f678c) + d8  \
fde11920 QApplication::notify(QObject*, QEvent*) (0, 31f550, ffbee480, bfffffff, ff35dd60, \
7fffffff) + 168  fe46d0a0 KApplication::notify(QObject*, QEvent*) (ffbeeac0, 31f550, ffbee480, \
2cfc54, ffbeeac0, fe29e612) + 118  fddbb500 QETWidget::translateMouseEvent(_XEvent const*) \
(40000000, bfffffff, ffbee480, 2e3074, 54c430, 0) + 9f8  fddb89dc \
QApplication::x11ProcessEvent(_XEvent*) (ffbeeac0, ffbee730, 2e3074, 0, 7fffffff, bfffffff) + \
500  fddcd12c QEventLoop::processEvents(unsigned) (fe268848, 19, 30a688, 4, 6400, ff3c6348) + \
790  fde24ba0 QEventLoop::enterLoop() (31acf0, fde24b28, fe2916d0, 62dc, 0, 5) + 78
 fde24a70 QEventLoop::exec() (30a688, 1, fe2916d0, fde24a2c, 84, 2e3660) + 44
 fde12488 QApplication::exec() (ffbeeac0, ffbee960, 2e3000, 1, 0, ffbee8d0) + 14
 00213ca4 main     (ffbeeab0, ffbeea58, ffbeec54, 2e307c, 0, 0) + 9a0
 000994b4 _start   (0, 0, 0, 0, 0, 0) + 5c
-----------------  lwp# 2 / thread# 2  --------------------
 fd75ed38 _dynamiclwps (0, 0, 0, 0, 0, 0)
-----------------  lwp# 3  --------------------------------
 fd75a728 _lwp_start (0, 0, 0, 0, 0, 0)
--------------------------  thread# 3  --------------------
 fd75ddbc _reap_wait (fd7829e0, 20520, 0, fd77e000, 0, 0) + 38
 fd75db14 _reaper  (fd77ee30, fd784740, fd7829e0, fd77ee08, 1, fe401000) + 38
 fd76b728 _thread_start (0, 0, 0, 0, 0, 0) + 40

So, yes, it does look like this isn't in fact a kmail problem but something which KProcess just \
does.  I guess I have misattributed this defect to kmail when it is more of a core KDE issue.  \
Perhaps I will try my LD_PRELOAD have with more than kmail.  It may improve performance \
elsewhere also.

However, the behaviour I see with kmail when I switch folders is kmail seems to fork three \
child processes, one after the other.  In each child process, they perform a call to \
initgroups() (through KProcess).  So, one switch results in three forks() and the initgroups() \
calls in the three child processes.

Sorry for the lack of a stack trace in the initial bug report.
_______________________________________________
KMail developers mailing list
KMail-devel@kde.org
https://mail.kde.org/mailman/listinfo/kmail-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic