Bug 279078 - Yandex.Fotki tool causes crash
Summary: Yandex.Fotki tool causes crash
Status: CLOSED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-WebService-YandexFotki (show other bugs)
Version: 5.2.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-01 19:59 UTC by Yaroslav Sidlovsky
Modified: 2018-02-04 07:41 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.1.0


Attachments
New crash information added by DrKonqi (5.09 KB, text/plain)
2011-08-27 07:30 UTC, Vadim A. Misbakh-Soloviov (mva)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yaroslav Sidlovsky 2011-08-01 19:59:42 UTC
Application: digikam (2.0.0)
KDE Platform Version: 4.7.00 (4.7.0)
Qt Version: 4.7.3
Operating System: Linux 2.6.37.6-0.5-desktop x86_64
Distribution: "openSUSE 11.4 (x86_64)"

-- Information about the crash:
digikam always crashes after submitting valid credentials to kipi export plugin "Yandex.Fotki"
(and when credentials is wrong - al l is ok)

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0x7f648e4589e0 (LWP 16239))]

Thread 12 (Thread 0x7f648a683700 (LWP 16240)):
#0  0x0000003f8ee0b38c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f8d87a77b in wait (this=<value optimized out>, mutex=0xfa4d38, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xfa4d38, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00000000005b6cf0 in _start ()

