Bug 153259

Summary: spca5xx webcam freezes after two minutes
Product: [Unmaintained] kopete Reporter: Jake <otakuj462>
Component: Audio/Video PluginAssignee: Kopete Developers <kopete-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: kopete.strace

Description Jake 2007-12-02 05:48:08 UTC
Version:            (using KDE KDE 3.5.8)
Installed from:    Ubuntu Packages
OS:                Linux

After opening a webcam session over MSN, so that I am both sending from my webcam and receiving video from the person I am chatting with, Kopete will freeze after about two minutes of videochatting. Before that, the video which I receive will often be delayed. After two minutes, the entire application freezes so that I am not able to get a response from the chat window or the main window where you select people to chat with. I have to pkill it and restart it manually.
I am using a Creative Notebook webcam, spca5xx driver on Kubuntu 7.10. Kopete 0.12.7 on KDE 3.5.8. 2.6.22-14-generic kernel.
Webcam works fine in amsn.
Comment 1 Will Stephenson 2007-12-02 20:42:24 UTC
Please install debuginfo packages, strace kopete and attach the point where it freezes, and run kopete in gdb and obtain a backtrace when it has hung, if possible.
Comment 2 Jake 2007-12-02 21:34:08 UTC
I'm not really sure how to debug an application in this way, which is to say, I've only debugged my own code, and never needed to debug anyone else's compiled applications. I've never done any C/C++ development, so this is all new to me. Could you point me to a resource that would show me how to use strace and gdb to do this? Can I hook it up to a graphical debugger? What is the best IDE to use for this?

Also, it doesn't look like there is a debug info package for kopete in apt (though there is one for pidgin). If not from apt, then where and how can I obtain the debug info package?

Please let me know. Thanks.
Comment 3 Will Stephenson 2007-12-03 08:03:41 UTC
About debuginfo: I don't exactly where Ubuntu put it, but they do generate it.  Look for a -dbg package or -debuginfo with the same name as the package Kopete came in.  Perhaps you have to enable a specific repository.  Ask in Ubuntu specific support channels.

strace:
strace kopete --nofork &> kopete.strace

gdb:
gdb --args kopete --nofork
....
gdb> run
....
(when it is good and frozen)
CTRL-C
gdb> backtrace
....
(this is the bit I want you to paste here)
....
gdb> kill 
(kills the process being debugged)
gdb> quit

If gdb doesn't respond to ctrl-c at that point you may have to pkill it, in which case the strace output is useful.

Re graphical debuggers: KDevelop has one but I don't have any experience using it.  It is a wrapper around gdb so the principles should be the same. 
Comment 4 Jake 2007-12-04 04:11:44 UTC
I asked on kubuntu forums:
http://kubuntuforums.net/forums/index.php?topic=3089308.0
"
you are right, there is not a dbg package for kopete in k/ubuntu.  not all packages have dbg packages along side them.  i suppose it'd be possible to file a bug on launchpad requesting the package be made available to k/ubuntu.  (mark it as wishlist).

or, if the package is in debian, you could file a bug and mark it "sync with debian".
"

Also checked apt-get.org:
http://www1.apt-get.org/search.php?query=kopete-dbg&submit=Submit+Query&arch%5B%5D=i386&arch%5B%5D=all
Turned up nothing, so package is not in debian.

What would you recommend I do now? Do I need to check the source out of svn compile it with debug enabled, then run gdb on that? Or can you think of any other way I can get the kopete debug package?
Comment 5 Jake 2007-12-08 03:17:25 UTC
Checked latest kopete out of svn last night. Compiled it with debug enabled. Here's the last output before it freezes and I have to Ctrl+C to kill it.

