google-code-export / kmediafactory

Automatically exported from code.google.com/p/kmediafactory
GNU General Public License v2.0
1 stars 1 forks source link

Memory leak in the chapter editor tool #6

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The memory leak happens when I scan the video using the chapter editing
tool. The memory is used as much as many movements of the scrollbar I do.
Pevious/Next Frame, Rewind and Forward buttons produce the same problem. It
overflowed my 1 GB swap.

I use KMediaFactory 0.7.1 on Debian Lenny.

Also the program becomes very slow even before the swap is used.

And the program produces error when I exit. It happens after scrolling the
video only.

Here is the bug report:

Application: KMediaFactory (kmediafactory), signal SIGABRT
[Thread debugging using libthread_db enabled]
[New Thread 0xb5f6b6f0 (LWP 9156)]
[New Thread 0xb3f95b90 (LWP 9157)]
0xb7ee6424 in __kernel_vsyscall ()
[Current thread is 0 (LWP 9156)]

Thread 2 (Thread 0xb3f95b90 (LWP 9157)):
#0  0xb7ee6424 in __kernel_vsyscall ()
#1  0xb65feab1 in select () from /lib/i686/cmov/libc.so.6
#2  0xb6941660 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb687252e in ?? () from /usr/lib/libQtCore.so.4
#4  0xb63414c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#5  0xb66066de in clone () from /lib/i686/cmov/libc.so.6

Thread 1 (Thread 0xb5f6b6f0 (LWP 9156)):
#0  0xb7ee6424 in __kernel_vsyscall ()
#1  0xb65c1ef6 in nanosleep () from /lib/i686/cmov/libc.so.6
#2  0xb65c1d0f in sleep () from /lib/i686/cmov/libc.so.6
#3  0xb78df678 in ?? () from /usr/lib/libkdeui.so.5
#4  0x00000000 in ?? ()
#0  0xb7ee6424 in __kernel_vsyscall ()

Original issue reported on code.google.com by lonef...@gmail.com on 8 Apr 2009 at 2:02

GoogleCodeExporter commented 9 years ago
Fixed in svn rev 433

Original comment by petri.da...@gmail.com on 9 Apr 2009 at 11:25

GoogleCodeExporter commented 9 years ago
Same problem on rev 433.

Original comment by lonef...@gmail.com on 10 Apr 2009 at 11:08

GoogleCodeExporter commented 9 years ago
Before the fix it was clearly eating lots of memory. Now I won't see it. Are 
you sure
you compiled the svn version over the 0.7.1.

Original comment by petri.da...@gmail.com on 10 Apr 2009 at 12:14

GoogleCodeExporter commented 9 years ago
I made clean reinstallation, so I'm sure I have the latest svn version.
It's eating memory, for example when I click the Next button very offten and 
when
scrolling the video by mouse. And it is also very slow.

Here is the console output. The crash happens when I close the program after 
video
scrolling.

