Bug 267396 - Facebook resource crashes as soon as it starts syncing events
Summary: Facebook resource crashes as soon as it starts syncing events
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: Facebook Resource (show other bugs)
Version: unspecified
Platform: OpenSUSE Linux
: NOR crash with 20 votes (vote)
Target Milestone: ---
Assignee: Thomas McGuire
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-01 17:26 UTC by Alex Richardson
Modified: 2011-03-09 08:37 UTC (History)
1 user (show)

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 Alex Richardson 2011-03-01 17:26:16 UTC
Version:           unspecified (using KDE 4.6.0) 
OS:                Linux



Reproducible: Always

Steps to Reproduce:
Try to sync the Facebook events



#0  0x00007faba93dfd90 in __cxa_throw () from /usr/lib64/libstdc++.so.6
#1  0x00007fabac34fbb1 in Akonadi::Item::throwPayloadException (this=<value optimized out>, spid=0, mtid=<value optimized out>)
    at /usr/src/debug/kdepimlibs-4.6.0/akonadi/item.cpp:395
#2  0x00007fabac4285e7 in Akonadi::Item::payloadImpl<QByteArray> (this=0x7776f0) at /usr/src/debug/kdepimlibs-4.6.0/akonadi/item.h:517
#3  0x00007fabac42863a in Akonadi::Item::payload<QByteArray> (this=0x7776f0) at /usr/src/debug/kdepimlibs-4.6.0/akonadi/item.h:489
#4  0x00007fabac3d2ba9 in Akonadi::DefaultItemSerializerPlugin::serialize (this=<value optimized out>, item=<value optimized out>, label=<value optimized out>, 
    data=...) at /usr/src/debug/kdepimlibs-4.6.0/akonadi/itemserializer.cpp:56
#5  0x00007fabac3cd882 in Akonadi::ItemSerializer::serialize (item=..., label=..., data=..., version=@0x7fff94f718fc)
    at /usr/src/debug/kdepimlibs-4.6.0/akonadi/itemserializer.cpp:126
#6  0x00007fabac3cd91e in Akonadi::ItemSerializer::serialize (item=..., label=..., data=..., version=@0x7fff94f718fc)
    at /usr/src/debug/kdepimlibs-4.6.0/akonadi/itemserializer.cpp:116
#7  0x00007fabac3d0e6b in Akonadi::ItemCreateJob::doStart (this=<value optimized out>) at /usr/src/debug/kdepimlibs-4.6.0/akonadi/itemcreatejob.cpp:85
#8  0x00007fabac36c8d8 in Akonadi::JobPrivate::startQueued (this=<value optimized out>) at /usr/src/debug/kdepimlibs-4.6.0/akonadi/job.cpp:153
#9  0x00007fabac36cf95 in Akonadi::Job::qt_metacall (this=0x717560, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x8e51b0)
    at /usr/src/debug/kdepimlibs-4.6.0/build/akonadi/job.moc:89
#10 0x00007fabac36d055 in Akonadi::TransactionSequence::qt_metacall (this=0x717560, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x8e51b0)
    at /usr/src/debug/kdepimlibs-4.6.0/build/akonadi/transactionsequence.moc:71
#11 0x00007fababa4fa6a in QObject::event (this=0x717560, e=<value optimized out>) at kernel/qobject.cpp:1211
#12 0x00007fabaabead14 in QApplicationPrivate::notify_helper (this=0x641530, receiver=0x717560, e=0x8dba30) at kernel/qapplication.cpp:4445
#13 0x00007fabaabf322a in QApplication::notify (this=<value optimized out>, receiver=0x717560, e=0x8dba30) at kernel/qapplication.cpp:4324
#14 0x00007faba9a139e6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#15 0x00007fababa3bbfc in QCoreApplication::notifyInternal (this=0x7fff94f72430, receiver=0x717560, event=0x8dba30) at kernel/qcoreapplication.cpp:732
#16 0x00007fababa3f3f5 in sendEvent (receiver=0x0, event_type=0, data=0x622050) at kernel/qcoreapplication.h:215
#17 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x622050) at kernel/qcoreapplication.cpp:1373
#18 0x00007fababa66783 in sendPostedEvents (s=<value optimized out>) at kernel/qcoreapplication.h:220
#19 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#20 0x00007faba6b11bd3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#21 0x00007faba6b123b0 in ?? () from /lib64/libglib-2.0.so.0
#22 0x00007faba6b12650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#23 0x00007fababa6691f in QEventDispatcherGlib::processEvents (this=0x627b00, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#24 0x00007fabaac8fd8e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:204
#25 0x00007fababa3b052 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#26 0x00007fababa3b265 in QEventLoop::exec (this=0x7fff94f723b0, flags=...) at kernel/qeventloop.cpp:201
#27 0x00007fababa3f6ab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#28 0x00007fabac3446e2 in Akonadi::ResourceBase::init (r=0x7bc130) at /usr/src/debug/kdepimlibs-4.6.0/akonadi/resourcebase.cpp:302
#29 0x000000000040c4c8 in init<FacebookResource> (argc=<value optimized out>, argv=<value optimized out>)
    at /usr/include/KDE/Akonadi/../../akonadi/resourcebase.h:188
