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

List:       kopete-devel
Subject:    Re: [kopete-devel] Kopete (kde4) svn: Crash after file transfer?
From:       "Roman Jarosz" <roman.jarosz () gmail ! com>
Date:       2008-09-21 15:22:35
Message-ID: op.uht69erjrj95b0 () localhost
[Download RAW message or body]

Hi,

crashfix.diff should fix the crash, but I would also want to fix
the source of the crash so could you compile Kopete with debug.diff
(without crashfix.diff) and send me console output and backtrace
when Kopete crashes?

Console output can be catched with this command 
kopete --nofork 2>debug.log


Also let me know if the crashfix.diff has helped.

Regards,
Roman


On Sun, 21 Sep 2008 10:52:14 +0200, Roman Jarosz <roman.jarosz@gmail.com> wrote:

> On Sun, 21 Sep 2008 05:05:47 +0200, Dâniel Fraga <fragabr@gmail.com>  
> wrote:
>
>> On Sat, 20 Sep 2008 11:33:35 +0200
>> "Roman Jarosz" <roman.jarosz@gmail.com> wrote:
>>
>>> No luck for me :( I've tried almost all combinations.
>>
>> 	And another crash with the same backtrace.
>>
>> 	Could it be a compiler bug? I use gcc 4.3.2.
>>
>> 	What compiler do you use?
>
> I'm using gcc 4.3.1 so probably no.
> How long does the huge file took to finish?
>
> Roman
> _______________________________________________
> kopete-devel mailing list
> kopete-devel@kde.org
> https://mail.kde.org/mailman/listinfo/kopete-devel
>
["debug.diff" (debug.diff)]

Index: kopete/libkopete/kopetechatsession.cpp
===================================================================
--- kopete/libkopete/kopetechatsession.cpp	(revision 862867)
+++ kopete/libkopete/kopetechatsession.cpp	(working copy)
@@ -207,9 +207,17 @@
 	TemporaryKMMCallbackAppendMessageHandler( Kopete::ChatSession *manager )
 	: manager(manager)
 	{
+		if ( manager == 0 )
+		{
+			kWarning() << "NULL MANAGER";
+			kWarning() << kBacktrace();
+		}
+		
+		kWarning() << this << " manager:" << manager << " this.manager:" << this->manager;
 	}
 	void handleMessage( Kopete::MessageEvent *event )
 	{
+		kWarning() << this << " event:" << event;
 		Kopete::Message message = event->message();
 		emit manager->messageAppended( message, manager );
 		delete event;
Index: kopete/libkopete/kopetemessagehandlerchain.cpp
===================================================================
--- kopete/libkopete/kopetemessagehandlerchain.cpp	(revision 862867)
+++ kopete/libkopete/kopetemessagehandlerchain.cpp	(working copy)
@@ -151,6 +151,7 @@
 ProcessMessageTask::ProcessMessageTask( MessageHandlerChain::Ptr chain, MessageEvent *event )
  : d( new Private(chain, event) )
 {
+	kWarning() << this << " event:" << d->event;
 	QTimer::singleShot( 0, this, SLOT( start() ) );
 	connect( event, SIGNAL( done( Kopete::MessageEvent* ) ), this, SLOT( slotDone() ) );
 	event->message().manager()->ref();
@@ -158,22 +159,26 @@
 
 ProcessMessageTask::~ProcessMessageTask()
 {
+	kWarning() << this;
 	delete d;
 }
 
 void ProcessMessageTask::start()
 {
+	kWarning() << this << " event:" << d->event;
 	d->chain->d->first->handleMessageInternal( d->event );
 }
 
 void ProcessMessageTask::slotDone()
 {
+	kWarning() << this << " event:" << d->event;
 	d->event->message().manager()->deref();
 	emitResult();
 }
 
 void ProcessMessageTask::kill(bool quite)
 {
+	kWarning() << this;
 	Q_UNUSED(quite);
 }
 

["crashfix.diff" (crashfix.diff)]

Index: kopete/libkopete/kopetechatsession.cpp
===================================================================
--- kopete/libkopete/kopetechatsession.cpp	(revision 862867)
+++ kopete/libkopete/kopetechatsession.cpp	(working copy)
@@ -210,8 +210,11 @@
 	}
 	void handleMessage( Kopete::MessageEvent *event )
 	{
-		Kopete::Message message = event->message();
-		emit manager->messageAppended( message, manager );
+		if ( manager )
+		{
+			Kopete::Message message = event->message();
+			emit manager->messageAppended( message, manager );
+		}
 		delete event;
 	}
 };


_______________________________________________
kopete-devel mailing list
kopete-devel@kde.org
https://mail.kde.org/mailman/listinfo/kopete-devel


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

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