[swift-users] Segfault when joining MUC

Mazhe vmazhe at gmail.com
Mon Aug 29 21:23:43 CEST 2011


Hello everybody,

I noticed recently an annoying bug: switch segfaults when I try to
join my favorite MUC root (hosted on a ejabberd server). I'm using the
latest git version, my OS is FreeBSD 8.2 and Qt version is 4.7.4.

Below is the (voluminous) gdb backtrace generated :
------------------------------------------------
(gdb) run
Starting program: /home/mazhe/devel/swift/Swift/QtUI/swift
libpng warning: Ignoring attempt to set cHRM RGB triangle with zero area

Program received signal SIGSEGV, Segmentation fault.
0x00000008022a5bab in std::string::append () from /usr/lib/libstdc++.so.6
(gdb) bt
#0  0x00000008022a5bab in std::string::append () from /usr/lib/libstdc++.so.6
#1  0x0000000000485f4f in std::operator+<char, std::char_traits<char>,
std::allocator<char> > (__lhs=@0x7fffffffb1e0, __rhs=@0x0) at
basic_string.h:2075
#2  0x0000000000596d9f in Swift::ChatsManager::saveRecents (this=0x8090e9700)
    at Swift/Controllers/Chat/ChatsManager.cpp:111
#3  0x0000000000597304 in Swift::ChatsManager::handleChatActivity (
    this=0x8090e9700, jid=@0x7fffffffb7b0, activity=@0x7fffffffb7a0,
    isMUC=true) at Swift/Controllers/Chat/ChatsManager.cpp:231
#4  0x0000000000597baa in Swift::ChatsManager::handleJoinMUCRequest (
    this=0x8090e9700, mucJID=@0x7fffffffb8f0, nickMaybe=@0x7fffffffb8e0,
    addAutoJoin=false) at Swift/Controllers/Chat/ChatsManager.cpp:490
#5  0x0000000000597fa5 in Swift::ChatsManager::handleUIEvent (
    this=0x8090e9700, event=@0x7fffffffba40)
    at Swift/Controllers/Chat/ChatsManager.cpp:307
#6  0x00000000005a45e8 in boost::_mfi::mf1<void, Swift::ChatsManager,
boost::shared_ptr<Swift::UIEvent> >::operator() (this=0x809b12ec0,
p=0x8090e9700,
    a1=@0x7fffffffbaa0) at mem_fn_template.hpp:165
#7  0x00000000005a467f in
boost::_bi::list2<boost::_bi::value<Swift::ChatsManager*>,
boost::arg<1> >::operator()<boost::_mfi::mf1<void,
Swift::ChatsManager, boost::shared_ptr<Swift::UIEvent> >,
boost::_bi::list1<boost::shared_ptr<Swift::UIEvent>&> >
(this=0x809b12ed0, f=@0x809b12ec0, a=@0x7fffffffbb00) at bind.hpp:313
#8  0x00000000005a46ee in boost::_bi::bind_t<void,
boost::_mfi::mf1<void, Swift::ChatsManager,
boost::shared_ptr<Swift::UIEvent> >,
boost::_bi::list2<boost::_bi::value<Swift::ChatsManager*>,
boost::arg<1> > >::operator()<boost::shared_ptr<Swift::UIEvent> >
(this=0x809b12ec0, a1=@0x7fffffffbb80) at bind_template.hpp:32
#9  0x00000000005a4715 in
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, Swift::ChatsManager,
boost::shared_ptr<Swift::UIEvent> >,
boost::_bi::list2<boost::_bi::value<Swift::ChatsManager*>,
boost::arg<1> > >, void, boost::shared_ptr<Swift::UIEvent> >::invoke (
    function_obj_ptr=@0x809b12ec0, a0=@0x7fffffffbb80)
    at function_template.hpp:153
#10 0x0000000000465426 in boost::function1<void,
boost::shared_ptr<Swift::UIEvent> >::operator() (this=0x809b12eb8,
a0=@0x7fffffffbbd0)
    at function_template.hpp:1013
