Bug 243024 - Plasma-netbook crash related to microblogging and OAuth [QMutex::lock, QCA::Random::randomArray, QCA::InitializationVector, OAuth::createSignature]
Summary: Plasma-netbook crash related to microblogging and OAuth [QMutex::lock, QCA::R...
Status: RESOLVED FIXED
Alias: None
Product: qca
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Marco Martin
URL:
Keywords:
: 243195 247507 256899 260715 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-06-28 13:14 UTC by Marcus Harrison
Modified: 2012-05-17 11:48 UTC (History)
12 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Terminal output (4.23 KB, text/plain)
2010-06-28 13:14 UTC, Marcus Harrison
Details
New crash information added by DrKonqi (7.65 KB, text/plain)
2010-08-07 23:47 UTC, Morten Sjoegren
Details
New crash information added by DrKonqi (7.55 KB, text/plain)
2010-09-05 05:01 UTC, etrnlwolf
Details
New crash information added by DrKonqi (6.86 KB, text/plain)
2010-09-05 05:57 UTC, etrnlwolf
Details
New crash information added by DrKonqi (6.96 KB, text/plain)
2010-10-05 14:02 UTC, Dr Chandra
Details
New crash information added by DrKonqi (7.68 KB, text/plain)
2010-10-24 20:44 UTC, Justin Hannigan
Details
New crash information added by DrKonqi (7.02 KB, text/plain)
2010-11-03 20:48 UTC, Turid
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Harrison 2010-06-28 13:14:32 UTC
Created attachment 48406 [details]
Terminal output

Version:           unspecified (using Devel) 
OS:                Linux

Unfortunately, I can't provide a backtrace since Kubuntu's beta PPA doesn't have debugging symbols for plasma-netbook. However, I am attaching the terminal output.

This seems to be related with whether at least one newspaper activity has, "Expand widgets" set.

Reproducible: Always
Comment 1 Marcus Harrison 2010-06-28 13:38:27 UTC
I stand corrected: it seems to be an issue with the Microblogging widget. Whether the activity is set to expand widgets or not, this widget causes plasma-netbook to crash on start-up.
Comment 2 Marco Martin 2010-06-28 19:51:36 UTC
can't reproduce here.
unfortunately not much can be done until a proper backtrace can be produced :/
Comment 3 Marcus Harrison 2010-06-29 17:02:53 UTC
Sorry. I've since installed debugging symbols (at the cost of a hefty amount of no-longer-necessary files for disk space) and re-produced the crash.

Here is the backtrace:

Application: Plasma Netbook (plasma-netbook), signal: Segmentation fault
[Current thread is 1 (Thread 0xb7841720 (LWP 9152))]

Thread 3 (Thread 0xaf52cb70 (LWP 9153)):
#0  0x029efe16 in clock_gettime () from /lib/librt.so.1
#1  0x05a50ceb in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x05b27045 in QTimerInfoList::updateCurrentTime (this=0x85674b4) at kernel/qeventdispatcher_unix.cpp:339
#4  0x05b2708a in QTimerInfoList::timerWait (this=0x85674b4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x05b25128 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xaf52c0ac) at kernel/qeventdispatcher_glib.cpp:136
#6  0x05b251b5 in timerSourcePrepare (source=0x0, timeout=0x29f3ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x04e09aca in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x04e09ee9 in ?? () from /lib/libglib-2.0.so.0
#9  0x04e0a4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x05b24f1f in QEventDispatcherGlib::processEvents (this=0x84c1968, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#11 0x05af51a9 in QEventLoop::processEvents (this=0xaf52c280, flags=) at kernel/qeventloop.cpp:149
#12 0x05af55fa in QEventLoop::exec (this=0xaf52c280, flags=...) at kernel/qeventloop.cpp:201
#13 0x059f2aee in QThread::exec (this=0x8564978) at thread/qthread.cpp:490
#14 0x05ad42eb in QInotifyFileSystemWatcherEngine::run (this=0x8564978) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x059f5dc9 in QThreadPrivate::start (arg=0x8564978) at thread/qthread_unix.cpp:266
#16 0x009897f0 in start_thread () from /lib/libpthread.so.0
#17 0xaf52cb70 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 0xaed07b70 (LWP 9154)):
#0  0x0098de70 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0026e7fd in pthread_cond_wait () from /lib/libc.so.6
#2  0x01f9caad in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x01f9cb91 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0x009897f0 in start_thread () from /lib/libpthread.so.0
#5  0xaed07b70 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread 0xb7841720 (LWP 9152)):
[KCrash Handler]
#6  QMutex::lock (this=0x1c) at thread/qmutex.cpp:151
#7  0x06de6480 in QCA::Random::randomArray(int) () from /usr/lib/libqca.so.2
#8  0x06dd3857 in QCA::InitializationVector::InitializationVector(int) () from /usr/lib/libqca.so.2
#9  0x06585b86 in OAuth::createSignature (requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=0xbfed159c) at ../../../dataengines/microblog/oauth.cpp:87
#10 0x065870a9 in OAuth::signRequest (job=0x8a4c1a8, requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=...) at ../../../dataengines/microblog/oauth.cpp:146
#11 0x0658aca8 in TimelineSource::setPassword (this=0x8f36520, password=...) at ../../../dataengines/microblog/timelinesource.cpp:160
#12 0x0658b14b in TimelineService::createJob (this=0x8a61658, operation=..., parameters=...) at ../../../dataengines/microblog/timelinesource.cpp:85
#13 0x0066e1ab in Plasma::Service::startOperationCall (this=0x8a61658, description=..., parent=0x0) at ../../plasma/service.cpp:269
#14 0x02e7b1b0 in MicroBlog::downloadHistory (this=0x8631068) at ../../../applets/microblog/microblog.cpp:799
#15 0x02e7b94e in MicroBlog::readWallet (this=0x8631068, success=true) at ../../../applets/microblog/microblog.cpp:353
#16 0x02e7c7e0 in MicroBlog::qt_metacall (this=0x8631068, _c=QMetaObject::InvokeMetaMethod, _id=77, _a=0xbfed1ab8) at ./microblog.moc:104
#17 0x05afc42a in QMetaObject::metacall (object=0x8631068, cl=115802100, idx=77, argv=0xbfed1ab8) at kernel/qmetaobject.cpp:237
#18 0x05b0f1a5 in QMetaObject::activate (sender=0x8a081d8, m=0x36172e4, local_signal_index=4, argv=0xbfed1ab8) at kernel/qobject.cpp:3280
#19 0x034df529 in KWallet::Wallet::walletOpened (this=0x8a081d8, _t1=true) at ./kwallet.moc:145
#20 0x034df825 in KWallet::Wallet::walletAsyncOpened (this=0x8a081d8, tId=94, handle=1415927949) at ../../kdeui/util/kwallet.cpp:740
#21 0x034e06a0 in KWallet::Wallet::qt_metacall (this=0x8a081d8, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0xbfed1c14) at ./kwallet.moc:105
#22 0x05afc42a in QMetaObject::metacall (object=0x8a081d8, cl=115802100, idx=13, argv=0xbfed1c14) at kernel/qmetaobject.cpp:237
#23 0x05b0f1a5 in QMetaObject::activate (sender=0x8a08018, m=0x361d2c0, local_signal_index=4, argv=0xbfed1c14) at kernel/qobject.cpp:3280
#24 0x035c0809 in OrgKdeKWalletInterface::walletAsyncOpened (this=0x8a08018, _t1=94, _t2=1415927949) at kwallet_interface.moc:310
#25 0x035c115f in OrgKdeKWalletInterface::qt_metacall (this=0x8a08018, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfed1ffc) at kwallet_interface.moc:185
#26 0x00419034 in QDBusConnectionPrivate::deliverCall (this=0x816f248, object=0x8a08018, msg=..., metaTypes=..., slotIdx=9) at qdbusintegrator.cpp:909
#27 0x00424687 in QDBusCallDeliveryEvent::placeMetaCall (this=0x8ff62d8, object=0x8a08018) at qdbusintegrator_p.h:103
#28 0x05b091b2 in QObject::event (this=0x8a08018, e=0x1) at kernel/qobject.cpp:1219
#29 0x0439432c in QApplicationPrivate::notify_helper (this=0x816a668, receiver=0x8a08018, e=0x8ff62d8) at kernel/qapplication.cpp:4358
#30 0x0439b6fe in QApplication::notify (this=0x8169708, receiver=0x8a08018, e=0x8ff62d8) at kernel/qapplication.cpp:3762
#31 0x034460da in KApplication::notify (this=0x8169708, receiver=0x8a08018, event=0x8ff62d8) at ../../kdeui/kernel/kapplication.cpp:309
#32 0x05af66cb in QCoreApplication::notifyInternal (this=0x8169708, receiver=0x8a08018, event=0x8ff62d8) at kernel/qcoreapplication.cpp:732
#33 0x05af992b in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x814dc68) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#34 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x814dc68) at kernel/qcoreapplication.cpp:1373
#35 0x05af9aed in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
#36 0x05b253ef in QCoreApplication::sendPostedEvents (s=0x8174390) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#37 postEventSourceDispatch (s=0x8174390) at kernel/qeventdispatcher_glib.cpp:276
#38 0x04e065e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#39 0x04e0a2d8 in ?? () from /lib/libglib-2.0.so.0
#40 0x04e0a4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#41 0x05b24ee5 in QEventDispatcherGlib::processEvents (this=0x816c7e8, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#42 0x04455105 in QGuiEventDispatcherGlib::processEvents (this=0x816c7e8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#43 0x05af51a9 in QEventLoop::processEvents (this=0xbfed2824, flags=) at kernel/qeventloop.cpp:149
#44 0x05af55fa in QEventLoop::exec (this=0xbfed2824, flags=...) at kernel/qeventloop.cpp:201
#45 0x05af9baf in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#46 0x04393157 in QApplication::exec () at kernel/qapplication.cpp:3637
#47 0x004dc8fd in kdemain (argc=3, argv=0xbfed2a44) at ../../../../plasma/netbook/shell/main.cpp:67
#48 0x0804860b in main (argc=3, argv=0xbfed2a44) at plasma-netbook_dummy.cpp:3
Comment 4 Beat Wolf 2010-06-30 00:05:26 UTC
*** Bug 243195 has been marked as a duplicate of this bug. ***
Comment 5 Morten Sjoegren 2010-08-07 23:47:48 UTC
Created attachment 49906 [details]
New crash information added by DrKonqi

plasma-netbook (0.1) on KDE Platform 4.4.92 (KDE 4.4.92 (KDE 4.5 RC2)) using Qt 4.7.0

Crashes on login with both old settings and default settings on kubuntu 10.4 on an amd64 system.

-- Backtrace (Reduced):
#6  QMutex::lock (this=0x30) at thread/qmutex.cpp:151
#7  0x00007f13b44607a8 in QCA::Random::randomArray(int) () from /usr/lib/libqca.so.2
#8  0x00007f13b444df69 in QCA::InitializationVector::InitializationVector(int) () from /usr/lib/libqca.so.2
#9  0x00007f13969446da in OAuth::createSignature (requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=0x7fff78dc9790) at ../../../dataengines/microblog/oauth.cpp:87
#10 0x00007f1396945e6f in OAuth::signRequest (job=<value optimized out>, requestUrl=<value optimized out>, method=<value optimized out>, token=<value optimized out>, tokenSecret=..., params=...)
    at ../../../dataengines/microblog/oauth.cpp:147
Comment 6 etrnlwolf 2010-09-05 05:01:24 UTC
Created attachment 51331 [details]
New crash information added by DrKonqi

plasma-netbook (0.1) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

- What I was doing when the application crashed:

after setting up a desktop activity.  I changed the default newspaper activity to a desktop activity, added a bunch of plasmoids, plasma-netbook eventually crashed.  upon restarting plasma-netbook crashes on login everytime.

manually editing plasma-netbook-appletsrc and removing the reference to the microblogger then using alt+f2 to open a terminal and running plasma-netbook brings everything back ok.

microblogger was setup to use my twitter account, iirc no settings were changed.

-- Backtrace (Reduced):
#7  QMutex::lock (this=0x1c) at thread/qmutex.cpp:151
#8  0x068fe480 in QCA::Random::randomArray(int) () from /usr/lib/libqca.so.2
#9  0x068eb857 in QCA::InitializationVector::InitializationVector(int) () from /usr/lib/libqca.so.2
#10 0x024a64f6 in OAuth::createSignature (requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=0xbff01f1c) at ../../../dataengines/microblog/oauth.cpp:87
#11 0x024a7c09 in OAuth::signRequest (job=0x9933848, requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=...) at ../../../dataengines/microblog/oauth.cpp:147
Comment 7 etrnlwolf 2010-09-05 05:57:03 UTC
Created attachment 51332 [details]
New crash information added by DrKonqi

plasma-netbook (0.1) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

- What I was doing when the application crashed:
same as per previous reports, more testing completed,

- Custom settings of the application:
setup to use https://twitter.com etc.  If I edit plasma-netbook-appletsrc and remove just the [Configuration] section for the microblogger then plasma-netbook loads without error.  adding multiple microbloggers works just fine until one of them gets setup for twitter as well.

-- Backtrace (Reduced):
#7  QMutex::lock (this=0x1c) at thread/qmutex.cpp:151
#8  0x048a9480 in QCA::Random::randomArray(int) () from /usr/lib/libqca.so.2
#9  0x04896857 in QCA::InitializationVector::InitializationVector(int) () from /usr/lib/libqca.so.2
#10 0x036d84f6 in OAuth::createSignature (requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=0xbf8ff16c) at ../../../dataengines/microblog/oauth.cpp:87
#11 0x036d9c09 in OAuth::signRequest (job=0x9730b58, requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=...) at ../../../dataengines/microblog/oauth.cpp:147
Comment 8 etrnlwolf 2010-09-05 06:19:22 UTC
Created an identi.ca account and setup the microblogger for it, it loads without crashing so seems directly related to twitter itself.
Comment 9 Dr Chandra 2010-10-05 14:02:46 UTC
Created attachment 52233 [details]
New crash information added by DrKonqi

plasma-netbook (0.1) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

i suppose it have started with crashing since i configured my twitter account in the microblogging widget

-- Backtrace (Reduced):
#7  QMutex::lock (this=0x1c) at thread/qmutex.cpp:151
#8  0x013a4480 in QCA::Random::randomArray(int) () from /usr/lib/libqca.so.2
#9  0x01391857 in QCA::InitializationVector::InitializationVector(int) () from /usr/lib/libqca.so.2
#10 0x02f864f6 in OAuth::createSignature (requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=0xbfc2e6dc) at ../../../dataengines/microblog/oauth.cpp:87
#11 0x02f87c09 in OAuth::signRequest (job=0x9334848, requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=...) at ../../../dataengines/microblog/oauth.cpp:147
Comment 10 Marcus Harrison 2010-10-06 00:56:22 UTC
After some further probing, Microblogger is causing the crash, and only when a Twitter account is set up.
Comment 11 Justin Hannigan 2010-10-24 20:44:18 UTC
Created attachment 52834 [details]
New crash information added by DrKonqi

plasma-netbook (0.1) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

- What I was doing when the application crashed:
Simply logging in or setting Workspace to "netbook" instead of "desktop" causes plasma-netbook to crash.  I also saw this behavior appear after adding the microblogging plasmoid and configuring it to use my twitter account.  Everything seems fine when "desktop" is selected.

-- Backtrace (Reduced):
#6  QMutex::lock (this=0x30) at thread/qmutex.cpp:151
#7  0x00007f70b8ba47a8 in QCA::Random::randomArray(int) () from /usr/lib/libqca.so.2
#8  0x00007f70b8b91f69 in QCA::InitializationVector::InitializationVector(int) () from /usr/lib/libqca.so.2
#9  0x00007f7093d7603a in OAuth::createSignature (requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=0x7ffffb804d70) at ../../../dataengines/microblog/oauth.cpp:87
#10 0x00007f7093d777df in OAuth::signRequest (job=<value optimized out>, requestUrl=<value optimized out>, method=<value optimized out>, token=<value optimized out>, tokenSecret=..., params=...) at ../../../dataengines/microblog/oauth.cpp:147
Comment 12 abyss.andrey 2010-10-26 18:52:44 UTC
I get same bug connected with twitter on my netbook, but everything is OK on a desktop.
Comment 13 Turid 2010-11-03 20:48:31 UTC
Created attachment 53108 [details]
New crash information added by DrKonqi

plasma-netbook (0.1) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

- What I was doing when the application crashed:

plasma-notebook crashed at startup. This happened consistently after I added several new widgets to the newspaper page, including the microblogging widget, and selected expand widgets.

-- Backtrace (Reduced):
#7  QMutex::lock (this=0x1c) at thread/qmutex.cpp:151
#8  0x05182480 in QCA::Random::randomArray(int) () from /usr/lib/libqca.so.2
#9  0x0516f857 in QCA::InitializationVector::InitializationVector(int) () from /usr/lib/libqca.so.2
#10 0x044a44f6 in OAuth::createSignature (requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=0xbfdbcc9c) at ../../../dataengines/microblog/oauth.cpp:87
#11 0x044a5c09 in OAuth::signRequest (job=0x862ae58, requestUrl=..., method=OAuth::POST, token=..., tokenSecret=..., params=...) at ../../../dataengines/microblog/oauth.cpp:147
Comment 14 Dario Andres 2010-11-15 16:10:39 UTC
*** Bug 256899 has been marked as a duplicate of this bug. ***
Comment 15 Marcus Harrison 2010-12-14 01:59:31 UTC
This bug is still reproducible on KDE 4.6 Beta 2.
Comment 16 Pino Toscano 2010-12-19 16:43:11 UTC
*** Bug 260715 has been marked as a duplicate of this bug. ***
Comment 17 Marco Martin 2010-12-19 19:45:43 UTC
seems a qca issue
Comment 18 Brad Hards 2010-12-19 20:51:23 UTC
I don't think it is an issue with QCA, but rather with the way that QCA is being used. I didn't check much of the code, but it looks like there the QCA initialisation is not being done. There should be a call to QCA::Initializer somewhere in there.

Brad
Comment 19 Marco Martin 2010-12-19 21:45:48 UTC
SVN commit 1207815 by mart:

create a QCA::Initializer that will live for all the lifespan of the
timeline source
CCBUG:243024


 M  +7 -1      timelinesource.cpp  
 M  +6 -0      timelinesource.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1207815
Comment 20 Marco Martin 2010-12-19 21:53:37 UTC
last commit should fix it.
please everybody that had the issue. try it ;)
Comment 21 Marco Martin 2010-12-20 18:53:22 UTC
i'll mark now as fixed if it happes again in a KDE relese newer than 4.6 beta2 (beta2 still flawed) please reopen
Comment 22 Myriam Schweingruber 2012-05-17 11:48:49 UTC
*** Bug 247507 has been marked as a duplicate of this bug. ***