$ kmediafactory
kmediafactory(7525) KMediaFactory::setupActions:
kmediafactory(7525) KMediaFactory::setupActions: Watching: 
"/home/raa/.kde4/share/apps/kmediafactory/tools"
kmediafactory(7525) KMediaFactory::setupActions: Watching: 
"/usr/share/kde4/apps/kmediafactory/tools"
kmediafactory(7525) KMediaFactory::updateToolsMenu:
kmediafactory(7525) KMFApplication::loadPlugins:
kmediafactory(7525) KMFApplication::loadPlugins: Loaded plugin  "KMFOutput"
kmediafactory(7525) KMFApplication::loadPlugins: Loaded plugin  
"KMFTemplateEngine"
kmediafactory(7525) KMFToolBar::add: "" :  "Add Video"
kmediafactory(7525) KMFApplication::loadPlugins: Loaded plugin  "KMFImportVideo"
kmediafactory(7525) KMFToolBar::add: "" :  "Add Slideshow"
kmediafactory(7525) KMFApplication::loadPlugins: Loaded plugin  "KMFSlideshow"
kmediafactory(7525) KMediaFactory::initGUI:
kmediafactory(7525) KMediaFactory::fileNew:
kmediafactory(7525) KMediaFactory::connectProject:
kmediafactory(7525) KMFProject::init: preinit
kmediafactory(7525) OutputPlugin::init: "DVD-PAL"
kmediafactory(7525) TemplatePlugin::init: "DVD-PAL"
kmediafactory(7525) TemplatePlugin::init: Trying to find templates from: 
("/home/raa/.kde4/share/apps/", "/usr/share/kde4/apps/")
kmediafactory(7525) TemplatePlugin::init: Found templates: 
("/home/raa/.kde4/share/apps/kmediafactory_template/38488-travel.kmft",
"/home/raa/.kde4/share/apps/kmediafactory_template/41115-preview_6_fixed.kmft",
"/home/raa/.kde4/share/apps/kmediafactory_template/43335-holliday.kmft",
"/home/raa/.kde4/share/apps/kmediafactory_template/52128-aurora.kmft",
"/home/raa/.kde4/share/apps/kmediafactory_template/52129-911.kmft",
"/home/raa/.kde4/share/apps/kmediafactory_template/74870-simple_ii.kmft",
"/usr/share/kde4/apps/kmediafactory_template/preview_1.kmft",
"/usr/share/kde4/apps/kmediafactory_template/preview_3.kmft",
"/usr/share/kde4/apps/kmediafactory_template/preview_6.kmft",
"/usr/share/kde4/apps/kmediafactory_template/simple.kmft")
kmediafactory(7525) VideoPlugin::init: "DVD-PAL"
kmediafactory(7525) SlideshowPlugin::init: "DVD-PAL"
kmediafactory(7525) KMFProject::init: init "DVD-PAL"
kmediafactory(7525) VideoPlugin::slotAddVideo: KMFPluginInterface(0x9d5eda0, 
name =
"KMF::PluginInterface") 
("/home/raa/media/video/pirates_of_silicon_valley[tfile.ru].avi")
kmediafactory(7525) KMFProject::setDirty: media modified
kmediafactory(7525) OutputPlugin::init: ""
kmediafactory(7525) TemplatePlugin::init: ""
kmediafactory(7525) VideoPlugin::init: ""
kmediafactory(7525) SlideshowPlugin::init: ""
QObject: Do not delete object, 'qt_scrollarea_viewport', during its event 
handler!
QObject: Do not delete object, 'chapterPropertiesButton', during its event 
handler!
QObject: Do not delete object, 'timeSlider', during its event handler!
*** glibc detected *** kmediafactory: free(): invalid pointer: 0xbfb26db8 ***
======= Backtrace: =========
/lib/i686/cmov/libc.so.6[0xb65be624]
/lib/i686/cmov/libc.so.6(cfree+0x96)[0xb65c0826]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb67bd151]
/usr/lib/kde4/kmediafactory_video.so[0xb45c022e]
/usr/lib/libQtCore.so.4(_ZN14QObjectPrivate14deleteChildrenEv+0x6f)[0xb699a26f]
/usr/lib/libQtGui.so.4(_ZN7QWidgetD2Ev+0x158)[0xb6d07788]
/usr/lib/libQtGui.so.4(_ZN7QDialogD2Ev+0x46)[0xb7116bc6]
/usr/lib/libkdeui.so.5(_ZN7KDialogD2Ev+0x44)[0xb77ff5a4]
/usr/lib/kde4/kmediafactory_video.so[0xb45bb4b9]
/usr/lib/libQtCore.so.4(_ZN14QObjectPrivate14deleteChildrenEv+0x6f)[0xb699a26f]
/usr/lib/libQtGui.so.4(_ZN7QWidgetD2Ev+0x158)[0xb6d07788]
/usr/lib/libQtGui.so.4(_ZN11QMainWindowD2Ev+0x31)[0xb70555d1]
/usr/lib/libkdeui.so.5(_ZN11KMainWindowD2Ev+0x84)[0xb796d7b4]
/usr/lib/libkdeui.so.5(_ZN13KXmlGuiWindowD2Ev+0x57)[0xb79aeff7]
kmediafactory[0x806e760]
/usr/lib/libQtCore.so.4(_Z21qDeleteInEventHandlerP7QObject+0x1c)[0xb6999f5c]
/usr/lib/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0x2e3)[0xb699b913]
/usr/lib/libQtGui.so.4(_ZN7QWidget5eventEP6QEvent+0x44)[0xb6d05e64]
/usr/lib/libQtGui.so.4(_ZN11QMainWindow5eventEP6QEvent+0x77)[0xb70561c7]
/usr/lib/libkdeui.so.5(_ZN11KMainWindow5eventEP6QEvent+0x68)[0xb796cac8]
/usr/lib/libkdeui.so.5(_ZN13KXmlGuiWindow5eventEP6QEvent+0x2c)[0xb79afe1c]
/usr/lib/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent
+0xbc)[0xb6cae79c]
/usr/lib/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x18a)[0xb6cb6
6ea]
/usr/lib/libkdeui.so.5(_ZN12KApplication6notifyEP7QObjectP6QEvent+0x3d)[0xb789d6
7d]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+
0xb1)[0xb698c0d1]
/usr/lib/libQtCore.so.4(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObject
iP11QThreadData+0x2a5)[0xb698cd55]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication16sendPostedEventsEP7QObjecti+0x2d)
[0xb698cf4d]
/usr/lib/libQtCore.so.4[0xb69b698f]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8)[0xb62ae368]
/usr/lib/libglib-2.0.so.0[0xb62b1a03]
/usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x71)[0xb62b1bc1]
/usr/lib/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEve
ntLoop17ProcessEventsFlagEE+0x58)[0xb69b65d8]
/usr/lib/libQtGui.so.4[0xb6d47d45]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication13processEventsE6QFlagsIN10QEventLo
op17ProcessEventsFlagEE+0x46)[0xb698d1a6]
/usr/lib/libkmf.so.0(_ZN3Run3runEv+0x540)[0xb7f06c10]
/usr/lib/libkmf.so.0(_ZN3RunC1E7QStringS0_+0xb3)[0xb7f06f43]
/usr/lib/libkmf.so.0(_ZNK12KMFMediaFile5frameE5QTime7QString+0x100)[0xb7f03ba0]
/usr/lib/kde4/kmediafactory_video.so[0xb45af9f6]
/usr/lib/kde4/kmediafactory_video.so[0xb45bf9e9]
/usr/lib/kde4/kmediafactory_video.so[0xb45bed1c]
/usr/lib/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x200)[0xb69a0b
d0]
/usr/lib/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x52)[0xb69a
1952]
/usr/lib/libQtGui.so.4(_ZN15QAbstractSlider11sliderMovedEi+0x43)[0xb72991a3]
/usr/lib/libQtGui.so.4(_ZN15QAbstractSlider17setSliderPositionEi+0x7f)[0xb6fef15
f]
/usr/lib/libQtGui.so.4(_ZN7QSlider14mouseMoveEventEP11QMouseEvent+0x141)[0xb7099
391]
/usr/lib/libQtGui.so.4(_ZN7QWidget5eventEP6QEvent+0x80b)[0xb6d0662b]
/usr/lib/libQtGui.so.4(_ZN15QAbstractSlider5eventEP6QEvent+0x24)[0xb6feeaf4]
/usr/lib/libQtGui.so.4(_ZN7QSlider5eventEP6QEvent+0x4e)[0xb70999be]
/usr/lib/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent
+0xbc)[0xb6cae79c]
/usr/lib/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0xa71)[0xb6cb6
fd1]
/usr/lib/libkdeui.so.5(_ZN12KApplication6notifyEP7QObjectP6QEvent+0x3d)[0xb789d6
7d]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+
0xb1)[0xb698c0d1]
/usr/lib/libQtGui.so.4(_ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMou
seEventS1_S1_PS1_R8QPointerIS0_E+0xde)[0xb6cb625e]
/usr/lib/libQtGui.so.4[0xb6d1fdfd]
/usr/lib/libQtGui.so.4(_ZN12QApplication15x11ProcessEventEP7_XEvent+0xe81)[0xb6d
1ebe1]
/usr/lib/libQtGui.so.4[0xb6d4860a]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8)[0xb62ae368]
/usr/lib/libglib-2.0.so.0[0xb62b1a03]
/usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x71)[0xb62b1bc1]
/usr/lib/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEve
ntLoop17ProcessEventsFlagEE+0x58)[0xb69b65d8]
/usr/lib/libQtGui.so.4[0xb6d47d45]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication13processEventsE6QFlagsIN10QEventLo
op17ProcessEventsFlagEE+0x46)[0xb698d1a6]
/usr/lib/libkmf.so.0(_ZN3Run3runEv+0x540)[0xb7f06c10]
======= Memory map: ========
08048000-08085000 r-xp 00000000 03:01 319426     /usr/bin/kmediafactory
08085000-08087000 rw-p 0003c000 03:01 319426     /usr/bin/kmediafactory
09a3b000-0a447000 rw-p 09a3b000 00:00 0          [heap]
b3600000-b3621000 rw-p b3600000 00:00 0
b3621000-b3700000 ---p b3621000 00:00 0
b37bb000-b37bc000 ---p b37bb000 00:00 0
b37bc000-b3fbc000 rw-p b37bc000 00:00 0
b3fbc000-b4031000 r-xp 00000000 03:01 35323      /usr/lib/libkfile.so.4.1.0
b4031000-b4035000 rw-p 00074000 03:01 35323      /usr/lib/libkfile.so.4.1.0
b4230000-b4283000 r-xp 00000000 03:01 22586      /usr/lib/libtiff.so.4.2.1
b4283000-b4285000 rw-p 00053000 03:01 22586      /usr/lib/libtiff.so.4.2.1
b42ab000-b42db000 r-xp 00000000 03:01 25655      /usr/lib/liblcms.so.1.0.16
b42db000-b42dd000 rw-p 0002f000 03:01 25655      /usr/lib/liblcms.so.1.0.16
b42dd000-b42df000 rw-p b42dd000 00:00 0
b42df000-b434d000 r-xp 00000000 03:01 27394      /usr/lib/libmng.so.1.1.0.9
b434d000-b4350000 rw-p 0006e000 03:01 27394      /usr/lib/libmng.so.1.1.0.9
b4366000-b4368000 r-xp 00000000 03:01 13287      /usr/lib/gconv/KOI8-R.so
b4368000-b436a000 rw-p 00001000 03:01 13287      /usr/lib/gconv/KOI8-R.so
b436a000-b436c000 r-xp 00000000 03:01 27751      /usr/lib/kde4/libkfilemodule.so
b436c000-b436d000 rw-p 00001000 03:01 27751      /usr/lib/kde4/libkfilemodule.so
b436d000-b4371000 r-xp 00000000 03:01 27273     
/usr/lib/qt4/plugins/imageformats/libqtiff.so
b4371000-b4372000 rw-p 00003000 03:01 27273     
/usr/lib/qt4/plugins/imageformats/libqtiff.so
b4372000-b4375000 r-xp 00000000 03:01 27272     
/usr/lib/qt4/plugins/imageformats/libqsvg.so
b4375000-b4376000 rw-p 00002000 03:01 27272     
/usr/lib/qt4/plugins/imageformats/libqsvg.so
b4376000-b437b000 r-xp 00000000 03:01 27271     
/usr/lib/qt4/plugins/imageformats/libqmng.so
b437b000-b437c000 rw-p 00004000 03:01 27271     
/usr/lib/qt4/plugins/imageformats/libqmng.so
b437c000-b4384000 r-xp 00000000 03:01 27270     
/usr/lib/qt4/plugins/imageformats/libqjpeg.so
b4384000-b4385000 rw-p 00008000 03:01 27270     
/usr/lib/qt4/plugins/imageformats/libqjpeg.so
b4385000-b438b000 r-xp 00000000 03:01 27274     
/usr/lib/qt4/plugins/imageformats/libqico.so
b438b000-b438c000 rw-p 00005000 03:01 27274     
/usr/lib/qt4/plugins/imageformats/libqico.so
b438c000-b4391000 r-xp 00000000 03:01 27269     
/usr/lib/qt4/plugins/imageformats/libqgif.so
b4391000-b4392000 rw-p 00004000 03:01 27269     
/usr/lib/qt4/plugins/imageformats/libqgif.so
b4392000-b43a3000 r-xp 00000000 03:01 27723     
/usr/lib/kde4/plugins/imageformats/kimg_xcf.so
b43a3000-b43a4000 rw-p 00010000 03:01 27723     
/usr/lib/kde4/plugins/imageformats/kimg_xcf.so
b43a4000-b43a8000 rw-p b43a4000 00:00 0
b43a8000-b43ee000 r-xp 00000000 03:01 27439      /usr/lib/libjasper.so.1.0.0
b43ee000-b43f1000 rw-p 00045000 03:01 27439      /usr/lib/libjasper.so.1.0.0
b43f1000-b43f7000 rw-p b43f1000 00:00 0
b43f9000-b43fd000 r-xp 00000000 03:01 27716     
/usr/lib/kde4/plugins/imageformats/kimg_xview.so
b43fd000-b43fe000 rw-p 00003000 03:01 27716     
/usr/lib/kde4/plugins/imageformats/kimg_xview.so
b43fe000-b4403000 r-xp 00000000 03:01 27722     
/usr/lib/kde4/plugins/imageformats/kimg_tga.so
b4403000-b4404000 rw-p 00004000 03:01 27722     
/usr/lib/kde4/plugins/imageformats/kimg_tga.so
b4404000-b440e000 r-xp 00000000 03:01 27724      
/usr/lib/kde4/plugins/imaKCrash:
Application 'kmediafactory' crashing...
sock_file=/home/raa/.kde4/socket-localhost/kdeinit4__0