#11 0x00000000004654a2 in
boost::signals::detail::call_bound1<void>::caller<boost::shared_ptr<Swift::UIEvent>,
boost::function<void ()(boost::shared_ptr<Swift::UIEvent>)>
>::operator()<boost::signals::detail::connection_slot_pair> (
    this=0x7fffffffbe50, slot=@0x809b12ef0) at signal_template.hpp:119
#12 0x000000000046552f in
boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<boost::shared_ptr<Swift::UIEvent>,
boost::function<void ()(boost::shared_ptr<Swift::UIEvent>)> >,
boost::signals::detail::named_slot_map_iterator>::dereference
(this=0x7fffffffbe10)
    at slot_call_iterator.hpp:61
#13 0x0000000000465575 in
boost::iterator_core_access::dereference<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<boost::shared_ptr<Swift::UIEvent>,
boost::function<void ()(boost::shared_ptr<Swift::UIEvent>)> >,
boost::signals::detail::named_slot_map_iterator> > (
    f=@0x7fffffffbe10) at iterator_facade.hpp:516
#14 0x000000000046559d in
boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<boost::shared_ptr<Swift::UIEvent>,
boost::function<void ()(boost::shared_ptr<Swift::UIEvent>)> >,
boost::signals::detail::named_slot_map_iterator>,
boost::signals::detail::unusable, boost::single_pass_traversal_tag,
boost::signals::detail::unusable const&, long>::operator*
(this=0x7fffffffbe10) at iterator_facade.hpp:634
#15 0x00000000004655b9 in postfix_increment_proxy (this=0x7fffffffbcbf,
    x=@0x7fffffffbe10) at iterator_facade.hpp:144
#16 0x00000000004655dc in
boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<boost::shared_ptr<Swift::UIEvent>,
boost::function<void ()(boost::shared_ptr<Swift::UIEvent>)> >,
boost::signals::detail::named_slot_map_iterator>,
boost::signals::detail::unusable, boost::single_pass_traversal_tag,
boost::signals::detail::unusable const&, long>
    (i=@0x7fffffffbe10) at iterator_facade.hpp:732
#17 0x0000000000465614 in
boost::last_value<void>::operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<boost::shared_ptr<Swift::UIEvent>,
boost::function<void ()(boost::shared_ptr<Swift::UIEvent>)> >,
boost::signals::detail::named_slot_map_iterator> > (
    this=0x809172318, first=@0x7fffffffbe10, last=@0x7fffffffbd80)
    at last_value.hpp:49
#18 0x000000000046579a in boost::signal1<void,
boost::shared_ptr<Swift::UIEvent>, boost::last_value<void>, int,
std::less<int>, boost::function<void
()(boost::shared_ptr<Swift::UIEvent>)> >::operator()
(this=0x80913c280,
    a1=@0x7fffffffbee0) at signal_template.hpp:354
#19 0x000000000046586b in Swift::UIEventStream::send (this=0x80913c280,
    event=@0x7fffffffbf40) at UIEventStream.h:20
#20 0x0000000000592f9d in Swift::ChatsManager::handleMUCBookmarkActivated (
    this=0x8090e9700, mucBookmark=@0x809b5b410)
    at Swift/Controllers/Chat/ChatsManager.cpp:531
#21 0x000000000059f47a in boost::_mfi::mf1<void, Swift::ChatsManager,
Swift::MUCBookmark const&>::operator() (this=0x809b12e30,
p=0x8090e9700, a1=@0x809b5b410)
    at mem_fn_template.hpp:165
#22 0x00000000005a0a77 in
boost::_bi::list2<boost::_bi::value<Swift::ChatsManager*>,
boost::arg<1> >::operator()<boost::_mfi::mf1<void,
Swift::ChatsManager, Swift::MUCBookmark const&>,
boost::_bi::list1<Swift::MUCBookmark const&> > (
    this=0x809b12e40, f=@0x809b12e30, a=@0x7fffffffc030) at bind.hpp:313
