Bug 138236 - k3b consumes percent CPU time and all the memory
Summary: k3b consumes percent CPU time and all the memory
Status: RESOLVED INTENTIONAL
Alias: None
Product: k3b
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: Sebastian Trueg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-02 04:11 UTC by Francois Marier
Modified: 2006-12-18 11:48 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Marier 2006-12-02 04:11:50 UTC
Version:           0.12.17 (using KDE KDE 3.5.5)
Installed from:    Debian testing/unstable Packages
OS:                Linux

Martin Bammer <bammer@plasmo-observer.com> reported the following on the Debian bug tracker (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=398895):

k3b consumes 100 percent CPU and eats up all memory when starting an action like "Burn Image".

- Burner is IDE
- DMA is enabled

I started k3b as follows:
strace -f k3b --nofork

After klicking e.g. "Burn Image" the output is:
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
gettimeofday({1164790744, 27909}, NULL) = 0
ioctl(6, FIONREAD, [1])                 = 0
ioctl(6, FIONREAD, [1])                 = 0
brk(0x8505000)                          = 0x8505000
brk(0x8526000)                          = 0x8526000
brk(0x8547000)                          = 0x8547000
brk(0x8568000)                          = 0x8568000
brk(0x8589000)                          = 0x8589000
brk(0x85aa000)                          = 0x85aa000
brk(0x85cb000)                          = 0x85cb000
brk(0x85ec000)                          = 0x85ec000
brk(0x860d000)                          = 0x860d000
brk(0x862e000)                          = 0x862e000
brk(0x864f000)                          = 0x864f000
brk(0x8670000)                          = 0x8670000
brk(0x8691000)                          = 0x8691000
brk(0x86b2000)                          = 0x86b2000
brk(0x86d3000)                          = 0x86d3000
brk(0x86f4000)                          = 0x86f4000                                                                                                   

The bug occurs independently what I want to burn. Always after clicking a Burn-Button the memory consumption increases endless.

Gnomebaker works fine. In k3b the burn dialog doesn't appear. I think the problem is not related to wodim. I think 
the problem is in k3b. The brk-syscall is called endless (last lines in the log). I think a function, which reserves some memory and then fails is called in a loop. Maybe the return value and errno is not processed here.

A backtrace with gdb:
#0  0xb66891c1 in mallopt () from /lib/tls/libc.so.6
#1  0xb68363b1 in operator delete () from /usr/lib/libstdc++.so.6
#2  0xb719dec8 in QStringData::deleteSelf () from /usr/lib/libqt-mt.so.3
#3  0x08129a02 in QString::~QString ()
#4  0xb71a214c in QString::arg () from /usr/lib/libqt-mt.so.3
#5  0x080b917c in KComboBox::setCurrentItem ()
#6  0x080b99e6 in KComboBox::setCurrentItem ()
#7  0x080b9d7d in KComboBox::setCurrentItem ()
#8  0x080b9de3 in KComboBox::setCurrentItem ()
#9  0x080ba52e in KComboBox::setCurrentItem ()
#10 0xb6e86cb3 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#11 0xb6e87744 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#12 0x080b893d in KComboBox::setCurrentItem ()
#13 0x080b8ba8 in KComboBox::setCurrentItem ()
#14 0xb6e86c87 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#15 0xb7e4992e in K3bDeviceComboBox::selectionChanged () 
from /usr/lib/libk3b.so.2
#16 0xb7e49c45 in K3bDeviceComboBox::setSelectedDevice () 
from /usr/lib/libk3b.so.2
#17 0x080b9fa4 in KComboBox::setCurrentItem ()
#18 0x080bb4b1 in KComboBox::setCurrentItem ()
#19 0x081f74cb in K3bCdImageWritingDialog::staticMetaObject ()
#20 0x081f8284 in K3bCdImageWritingDialog::staticMetaObject ()
#21 0x08099b0e in QValueListPrivate<int>::at ()
#22 0x0809d669 in QValueListPrivate<int>::at ()
#23 0xb6e86cb3 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#24 0xb6e87744 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#25 0xb7792259 in KAction::activated () from /usr/lib/libkdeui.so.4
#26 0xb77c7971 in KAction::slotActivated () from /usr/lib/libkdeui.so.4
#27 0xb77c7bcc in KAction::activate () from /usr/lib/libkdeui.so.4
#28 0xb78a7f70 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#29 0xb6e86cb3 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#30 0xb6e87744 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#31 0x080c5d0d in QValueList<QString>::clear ()
#32 0x080c627c in QValueList<QString>::clear ()
#33 0xb6ebd654 in QWidget::event () from /usr/lib/libqt-mt.so.3
#34 0xb6e1ebd6 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#35 0xb6e20d79 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#36 0xb75b9e0e in KApplication::notify () from /usr/lib/libkdecore.so.4
#37 0xb6db2445 in QApplication::sendSpontaneousEvent () 
from /usr/lib/libqt-mt.so.3
#38 0xb6db10df in QETWidget::translateMouseEvent () 
from /usr/lib/libqt-mt.so.3
#39 0xb6daf660 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#40 0xb6dc5cb2 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#41 0xb6e39129 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#42 0xb6e38f4a in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#43 0xb6e2076f in QApplication::exec () from /usr/lib/libqt-mt.so.3
#44 0x080a18c0 in QPtrList<K3bPlugin>::~QPtrList ()
#45 0xb6638ea8 in __libc_start_main () from /lib/tls/libc.so.6
#46 0x08087171 in ?? ()
Comment 1 Francois Marier 2006-12-07 19:56:23 UTC
Martin has run k3b with gdb and clicked "Burn CD Image". Here is the backtrace:

#0  0xb6733930 in free () from /lib/tls/libc.so.6
#1  0xb68e03b1 in operator delete () from /usr/lib/libstdc++.so.6
#2  0xb7248ec8 in QStringData::deleteSelf () from /usr/lib/libqt-mt.so.3
#3  0x081295b2 in QString::~QString ()
#4  0xb724d14c in QString::arg () from /usr/lib/libqt-mt.so.3
#5  0x080b8d2c in KComboBox::setCurrentItem ()
#6  0x080b9596 in KComboBox::setCurrentItem ()
#7  0x080b992d in KComboBox::setCurrentItem ()
#8  0x080b9993 in KComboBox::setCurrentItem ()
#9  0x080ba0de in KComboBox::setCurrentItem ()
#10 0xb6f31cb3 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#11 0xb6f32744 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#12 0x080b84ed in KComboBox::setCurrentItem ()
#13 0x080b8758 in KComboBox::setCurrentItem ()
#14 0xb6f31c87 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#15 0xb7ef461e in K3bDeviceComboBox::selectionChanged ()
from /usr/lib/libk3b.so.2
#16 0xb7ef4935 in K3bDeviceComboBox::setSelectedDevice ()
from /usr/lib/libk3b.so.2
#17 0x080b9b54 in KComboBox::setCurrentItem ()
#18 0x080bb061 in KComboBox::setCurrentItem ()
#19 0x081f707b in K3bCdImageWritingDialog::staticMetaObject ()
#20 0x081f7e34 in K3bCdImageWritingDialog::staticMetaObject ()
#21 0x08099b0e in QValueListPrivate<int>::at ()
#22 0x0809d669 in QValueListPrivate<int>::at ()
#23 0xb6f31cb3 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#24 0xb6f32744 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#25 0xb783d259 in KAction::activated () from /usr/lib/libkdeui.so.4
#26 0xb7872971 in KAction::slotActivated () from /usr/lib/libkdeui.so.4
#27 0xb7872bcc in KAction::activate () from /usr/lib/libkdeui.so.4
#28 0xb7952f70 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#29 0xb6f31cb3 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#30 0xb6f32744 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#31 0x080c58bd in QValueList<QString>::clear ()
#32 0x080c5e2c in QValueList<QString>::clear ()
#33 0xb6f68654 in QWidget::event () from /usr/lib/libqt-mt.so.3
#34 0xb6ec9bd6 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#35 0xb6ecbd79 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#36 0xb7664e0e in KApplication::notify () from /usr/lib/libkdecore.so.4
#37 0xb6e5d445 in QApplication::sendSpontaneousEvent ()
from /usr/lib/libqt-mt.so.3
#38 0xb6e5c0df in QETWidget::translateMouseEvent ()
from /usr/lib/libqt-mt.so.3
#39 0xb6e5a660 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#40 0xb6e70cb2 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#41 0xb6ee4129 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#42 0xb6ee3f4a in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#43 0xb6ecb76f in QApplication::exec () from /usr/lib/libqt-mt.so.3
#44 0x080a18c0 in QPtrList<K3bPlugin>::~QPtrList ()
#45 0xb66e2ea8 in __libc_start_main () from /lib/tls/libc.so.6
#46 0x08087171 in ?? ()
Comment 2 Sebastian Trueg 2006-12-07 20:12:30 UTC
hmm... K3bDeviceComboBox does not exist anymore. So this bug is obsolet.
Comment 3 Francois Marier 2006-12-07 20:16:26 UTC
Do you mean that K3bDeviceComboBox has been removed from K3b 1.0 ?
Comment 4 Sebastian Trueg 2006-12-07 20:47:22 UTC
On Thursday 07 December 2006 20:16, Francois Marier wrote:
> ------- Do you mean that K3bDeviceComboBox has been removed from K3b 1.0 ?


yes. It has been replaced by K3bMediumSelectionComboBox
Comment 5 ray 2006-12-16 19:54:30 UTC
I have the same problem. Easily duplicated by erasing a cd. The computer becomes useless until K3B is done.
Comment 6 Sebastian Trueg 2006-12-18 11:48:15 UTC
what if you erase a cdrw from the command line? you can get the command line 
from the k3b debugging output.