Original comment by lonef...@gmail.com on 11 Apr 2009 at 9:48

GoogleCodeExporter commented 9 years ago
I'll convert Chapters dialog to Phonon::VideoPlayer. Let's see how it works.

Original comment by petri.da...@gmail.com on 11 Apr 2009 at 2:51

GoogleCodeExporter commented 9 years ago
Chapters dialog now uses phonon. Let me know if it still consumes memory. Video
player is much faster but accuracy is not so good...

Original comment by petri.da...@gmail.com on 11 Apr 2009 at 3:41

GoogleCodeExporter commented 9 years ago
Can't compile

In file included from
/home/raa/distrib/linux/media/kmediafactory/plugins/video/chapters.h:31,
                 from
/home/raa/distrib/linux/media/kmediafactory/plugins/video/videooptions.cpp:21:
/home/raa/distrib/linux/media/kmediafactory/build/plugins/video/ui_chapters.h: 
In
member function ‘void Ui_Chapters::setupUi(QWidget*)’:
/home/raa/distrib/linux/media/kmediafactory/build/plugins/video/ui_chapters.h:11
7:
error: no matching function for call to 
‘Phonon::VideoPlayer::VideoPlayer(QWidget*&)’
/usr/include/KDE/Phonon/../../phonon/videoplayer.h:69: note: candidates are:
Phonon::VideoPlayer::VideoPlayer(Phonon::Category, QWidget*)
/usr/include/KDE/Phonon/../../phonon/videoplayer.h:60: note:                
Phonon::VideoPlayer::VideoPlayer(const Phonon::VideoPlayer&)
make[2]: *** [plugins/video/CMakeFiles/kmediafactory_video.dir/videooptions.o] 
Error 1
make[1]: *** [plugins/video/CMakeFiles/kmediafactory_video.dir/all] Error 2
make: *** [all] Error 2