#23 0x00000000005a0abe in boost::_bi::bind_t<void,
boost::_mfi::mf1<void, Swift::ChatsManager, Swift::MUCBookmark
const&>, boost::_bi::list2<boost::_bi::value<Swift::ChatsManager*>,
boost::arg<1> > >::operator()<Swift::MUCBookmark> (
    this=0x809b12e30, a1=@0x809b5b410) at bind_template.hpp:47
#24 0x00000000005a0ae5 in
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, Swift::ChatsManager, Swift::MUCBookmark
const&>, boost::_bi::list2<boost::_bi::value<Swift::ChatsManager*>,
boost::arg<1> > >, void, Swift::MUCBookmark const&>::invoke (
function_obj_ptr=@0x809b12e30, a0=@0x809b5b410)
    at function_template.hpp:153
#25 0x00000000004d44d9 in boost::function1<void, Swift::MUCBookmark
const&>::operator() (this=0x809b12e28, a0=@0x809b5b410) at
function_template.hpp:1013
#26 0x00000000004d4514 in
boost::signals::detail::call_bound1<void>::caller<Swift::MUCBookmark
const&, boost::function<void ()(Swift::MUCBookmark const&)>
>::operator()<boost::signals::detail::connection_slot_pair>
(this=0x7fffffffc340,
    slot=@0x809b12e60) at signal_template.hpp:119
#27 0x00000000004d456f in
boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Swift::MUCBookmark
const&, boost::function<void ()(Swift::MUCBookmark const&)> >,
boost::signals::detail::named_slot_map_iterator>::dereference
(this=0x7fffffffc300) at slot_call_iterator.hpp:61
#28 0x00000000004d45b5 in
boost::iterator_core_access::dereference<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Swift::MUCBookmark
const&, boost::function<void ()(Swift::MUCBookmark const&)> >,
boost::signals::detail::named_slot_map_iterator> > (f=@0x7fffffffc300)
    at iterator_facade.hpp:516
#29 0x00000000004d45dd in
boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Swift::MUCBookmark
const&, boost::function<void ()(Swift::MUCBookmark const&)> >,
boost::signals::detail::named_slot_map_iterator>,
boost::signals::detail::unusable, boost::single_pass_traversal_tag,
boost::signals::detail::unusable const&, long>::operator*
    (this=0x7fffffffc300) at iterator_facade.hpp:634
#30 0x00000000004d45f9 in postfix_increment_proxy (this=0x7fffffffc1bf,
    x=@0x7fffffffc300) at iterator_facade.hpp:144
#31 0x00000000004d461c in
boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Swift::MUCBookmark
const&, boost::function<void ()(Swift::MUCBookmark const&)> >,
boost::signals::detail::named_slot_map_iterator>,
boost::signals::detail::unusable, boost::single_pass_traversal_tag,
boost::signals::detail::unusable const&, long> (
    i=@0x7fffffffc300) at iterator_facade.hpp:732
#32 0x00000000004d4654 in
boost::last_value<void>::operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Swift::MUCBookmark
const&, boost::function<void ()(Swift::MUCBookmark const&)> >,
boost::signals::detail::named_slot_map_iterator> > (this=0x809b2c428,
    first=@0x7fffffffc300, last=@0x7fffffffc270) at last_value.hpp:49
#33 0x00000000004d47bb in boost::signal1<void, Swift::MUCBookmark
const&, boost::last_value<void>, int, std::less<int>,
boost::function<void ()(Swift::MUCBookmark const&)> >::operator()
(this=0x809ad24b0, a1=@0x809b5b410)
    at signal_template.hpp:354
#34 0x00000000004d29e8 in Swift::QtChatListWindow::handleItemActivated (
    this=0x809ad2480, index=@0x809b7ad00)
    at Swift/QtUI/ChatList/QtChatListWindow.cpp:76