[...]
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 568
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 556
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 604
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 488
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8550336 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 d8 0c 00 00 4d 4c 32 30 0c 00 00 00 9e e2 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 33 0c ff ff b1 e7 69 35 7a 7f 73 7f ab 7d 67 ca 31 2a ee 1b ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 460
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 600
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 524
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8560788 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 cc 0d 00 00 4d 4c 32 30 0c 00 00 00 04 e3 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 d9 09 c1 ff 3b ff ee 2f ed ec c2 d7 89 f9 59 5a 8d 4f cc 1c ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 436
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 360
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 412
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8571612 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 b4 0e 00 00 4d 4c 32 30 0c 00 00 00 64 e3 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 d9 09 c1 ff bd 1d b3 81 66 5e e1 6b c7 bc 3c b1 35 7e 3e 80 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 4384
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8576892 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 58 0d 00 00 4d 4c 32 30 0c 00 00 00 cf e3 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 92 7f eb ff 4b c6 b5 8e 19 08 a5 ff db cc ed b0 0a f4 9e 1f ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 580
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 668
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 568
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8600892 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 2c 0c 00 00 4d 4c 32 30 0c 00 00 00 fd e3 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 e3 ff ec ff fe 62 46 95 66 1f 14 3e 9b b9 fb e7 57 fa f7 8e ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 908
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8607308 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 2c 0b 00 00 4d 4c 32 30 0c 00 00 00 5d e4 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 0c d7 c0 ff 35 f7 87 0d 5a 3b a3 f0 03 1e 5b 9e 05 ff f5 c6 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 624
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 456
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 484
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8613404 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 70 0a 00 00 4d 4c 32 30 0c 00 00 00 c9 e4 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 33 93 ff ff 7c 85 1b 48 1a 8f bf 6d e6 b9 d9 87 c6 c6 cd dc ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 556
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 512
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 348
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 420
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8638612 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 6c 0a 00 00 4d 4c 32 30 0c 00 00 00 03 e5 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 73 09 ff ff b7 e5 e9 b5 9a f8 c0 ba fd 5f 33 fe 7c 84 c6 3f ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 460
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 496
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 428
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8652148 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 44 0a 00 00 4d 4c 32 30 0c 00 00 00 46 e5 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 00 b7 c0 ff 40 71 03 1b 41 78 9d 3f da b2 04 06 94 e8 fd cd ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 4400
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 448
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8672048 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 b4 0d 00 00 4d 4c 32 30 0c 00 00 00 3d e6 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 2d 92 c0 ff bc 26 01 b5 25 d7 ce 26 37 eb de 9e cf 96 34 99 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 424
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 580
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8682632 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 84 10 00 00 4d 4c 32 30 0c 00 00 00 b2 e7 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 e5 81 c0 ff 95 83 f8 49 67 80 3b a7 e6 89 d2 db 57 8f 70 6a ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 448
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 440
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 532
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8698100 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 e8 11 00 00 4d 4c 32 30 0c 00 00 00 66 e9 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 7a c7 11 f8 cd 4c c7 ff ee 2d 49 72 44 71 f3 b9 1d 23 0a ef ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 736
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8701948 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 a0 0b 00 00 4d 4c 32 30 0c 00 00 00 ce e9 bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 6b fc ff ff c9 37 d4 fa 6b ee 71 cd 39 29 50 78 5c e3 b9 b9 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 544
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8707116 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 d8 0e 00 00 4d 4c 32 30 0c 00 00 00 5d ea bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 05 5e 0f f8 99 dd f8 1a f7 96 48 ac f8 9a fa 73 fb 50 e7 d7 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 440
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8722880 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 30 0c 00 00 4d 4c 32 30 0c 00 00 00 88 ea bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 a8 04 fc ff 4d ad 95 dd 91 c0 ae 35 e3 f5 ce bd cf cd a8 68 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 476
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8728292 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 88 0e 00 00 4d 4c 32 30 0c 00 00 00 ea ea bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 88 e5 80 ff ce 5b 3b 36 72 6f a2 80 bc c6 27 77 b0 2f 66 09 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 568
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 528
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 508
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 476
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8752344 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 30 10 00 00 4d 4c 32 30 0c 00 00 00 41 eb bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 c9 f2 81 ff df 6b 7e d6 05 5e d2 6b 30 bb ce a4 fd 50 fa 24 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 4384
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 560
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 492
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8758512 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 98 0e 00 00 4d 4c 32 30 0c 00 00 00 d9 eb bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 6a c0 d5 80 32 32 9c e0 f9 f3 33 1b 77 18 50 f8 ed 7b ff 3b ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 428
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 624
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 584
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410############# 8789984 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x88f4410[18 00 40 01 f0 00 00 81 28 10 00 00 4d 4c 32 30 0c 00 00 00 65 ec bc 02 00 01 94 11 40 01 f0 00 70 00 63 00 01 00 00 00 1c 00 65 00 e0 d5 1a f0 00 4c 6b e6 f8 78 38 08 dc dc 02 9a 0b 5e e3 ef ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1

[1]+  Done                    kopete


Will run it strace and gdb later tonight. Post more info after that.
Comment 6 Jake 2007-12-08 03:28:56 UTC
GDB says:

