Bug 239915 - konversation crashed when write in channel with blowfish key set
Summary: konversation crashed when write in channel with blowfish key set
Alias: None
Product: konversation
Classification: Applications
Component: general (show other bugs)
Version: 1.2.3
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Konversation Developers
: 253762 (view as bug list)
Depends on:
Reported: 2010-05-28 21:46 UTC by yambob
Modified: 2011-04-13 22:55 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description yambob 2010-05-28 21:46:43 UTC
Application: konversation (1.2.3)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-22-generic x86_64
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
everytime i write in a channel with /setkey #channel key enabled konversation crash

The crash can be reproduced every time.

 -- Backtrace:
Application: Konversation (konversation), signal: Segmentation fault
[KCrash Handler]
#5  0x00007f7da2b4c7a5 in QCA::Cipher::clear() () from /usr/lib/libqca.so.2
#6  0x00007f7da2b4f13c in QCA::Cipher::Cipher(QString const&, QCA::Cipher::Mode, QCA::Cipher::Padding, QCA::Direction, QCA::SymmetricKey const&, QCA::InitializationVector const&, QString const&) ()
   from /usr/lib/libqca.so.2
#7  0x00000000005c93fe in Konversation::Cipher::blowfishECB (this=0x1682df0, cipherText=) at ../../src/cipher.cpp:355
#8  0x00000000005cad28 in Konversation::Cipher::encrypt (this=0x1682df0, cipherText=...) at ../../src/cipher.cpp:287
#9  0x00000000004a3f73 in Server::_send_internal (this=0x13224d0, outputLine=<value optimized out>) at ../../src/irc/server.cpp:1235
#10 0x00000000004a448b in Server::toServer (this=0x7fffe6782980, s=..., q=0x11c87c0) at ../../src/irc/server.cpp:1260
#11 0x000000000051cf6a in IRCQueue::doSend (this=0x11c87c0) at ../../src/irc/ircqueue.cpp:161
#12 0x000000000051cf99 in IRCQueue::sendNow (this=0x7fffe6782980) at ../../src/irc/ircqueue.cpp:184
#13 0x000000000051d04c in IRCQueue::qt_metacall (this=0x11c87c0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe6782f80) at ./ircqueue.moc:77
#14 0x00007f7da0ddce3f in QMetaObject::activate (sender=0x130fbb0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3293
#15 0x00007f7da0dd9a63 in QObject::event (this=0x130fbb0, e=0x7fffe67836d0) at kernel/qobject.cpp:1212
#16 0x00007f7d9fced22c in QApplicationPrivate::notify_helper (this=0xcac6d0, receiver=0x130fbb0, e=0x7fffe67836d0) at kernel/qapplication.cpp:4300
#17 0x00007f7d9fcf36fb in QApplication::notify (this=0x7fffe6783a20, receiver=0x130fbb0, e=0x7fffe67836d0) at kernel/qapplication.cpp:4183
#18 0x00007f7da1f83526 in KApplication::notify (this=0x7fffe6783a20, receiver=0x130fbb0, event=0x7fffe67836d0) at ../../kdeui/kernel/kapplication.cpp:302
#19 0x00007f7da0dca06c in QCoreApplication::notifyInternal (this=0x7fffe6783a20, receiver=0x130fbb0, event=0x7fffe67836d0) at kernel/qcoreapplication.cpp:704
#20 0x00007f7da0df6d42 in QCoreApplication::sendEvent (this=0xcb3ee0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#21 QTimerInfoList::activateTimers (this=0xcb3ee0) at kernel/qeventdispatcher_unix.cpp:603
#22 0x00007f7da0df3824 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#23 0x00007f7d9cb828c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#24 0x00007f7d9cb86748 in ?? () from /lib/libglib-2.0.so.0
#25 0x00007f7d9cb868fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#26 0x00007f7da0df3513 in QEventDispatcherGlib::processEvents (this=0xc82450, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#27 0x00007f7d9fd9d46e in QGuiEventDispatcherGlib::processEvents (this=0x7fffe6782980, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#28 0x00007f7da0dc8992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#29 0x00007f7da0dc8d6c in QEventLoop::exec (this=0x7fffe6783970, flags=) at kernel/qeventloop.cpp:201
#30 0x00007f7da0dccaab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#31 0x000000000046a200 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../src/main.cpp:100

Reported using DrKonqi
Comment 1 Eike Hein 2010-05-28 22:05:44 UTC
We've had crashes in QCA before (e.g. bug 210229) due to bugs in older QCA versions, so this might be yet another QCA bug, not sure though. I can't reproduce the crash here.
Comment 2 Johannes Huber 2011-01-31 21:52:04 UTC
This is caused by missing qca-ossl plugin. It is needed for Blowfish algorithm. See http://delta.affinix.com/qca/ -> "QCA has built-in support for the SHA1 and MD5 hash algorithms, and a weak random number source. To perform any other crypto operations (or to utilize improved versions of the built-in ones), an appropriate provider plugin is needed. There are several available so far, and you could always write your own, too."
Comment 3 Eike Hein 2011-03-12 01:35:26 UTC
Git commit ae77d8e8a07c4c737a5c9155b99def850c2a31fb by Eike Hein.
Committed on 12/03/2011 at 01:32.
Pushed by hein into branch 'master'.

Fail gracefully if required QCA features are not available at runtime.

Konversation would crash during Diffie-Hellman key exchange or Blow-
fish decryption/encryption if QCA was unable to provide these features;
usually because the qca-ossl provider plugin isn't installed. Now it
will show helpful error messages instead.

Thanks to Johannes Huber for the report.


M  +6    -0    ChangeLog     
M  +46   -0    src/cipher.cpp     
M  +7    -0    src/cipher.h     
M  +22   -21   src/irc/outputfilter.cpp     
M  +17   -1    src/irc/server.cpp     

Comment 4 Eike Hein 2011-04-13 22:55:04 UTC
*** Bug 253762 has been marked as a duplicate of this bug. ***