#35 0x00000000004ffc79 in Swift::QtChatListWindow::qt_metacall (
    this=0x809ad2480, _c=QMetaObject::InvokeMetaMethod, _id=1,
    _a=0x7fffffffc520) at Swift/QtUI/ChatList/moc_QtChatListWindow.cc:87
#36 0x00000008025eea3a in QMetaObject::activate ()
   from /usr/local/lib/qt4/libQtCore.so.4
#37 0x00000008030186c5 in QAbstractItemView::activated ()
   from /usr/local/lib/qt4/libQtGui.so.4
#38 0x00000008030687e3 in QTreeView::mouseDoubleClickEvent ()
   from /usr/local/lib/qt4/libQtGui.so.4
#39 0x0000000802b1a671 in QWidget::event ()
   from /usr/local/lib/qt4/libQtGui.so.4
#40 0x0000000802eec3fb in QFrame::event ()
   from /usr/local/lib/qt4/libQtGui.so.4
#41 0x0000000802f7c6e7 in QAbstractScrollArea::viewportEvent ()
   from /usr/local/lib/qt4/libQtGui.so.4
#42 0x0000000803029125 in QAbstractItemView::viewportEvent ()
   from /usr/local/lib/qt4/libQtGui.so.4
#43 0x000000080306668b in QTreeView::viewportEvent ()
   from /usr/local/lib/qt4/libQtGui.so.4
#44 0x0000000802f7e8e8 in QAbstractScrollAreaFilter::eventFilter ()
   from /usr/local/lib/qt4/libQtGui.so.4
#45 0x00000008025d89af in
QCoreApplicationPrivate::sendThroughObjectEventFilters () from
/usr/local/lib/qt4/libQtCore.so.4
#46 0x0000000802abef70 in QApplicationPrivate::notify_helper ()
   from /usr/local/lib/qt4/libQtGui.so.4
#47 0x0000000802ac7a8e in QApplication::notify ()
#48 0x00000008025d86f4 in QCoreApplication::notifyInternal ()
   from /usr/local/lib/qt4/libQtCore.so.4
#49 0x0000000802ac1f20 in QApplicationPrivate::sendMouseEvent ()
   from /usr/local/lib/qt4/libQtGui.so.4
#50 0x0000000802b4a05e in QETWidget::translateMouseEvent ()
   from /usr/local/lib/qt4/libQtGui.so.4
#51 0x0000000802b4917f in QApplication::x11ProcessEvent ()
   from /usr/local/lib/qt4/libQtGui.so.4
#52 0x0000000802b73c08 in x11EventSourceDispatch ()
   from /usr/local/lib/qt4/libQtGui.so.4
#53 0x0000000807cf9caa in g_main_context_dispatch ()
   from /usr/local/lib/libglib-2.0.so.0
#54 0x0000000807cfa4f7 in g_main_context_dispatch ()
   from /usr/local/lib/libglib-2.0.so.0
#55 0x0000000807cfaafb in g_main_context_iteration ()
   from /usr/local/lib/libglib-2.0.so.0
#56 0x000000080260684c in QEventDispatcherGlib::processEvents ()
   from /usr/local/lib/qt4/libQtCore.so.4
#57 0x0000000802b7376f in QGuiEventDispatcherGlib::processEvents ()
   from /usr/local/lib/qt4/libQtGui.so.4
#58 0x00000008025d7a6d in QEventLoop::processEvents ()
   from /usr/local/lib/qt4/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#59 0x00000008025d7cc6 in QEventLoop::exec ()
   from /usr/local/lib/qt4/libQtCore.so.4
#60 0x00000008025d9b3e in QCoreApplication::exec ()
   from /usr/local/lib/qt4/libQtCore.so.4
#61 0x0000000000439919 in main (argc=1, argv=0x7fffffffe310)
    at Swift/QtUI/main.cpp:69

If you need more information, do not hesitate,

Cheers,

-- Mazhe


More information about the swift-users mailing list