Summary: | Gadu-Gadu protocol crashes Kopete | ||
---|---|---|---|
Product: | [Unmaintained] kopete | Reporter: | Michal Witkowski <neuro> |
Component: | Gadu-Gadu Plugin | Assignee: | Kopete Developers <kopete-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | bastian_knight, buczo1991, kamil, krystian.kam, naliwajek, projects.gg.aaron |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Crash report
Patch proposal that fixes broken contact list parser. Fix another issue with parser |
Description
Michal Witkowski
2008-07-13 19:34:16 UTC
*** Bug 165763 has been marked as a duplicate of this bug. *** Tried to register a gadu account and kopete crashed immediately. Looks equal to the above. If you need an additional trace please let me know. FreeBSD 7-STABLE amd64, gcc 4.2.1, KDE 4.0.98 (4.1 RC1) Regards Sorry, seems like a different story, confused the traces. Please look at https://bugs.kde.org/show_bug.cgi?id=155541 for the register account crash backtrace. Regards The same behaviour is seen in KDE 4.1 RC2 (4.0.99). It still crashes right after I connect. New backtrace: Application: Kopete (kopete), signal SIGSEGV [Thread debugging using libthread_db enabled] [New Thread 0xb5a2a700 (LWP 17499)] [KCrash handler] #6 0xb6f3c2b3 in QString::operator= () from /usr/lib/libQtCore.so.4 #7 0xb363cb36 in GaduContactsList::GaduContactsList () from /opt/kdemod/lib/kde4/kopete_gadu.so #8 0xb362d592 in GaduAccount::userlist () from /opt/kdemod/lib/kde4/kopete_gadu.so #9 0xb3632283 in GaduAccount::qt_metacall () from /opt/kdemod/lib/kde4/kopete_gadu.so #10 0xb6ff1ee5 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #11 0xb6ff2bf9 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #12 0xb3621134 in GaduSession::userListRecieved () from /opt/kdemod/lib/kde4/kopete_gadu.so #13 0xb3622366 in GaduSession::handleUserlist () from /opt/kdemod/lib/kde4/kopete_gadu.so #14 0xb362371c in GaduSession::checkDescriptor () from /opt/kdemod/lib/kde4/kopete_gadu.so #15 0xb362445d in GaduSession::qt_metacall () from /opt/kdemod/lib/kde4/kopete_gadu.so #16 0xb6ff1ee5 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #17 0xb6ff2bf9 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #18 0xb7029bac in QSocketNotifier::activated () from /usr/lib/libQtCore.so.4 #19 0xb6ff7ada in QSocketNotifier::event () from /usr/lib/libQtCore.so.4 #20 0xb63ad8d3 in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #21 0xb63b4fb2 in QApplication::notify () from /usr/lib/libQtGui.so.4 #22 0xb760f784 in KApplication::notify () from /opt/kdemod/lib/libkdeui.so.5 #23 0xb6fdea3a in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #24 0xb7006bac in ?? () from /usr/lib/libQtCore.so.4 #25 0xb5dd10e8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #26 0xb5dd4783 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #27 0xb5dd4941 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #28 0xb700694d in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #29 0xb643c98e in ?? () from /usr/lib/libQtGui.so.4 #30 0xb6fdd32f in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #31 0xb6fdd4f0 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #32 0xb6fdf869 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #33 0xb63ad784 in QApplication::exec () from /usr/lib/libQtGui.so.4 #34 0x08087ecf in main () #0 0xb7ff2424 in __kernel_vsyscall () Same here, on KDE 4.1.60 (4.2) from 25.07.2008, kopete says: Object::connect: No such slot GaduAccount::search() Couldn't resolve property: radialGradient3709 kopete(28405) KWalletDLauncher::getInterface: The kwalletd service has been registered QObject: Do not delete object, 'unnamed', during its event handler! QObject: Do not delete object, 'unnamed', during its event handler! And right after crashes. Created attachment 26415 [details]
Crash report
Created attachment 26418 [details]
Patch proposal that fixes broken contact list parser.
This is a patch proposal for gaducontactlist.cpp in current SVN tree. Error
occured because GaduContactList() constructor assumed static CVS field counts.
My contact list is causing misplaced pointer iterators and SEGFAULT. This patch
fixes that behaviour.
Comment on attachment 26418 [details]
Patch proposal that fixes broken contact list parser.
Index: protocols/gadu/gaducontactlist.cpp
===================================================================
--- protocols/gadu/gaducontactlist.cpp (wersja 837988)
+++ protocols/gadu/gaducontactlist.cpp (kopia robocza)
@@ -104,10 +104,10 @@
++stringIterator;
++stringIterator;
- if ( stringIterator != strList.end() ) {
+ if ( strList.count() >= 13 )
cl.offlineTo = (*++stringIterator) ==
QString('0') ? false : true;
+ if ( strList.count() >= 14 )
cl.landline = (*++stringIterator);
- }
}
else {
cl.email = empty;
*** Bug 165038 has been marked as a duplicate of this bug. *** Created attachment 27133 [details]
Fix another issue with parser
I have had very similar issue with contact list parser. My contact list was malformed on the server side, one of entries was to short, it even didn't contained UIN. This fix ignores entries which are way too short.
BTW can someone with svn account apply those patches? It seems gadu plugin is somehow unmaintained.
SVN commit 856461 and 856462 by rjarosz: Fix Gadu-Gadu crashes. Patches by Kamil Kamiński and Jakub Grandys, thanks! M +9 -4 gaducontactlist.cpp *** Bug 171750 has been marked as a duplicate of this bug. *** |