Thread 11 (Thread 0x7f6489e82700 (LWP 16241)):
#0  0xffffffffff600177 in ?? ()
#1  0x00007fff1bbff7a1 in ?? ()
#2  0x0000003f8f2042b3 in clock_gettime () from /lib64/librt.so.1
#3  0x0000003f8d8cb8d2 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#5  0x0000003f8d98ec4d in QTimerInfoList::updateCurrentTime (this=0xf9b180) at kernel/qeventdispatcher_unix.cpp:339
#6  0x0000003f8d98efc5 in QTimerInfoList::timerWait (this=0xf9b180, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#7  0x0000003f8d98da8c in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7f6489e819cc) at kernel/qeventdispatcher_glib.cpp:136
#8  0x0000003f8d98db35 in timerSourcePrepare (source=<value optimized out>, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#9  0x0000003f90e45087 in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#10 0x0000003f90e45fa9 in ?? () from /lib64/libglib-2.0.so.0
#11 0x0000003f90e46650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#12 0x0000003f8d98e286 in QEventDispatcherGlib::processEvents (this=0xfab640, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#13 0x0000003f8d9628d2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#14 0x0000003f8d962ae5 in QEventLoop::exec (this=0x7f6489e81b60, flags=...) at kernel/qeventloop.cpp:201
#15 0x0000003f8d8777a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#16 0x0000003f8d944008 in QInotifyFileSystemWatcherEngine::run (this=0xfaab40) at io/qfilesystemwatcher_inotify.cpp:248
#17 0x0000003f8d87a095 in QThreadPrivate::start (arg=0xfaab40) at thread/qthread_unix.cpp:320
#18 0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#19 0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#20 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f6489681700 (LWP 16252)):
#0  0x0000003f8ee0b38c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f8d87a77b in wait (this=<value optimized out>, mutex=0x10574a8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x10574a8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x0000003fb0129407 in ?? () from /usr/lib64/libdigikamcore.so.2
#4  0x0000003f8d87a095 in QThreadPrivate::start (arg=0x1057490) at thread/qthread_unix.cpp:320
#5  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#6  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f644cabb700 (LWP 16256)):
#0  0x0000003f8ee0b38c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f6481ec8e22 in ?? () from /usr/lib64/libvlccore.so.4
#2  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#3  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f643e894700 (LWP 16279)):
#0  0x0000003f8ee0b6f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f8d87a6e2 in wait (this=<value optimized out>, mutex=0x1029850, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1029850, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x0000003f8d86ef38 in QThreadPoolThread::run (this=0x5da55e0) at concurrent/qthreadpool.cpp:140
#4  0x0000003f8d87a095 in QThreadPrivate::start (arg=0x5da55e0) at thread/qthread_unix.cpp:320
#5  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#6  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f643e093700 (LWP 16280)):
#0  0x0000003f8ee0b6f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f8d87a6e2 in wait (this=<value optimized out>, mutex=0x1029850, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1029850, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x0000003f8d86ef38 in QThreadPoolThread::run (this=0x5da5b40) at concurrent/qthreadpool.cpp:140
#4  0x0000003f8d87a095 in QThreadPrivate::start (arg=0x5da5b40) at thread/qthread_unix.cpp:320
#5  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#6  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f643d892700 (LWP 16283)):
#0  0x0000003f8ee0b6f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f8d87a6e2 in wait (this=<value optimized out>, mutex=0x1029850, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1029850, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x0000003f8d86ef38 in QThreadPoolThread::run (this=0x5da6bd0) at concurrent/qthreadpool.cpp:140
#4  0x0000003f8d87a095 in QThreadPrivate::start (arg=0x5da6bd0) at thread/qthread_unix.cpp:320
#5  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#6  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f643d091700 (LWP 16286)):
#0  0x0000003fa0c09d1e in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003fa0c087e6 in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#3  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f643c890700 (LWP 16289)):
#0  0x0000003fa0c09d1e in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003fa0c087e6 in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#3  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f643c08f700 (LWP 16291)):
#0  0x0000003fa0c09d1e in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003fa0c087e6 in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#3  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f643b88e700 (LWP 16295)):
#0  0x0000003f8ee0b38c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f8d87a77b in wait (this=<value optimized out>, mutex=0x5777278, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x5777278, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f644818f404 in KIPIPlugins::LoadRawThumbThread::run (this=0x5e5da90) at /usr/src/debug/digikam-2.0.0/extra/kipi-plugins/common/libkipiplugins/dialogs/imagedialog.cpp:537
#4  0x0000003f8d87a095 in QThreadPrivate::start (arg=0x5e5da90) at thread/qthread_unix.cpp:320
#5  0x0000003f8ee06a3f in start_thread () from /lib64/libpthread.so.0
#6  0x0000003f8e2d367d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f648e4589e0 (LWP 16239)):
[KCrash Handler]
#6  0x0000003f8e232ab5 in raise () from /lib64/libc.so.6
#7  0x0000003f8e233fb6 in abort () from /lib64/libc.so.6
#8  0x0000003f8e26ddd3 in __libc_message () from /lib64/libc.so.6
#9  0x0000003f8e2e9e97 in __fortify_fail () from /lib64/libc.so.6
#10 0x0000003f8e2e7c40 in __chk_fail () from /lib64/libc.so.6
#11 0x00007f64422fc0fe in memset (this=0x7fff1bb17970, inbuf=0x5fb2e28 "<credentials login=\"zawertun\" password=\"2EbQ063MFJ\"/>", in_size=53, outbuf=0x5ee0f38 "\020\017\356\005", out_size=@0x7fff1bb17a28) at /usr/include/bits/string3.h:85
#12 YandexAuth::CCryptoProviderRSA::Encrypt (this=0x7fff1bb17970, inbuf=0x5fb2e28 "<credentials login=\"zawertun\" password=\"2EbQ063MFJ\"/>", in_size=53, outbuf=0x5ee0f38 "\020\017\356\005", out_size=@0x7fff1bb17a28) at /usr/src/debug/digikam-2.0.0/extra/kipi-plugins/yandexfotki/yandexrsa.cpp:1052
#13 0x00007f64422fc3d7 in YandexAuth::makeCredentials (publicKey=..., login=<value optimized out>, password=<value optimized out>) at /usr/src/debug/digikam-2.0.0/extra/kipi-plugins/yandexfotki/yandexauth.cpp:59
#14 0x00007f64422e995c in KIPIYandexFotkiPlugin::YandexFotkiTalker::getToken (this=0x5d71658) at /usr/src/debug/digikam-2.0.0/extra/kipi-plugins/yandexfotki/yftalker.cpp:146
#15 0x00007f64422f2b94 in KIPIYandexFotkiPlugin::YandexFotkiWindow::slotGetSessionDone (this=0x5d71570) at /usr/src/debug/digikam-2.0.0/extra/kipi-plugins/yandexfotki/yfwindow.cpp:1002
#16 0x00007f64422f63ec in KIPIYandexFotkiPlugin::YandexFotkiWindow::qt_metacall (this=0x5d71570, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff1bb17cd0) at /usr/src/debug/digikam-2.0.0/extra/kipi-plugins/build/yandexfotki/yfwindow.moc:105
#17 0x0000003f8d977a5f in QMetaObject::activate (sender=0x5d71658, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3278
#18 0x00007f64422e924e in KIPIYandexFotkiPlugin::YandexFotkiTalker::parseResponseGetSession (this=0x5d71658, job=<value optimized out>) at /usr/src/debug/digikam-2.0.0/extra/kipi-plugins/yandexfotki/yftalker.cpp:691
#19 0x00007f64422f0568 in KIPIYandexFotkiPlugin::YandexFotkiTalker::qt_metacall (this=0x5d71658, _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7fff1bb17f70) at /usr/src/debug/digikam-2.0.0/extra/kipi-plugins/build/yandexfotki/yftalker.moc:120
#20 0x0000003f8d977a5f in QMetaObject::activate (sender=0x3020540, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff1bb17f70) at kernel/qobject.cpp:3278
#21 0x0000003f983355a2 in KJob::result (this=<value optimized out>, _t1=0x3020540) at /usr/src/debug/kdelibs-4.7.0/build/kdecore/kjob.moc:194
#22 0x0000003f983355e0 in KJob::emitResult (this=0x3020540) at /usr/src/debug/kdelibs-4.7.0/kdecore/jobs/kjob.cpp:312
#23 0x0000003f9faf190d in KIO::SimpleJob::slotFinished (this=0x3020540) at /usr/src/debug/kdelibs-4.7.0/kio/kio/job.cpp:494
#24 0x0000003f9faf58f2 in KIO::TransferJob::slotFinished (this=0x3020540) at /usr/src/debug/kdelibs-4.7.0/kio/kio/job.cpp:1081
#25 0x0000003f9fafa2d1 in KIO::TransferJob::qt_metacall (this=0x3020540, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff1bb183c0) at /usr/src/debug/kdelibs-4.7.0/build/kio/jobclasses.moc:369
#26 0x0000003f8d977a5f in QMetaObject::activate (sender=0x2102610, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3278
#27 0x0000003f9fb9ba81 in KIO::SlaveInterface::dispatch (this=<value optimized out>, _cmd=104, rawdata=...) at /usr/src/debug/kdelibs-4.7.0/kio/kio/slaveinterface.cpp:172
#28 0x0000003f9fb98a83 in KIO::SlaveInterface::dispatch (this=<value optimized out>) at /usr/src/debug/kdelibs-4.7.0/kio/kio/slaveinterface.cpp:88
#29 0x0000003f9fb8b9ae in KIO::Slave::gotInput (this=0x2102610) at /usr/src/debug/kdelibs-4.7.0/kio/kio/slave.cpp:344
#30 0x0000003f9fb8c0ec in KIO::Slave::qt_metacall (this=0x2102610, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff1bb18830) at /usr/src/debug/kdelibs-4.7.0/build/kio/slave.moc:82
#31 0x0000003f8d977a5f in QMetaObject::activate (sender=0x5766850, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3278
#32 0x0000003f9fac3507 in KIO::ConnectionPrivate::dequeue (this=0xe7f180) at /usr/src/debug/kdelibs-4.7.0/kio/kio/connection.cpp:82
#33 0x0000003f9fac35bd in KIO::Connection::qt_metacall (this=0x5766850, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x5fd7820) at /usr/src/debug/kdelibs-4.7.0/build/kio/connection.moc:79
#34 0x0000003f8d97737a in QObject::event (this=0x5766850, e=<value optimized out>) at kernel/qobject.cpp:1217
#35 0x0000003f989ca144 in QApplicationPrivate::notify_helper (this=0xe249e0, receiver=0x5766850, e=0x10f42c0) at kernel/qapplication.cpp:4462
#36 0x0000003f989d26fa in QApplication::notify (this=<value optimized out>, receiver=0x5766850, e=0x10f42c0) at kernel/qapplication.cpp:4341
#37 0x0000003f9a83d736 in KApplication::notify (this=0x7fff1bb19440, receiver=0x5766850, event=0x10f42c0) at /usr/src/debug/kdelibs-4.7.0/kdeui/kernel/kapplication.cpp:311
#38 0x0000003f8d96347c in QCoreApplication::notifyInternal (this=0x7fff1bb19440, receiver=0x5766850, event=0x10f42c0) at kernel/qcoreapplication.cpp:731
#39 0x0000003f8d966c75 in sendEvent (receiver=0x0, event_type=0, data=0xdd0d10) at kernel/qcoreapplication.h:215
#40 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xdd0d10) at kernel/qcoreapplication.cpp:1372
#41 0x0000003f8d98e093 in sendPostedEvents (s=0xe271c0) at kernel/qcoreapplication.h:220
#42 postEventSourceDispatch (s=0xe271c0) at kernel/qeventdispatcher_glib.cpp:277
#43 0x0000003f90e45bd3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#44 0x0000003f90e463b0 in ?? () from /lib64/libglib-2.0.so.0
#45 0x0000003f90e46650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#46 0x0000003f8d98e22f in QEventDispatcherGlib::processEvents (this=0xdd0940, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#47 0x0000003f98a6fbae in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#48 0x0000003f8d9628d2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#49 0x0000003f8d962ae5 in QEventLoop::exec (this=0x7fff1bb19270, flags=...) at kernel/qeventloop.cpp:201
#50 0x0000003f8d966f2b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#51 0x0000000000687465 in ?? ()
#52 0x0000003f8e21ebfd in __libc_start_main () from /lib64/libc.so.6
#53 0x000000000048f5e9 in _start ()