#30 main (argc=<value optimized out>, argv=<value optimized out>) at /home/alex/devel/kfacebook/resource/facebookresource.cpp:430
Comment 1 Thomas McGuire 2011-03-01 21:28:15 UTC
Thanks for the backtrace, exactly what I was looking for.

The reason for the crash is that a plugin can't be found, so it seems to be some problem with your installation.
The missing plugin is the one that converts an event to a stream of bytes before sending that byte stream to the Akonadi server.

The strange thing is that the calendar file resource should crash when using the local calendar in KOrganizer as well. Does creating events in your local calendar in KOrganizer and then syncing that calendar work for you?
Comment 2 Thomas McGuire 2011-03-01 21:29:35 UTC
Till said: "Missing xdg-data-dirs or missing shared-mimeinfo packge."

Try installing these packages and see if it helps.
Comment 3 Alex Richardson 2011-03-02 01:10:45 UTC
Yes, creating an event in my normal calendar works.

I have shared-mimeinfo installed. There is no package xdg-data-dirs, only a package xdg-user-dirs which is installed.
Comment 4 Thomas McGuire 2011-03-02 18:13:02 UTC
Hmm weird, I don't know why it doesn't work, it must be looking in the wrong paths. Maybe because the Facebook resource is installed in a different directory than the other resources?
Comment 5 Alex Richardson 2011-03-02 22:49:58 UTC
Ah yes, that sounds like it could be the reason. Facebook resource is installed in /usr/local/ whereas all others were installed by the package manager.

Do I have to have all resources in the same dir or is there some way I can keep it in /usr/local? So I can keep a clear separation between selfcompiled packages and precompiled packages.
Comment 6 Thomas McGuire 2011-03-07 18:22:52 UTC
Installing it in /usr/local should work.
I don't know why it doesn't work, I'm actually having the same problem as you now.
What version of KDEPIM are you using? Might be that there is a compatibility problem with KDEPIM <= 4.4.x.

Meanwhile, I've asked the kde-pim mailing list for help, let's see if anyone there knows the cause.
Comment 7 Alex Richardson 2011-03-07 18:28:27 UTC
I am running kdepim 4.4.10 with kdepimlibs 4.6.0 and akonadi 1.5.0
Comment 8 Thomas McGuire 2011-03-07 18:57:07 UTC
See http://thread.gmane.org/gmane.comp.kde.devel.pim/29884 for the thread, btw.
Apparently indeed a compatibility problem with KDEPIM 4.4.x.
Comment 9 Thomas McGuire 2011-03-09 02:16:38 UTC
Git commit f1855e64e921c1c50e9df90277e9c290f00345c7 by Thomas McGuire.
Committed on 09/03/2011 at 02:13.
Pushed by tmcguire into branch 'master'.

Add option to use KCal instead of KCalCore, to work with KDEPIM 4.4.x

The option is enabled by default.

BUG: 267396

M  +8    -0    CMakeLists.txt     
M  +2    -0    config.h.cmake     
M  +6    -1    libkfacebook/CMakeLists.txt     
M  +2    -2    libkfacebook/eventinfo.cpp     
M  +15   -2    libkfacebook/eventinfo.h     
M  +6    -1    resource/CMakeLists.txt     
M  +4    -3    resource/facebookresource.cpp     

http://commits.kde.org/akonadi-facebook/f1855e64e921c1c50e9df90277e9c290f00345c7
Comment 10 Thomas McGuire 2011-03-09 02:23:51 UTC
This should be fixed now, please try again.
Note the the repository URL has changed in the meantime, you need a new checkout:
  git clone git://anongit.kde.org/akonadi-facebook
Comment 11 Alex Richardson 2011-03-09 08:37:10 UTC
Yes, it works now. Good work!