[...]
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 1272
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x899d540############# 1670352 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x899d540[18 00 40 01 f0 00 00 81 94 0c 00 00 4d 4c 32 30 0c 00 00 00 75 49 ca 02 00 01 94 11 40 01 f0 00 72 00 6f 00 01 00 00 00 1c 00 73 00 f3 6f 2c f0 f8 ff f4 af ce 9f 85 d9 e7 71 5f c0 26 99 3c 41 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 904
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x899d540############# 1678848 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x899d540[18 00 40 01 f0 00 00 81 24 0d 00 00 4d 4c 32 30 0c 00 00 00 d5 49 ca 02 00 01 94 11 40 01 f0 00 72 00 6f 00 01 00 00 00 1c 00 73 00 ec 42 fb ff 7b 3b 27 5a 49 e9 83 dc 64 40 a6 ff 7b b0 f2 65 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 664
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x899d540############# 1786524 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x899d540[18 00 40 01 f0 00 00 81 6c 0d 00 00 4d 4c 32 30 0c 00 00 00 09 4a ca 02 00 01 94 11 40 01 f0 00 72 00 6f 00 01 00 00 00 1c 00 73 00 93 4f fc ff c9 c5 9d 46 af 14 fe 02 0b 3f 61 fd 48 c8 03 1c ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
kopete (msn): [virtual void P2P::Webcam::timerEvent(QTimerEvent*)] Sendinf frame of size 2972
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x899d540############# 1792644 bytes available.
kopete (msn): [void P2P::Webcam::slotSocketRead()] 0x899d540[18 00 40 01 f0 00 00 81 24 0b 00 00 4d 4c 32 30 0c 00 00 00 33 4a ca 02 00 01 94 11 40 01 f0 00 72 00 6f 00 01 00 00 00 1c 00 73 00 d7 80 01 eb 46 93 4a fc 86 dc 45 95 7f 8d 87 bf 24 03 4b f1 ...]
kopete (yahoo): [void MSNWebcamDialog::newImage(const QPixmap&)] New image received
libkopete: libkopete (avdevice): self() called
libkopete: libkopete (avdevice): self() exited successfuly. m_clients = 1

Program received signal SIGINT, Interrupt.
[Switching to Thread -1242130752 (LWP 6955)]
0xffffe410 in __kernel_vsyscall ()
(gdb) backtrace
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb621d1fb in ?? () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb57bcf73 in Kopete::AV::VideoDevice::getFrame (this=0x82ff984)
    at videodevice.cpp:1029
#3  0xb57c8115 in Kopete::AV::VideoDevicePool::getFrame (this=0x82e6670)
    at videodevicepool.cpp:443
#4  0xb595a213 in P2P::Webcam::timerEvent (this=0x8b87c30, e=0xbfc86048)
    at webcam.cpp:837
#5  0xb6809f16 in QObject::event () from /usr/lib/libqt-mt.so.3
#6  0xb67a1af0 in QApplication::internalNotify ()
   from /usr/lib/libqt-mt.so.3
#7  0xb67a391f in QApplication::notify () from /usr/lib/libqt-mt.so.3
#8  0xb6f67ca2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#9  0xb6734209 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#10 0xb679453b in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3
#11 0xb6748d49 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#12 0xb67bc1ce in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#13 0xb67bbfde in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#14 0xb67a3699 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#15 0x080759e6 in main (argc=1262175306, argv=0x454b3c45) at main.cpp:107
(gdb) kill
Kill the program being debugged? (y or n) y
(gdb) quit
Comment 7 Jake 2007-12-08 04:31:03 UTC
Created attachment 22408 [details]
kopete.strace

This is the output of strace kopete --nofork &> kopete.strace
Comment 8 Cláudio da Silveira Pinheiro 2008-01-22 04:37:14 UTC
I'd like if you could do another little test, even a simpler one:

Add a Testbed account in your list;
Get online with the testbed protocol;
Open Kopete's configuration window, go to the video panel;
While the video panel is open, right-click on the Kopete icon in the system tray and go to Testbed account/Show my own video;
Let the thing running for 15 minutes;
Close the Testbed video window;
Close the video configuration window;
Quit Kopete.

The image from webcam must be updated while there's an open window showing it. Tested here with 3.5.x, 4.0.x and trunk, and everything went right.
I'm asking it because I suspect the bug resides in MSN protocol, not in protocol-agnostic video handler. I saw some weirdness with Kopete's MSN implementation of the video protocol, as video getting too out-of-sync with reality (by more than 2 minutes of difference). My bet is MSN queues frames to send (it sends video in a timeslice-based, hard-coded time fashion, independent of the available bandwidth) and those frames start to accumulate in the queue, eating more and more memory and after some given amount of time/RAM it simply freezes. I have no deep experience with the MSN protocol, but my wild guess is that it is the culprit. ;D

Please do the test and report back, so we can put the bug where it belongs.
Comment 9 Cláudio da Silveira Pinheiro 2008-02-05 15:44:48 UTC
Jake, I'm waiting for more info about this bug. I asked you in January 22nd to do a test, and I didn't get an answer back from you since then. This info is neccessary to fix the bug you opened in bugs.kde.org. Please do te test and report back so we can act upon.

Thanks in advance.
Comment 10 Cláudio da Silveira Pinheiro 2008-03-09 05:23:20 UTC

*** This bug has been marked as a duplicate of 140204 ***