Reported using DrKonqi
Comment 1 Yaroslav Sidlovsky 2011-08-01 22:59:53 UTC
credentials in crash dump, amazing !
Comment 2 Alexander Zaitsev 2011-08-02 05:59:40 UTC
I gets the same on Ubuntu 11.04 x86
Comment 3 Alexander Potashev 2011-08-03 10:13:47 UTC
Git commit 94ce36dc54f440ac8c7a4be3d1cd7ec521ce8299 by Alexander Potashev.
Committed on 03/08/2011 at 12:12.
Pushed by aspotashev into branch 'master'.

Fix memory corruption introduced in cf1cc0b5bb356d7ce6a864237852cd4191ba833d

BUG:279078

M  +1    -1    yandexfotki/yandexrsa.cpp

http://commits.kde.org/kipi-plugins/94ce36dc54f440ac8c7a4be3d1cd7ec521ce8299
Comment 4 Alexander Potashev 2011-08-03 10:16:08 UTC
Guilty commit: http://commits.kde.org/kipi-plugins/cf1cc0b5bb356d7ce6a864237852cd4191ba833d
Say "EPIC!!!"

Btw, I didn't try to compile kipi-plugins with my bugfix, please test.
Comment 5 Yaroslav Sidlovsky 2011-08-04 08:48:15 UTC
Thanks :)
Comment 6 Vadim A. Misbakh-Soloviov (mva) 2011-08-27 07:30:13 UTC
Created attachment 63168 [details]
New crash information added by DrKonqi