Original comment by lonef...@gmail.com on 11 Apr 2009 at 4:00

GoogleCodeExporter commented 9 years ago
Sorry for bothering you. I have updated my phonon and compilation finished 
successfully

Original comment by lonef...@gmail.com on 11 Apr 2009 at 4:09

GoogleCodeExporter commented 9 years ago
Well... Good news is that it does not eat the memory anymore. And it's very 
fast on
scrolling. Bad news is that the player does not play and does not show pictures 
at
all. It says "WARNING: bool Phonon::FactoryPrivate::createBackend() phonon 
backend
plugin could not be loaded" when I try to scroll.

$ dpkg -l | grep phonon
ii  libphonon-dev                        4:4.3.1-1                          
development files for the Phonon multimedia framework
ii  libphonon4                           4:4.3.1-1                           
Phonon
multimedia framework for Qt 4
ii  phonon                               4:4.3.1-1                          
metapackage for Phonon multimedia framework
ii  phonon-backend-xine                  4:4.1.0-2                           
Phonon
Xine 1.1.x backend

Original comment by lonef...@gmail.com on 11 Apr 2009 at 4:22

GoogleCodeExporter commented 9 years ago
and also

WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no 
objectName ) to
 Phonon::AudioOutput ( no objectName ).

Original comment by lonef...@gmail.com on 11 Apr 2009 at 4:36

GoogleCodeExporter commented 9 years ago
Can you try GStreamer backend for phonon?

Original comment by petri.da...@gmail.com on 13 Apr 2009 at 11:30