gwenview (2.7.0) on KDE Platform 4.7.00 (4.7.0) using Qt 4.7.3

When i trying to authorize with login@yandex.ru or login@domain.tld - it throws "unable to load service document.

When I trying to authorize via just "login" (without "@domain") it causes crash of master application (digiKam, gwenview, etc) 

//Sabayon, KDE4.7

-- Backtrace (Reduced):
#11 0x00007f5df873fbe1 in YandexAuth::CCryptoProviderRSA::Encrypt(char const*, unsigned long, char*, unsigned long&) () from /usr/lib64/kde4/kipiplugin_yandexfotki.so
#12 0x00007f5df873fea7 in YandexAuth::makeCredentials(QString const&, QString const&, QString const&) () from /usr/lib64/kde4/kipiplugin_yandexfotki.so
#13 0x00007f5df872d57c in KIPIYandexFotkiPlugin::YandexFotkiTalker::getToken() () from /usr/lib64/kde4/kipiplugin_yandexfotki.so
#14 0x00007f5df8736844 in KIPIYandexFotkiPlugin::YandexFotkiWindow::slotGetSessionDone() () from /usr/lib64/kde4/kipiplugin_yandexfotki.so
#15 0x00007f5df873a0bc in KIPIYandexFotkiPlugin::YandexFotkiWindow::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/kde4/kipiplugin_yandexfotki.so
Comment 7 Alexander Potashev 2011-08-27 08:40:52 UTC
(In reply to comment #6)
> Created an attachment (id=63168) [details]
> New crash information added by DrKonqi

The crash is already fixed in Git "master" branch, you can build kipi-plugins from sources if you need a working Yandex.Fotki plugin right now.

Please, open another bug report about "unable to load service document".