segfault during call hangup
Affects: latest LRC/GNOME client master
My GNU/Linux GNOME client crashed (segfault) during a call hangup.
ASan stacktrace:
(gnome-ring:3643): Gtk-WARNING **: Theme parsing error: <data>:1:652: Missing name of pseudo-class
** (gnome-ring:3643): DEBUG: call has status Talking, hiding
** (gnome-ring:3643): DEBUG: call has status Talking, hiding
** (gnome-ring:3643): DEBUG: call has status Talking, hiding
slotCallStateChanged, call: 10000172967648819012 - state: FAILURE
slotCallStateChanged, call: 10000172967648819012 - state: OVER
Call State Changed for call "10000172967648819012" . New state : "FAILURE"
Call found Call(0x603000d50850) "Ringing"
State changing from "Ringing" to "Failed" on Call(0x603000d50850)
Starting call. callId : Call(0x603000d50850) ConfId: Call(0x603000d50850)
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Calling stateChanged "FAILURE" -> 6 on call with state "Ringing" . Become "Failed"
Call State Changed for call "10000172967648819012" . New state : "OVER"
Call found Call(0x603000d50850) "Failed"
Origin and destination states are identical "Failed" "Failed" doing nothing Call(0x603000d50850)
Calling stateChanged "OVER" -> 7 on call with state "Failed" . Become "Failed"
Call State Changed for call "13304699374124811861" . New state : "CONNECTING"
slotCallStateChanged, call: 379597161990976675 - state: HUNGUP
ASAN:SIGSEGV
=================================================================
==3643==ERROR: AddressSanitizer: SEGV on unknown address 0x61105200008a (pc 0x7ff4518ac1ee bp 0x7ffeeb261610 sp 0x7ffeeb260d98 T0)
#0 0x7ff4518ac1ed (/lib/x86_64-linux-gnu/libc.so.6+0x16f1ed)
#1 0x7ff45960f74e in memcmp (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x7774e)
#2 0x4ba225 in std::char_traits<char>::compare(char const*, char const*, unsigned long) /usr/include/c++/5/bits/char_traits.h:262
#3 0x4d825e in __gnu_cxx::__enable_if<std::__is_char<char>::__value, bool>::__type std::operator==<char>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/5/bits/basic_string.h:4914
#4 0x5ad60c in webkit_chat_container_ready(_ChatView*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, lrc::api::interaction::Info)#2}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, lrc::api::interaction::Info) const (/usr/bin/gnome-ring+0x5ad60c)
#5 0x5b07ae in call /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:495
#6 0x5b0383 in call<QtPrivate::List<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long unsigned int, const lrc::api::interaction::Info&>, void> /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:552
#7 0x5b020e in impl /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:192
#8 0x7ff4569cabae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#9 0x7ff458f6eaf8 in lrc::api::ConversationModel::interactionStatusUpdated(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, lrc::api::interaction::Info const&) const /home/hlefeuvre/Development/ring-lrc/build/api/moc_conversationmodel.cpp:238
#10 0x7ff458f66c10 in lrc::ConversationModelPimpl::addOrUpdateCallMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/hlefeuvre/Development/ring-lrc/src/conversationmodel.cpp:1544
#11 0x7ff458f65ecf in lrc::ConversationModelPimpl::slotCallEnded(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/hlefeuvre/Development/ring-lrc/src/conversationmodel.cpp:1494
#12 0x7ff458f92849 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, void, void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::call(void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), lrc::ConversationModelPimpl*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501
#13 0x7ff458f8d6b4 in void QtPrivate::FunctionPointer<void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::call<QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, void>(void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), lrc::ConversationModelPimpl*, void**) (/usr/lib/libringclient.so.1.0.0+0x7296b4)
#14 0x7ff458f87046 in QtPrivate::QSlotObject<void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
#15 0x7ff4569cabae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#16 0x7ff458f3e121 in lrc::api::NewCallModel::callEnded(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /home/hlefeuvre/Development/ring-lrc/build/api/moc_newcallmodel.cpp:198
#17 0x7ff458f3c060 in lrc::NewCallModelPimpl::slotCallStateChanged(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) /home/hlefeuvre/Development/ring-lrc/src/newcallmodel.cpp:422
#18 0x7ff458f4742d in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int>, void, void (lrc::NewCallModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)>::call(void (lrc::NewCallModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int), lrc::NewCallModelPimpl*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501
#19 0x7ff458f45eda in void QtPrivate::FunctionPointer<void (lrc::NewCallModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)>::call<QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int>, void>(void (lrc::NewCallModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int), lrc::NewCallModelPimpl*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:520
#20 0x7ff458f43e0e in QtPrivate::QSlotObject<void (lrc::NewCallModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int), QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
#21 0x7ff4569cabae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#22 0x7ff4590e1231 in lrc::CallbacksHandler::callStateChanged(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) /home/hlefeuvre/Development/ring-lrc/build/moc_callbackshandler.cpp:618
#23 0x7ff459018cf4 in lrc::CallbacksHandler::slotCallStateChanged(QString const&, QString const&, int) /home/hlefeuvre/Development/ring-lrc/src/callbackshandler.cpp:232
#24 0x7ff4590214c5 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<QString const&, QString const&, int>, void, void (lrc::CallbacksHandler::*)(QString const&, QString const&, int)>::call(void (lrc::CallbacksHandler::*)(QString const&, QString const&, int), lrc::CallbacksHandler*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501
#25 0x7ff45901f58f in void QtPrivate::FunctionPointer<void (lrc::CallbacksHandler::*)(QString const&, QString const&, int)>::call<QtPrivate::List<QString const&, QString const&, int>, void>(void (lrc::CallbacksHandler::*)(QString const&, QString const&, int), lrc::CallbacksHandler*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:520
#26 0x7ff45901e5ea in QtPrivate::QSlotObject<void (lrc::CallbacksHandler::*)(QString const&, QString const&, int), QtPrivate::List<QString const&, QString const&, int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
#27 0x7ff4569cabae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#28 0x7ff4590bfac9 in CallManagerInterface::callStateChanged(QString const&, QString const&, int) /home/hlefeuvre/Development/ring-lrc/build/callmanager_dbus_interface.moc:656
#29 0x7ff4590bb3ee in CallManagerInterface::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/hlefeuvre/Development/ring-lrc/build/callmanager_dbus_interface.moc:332
#30 0x7ff4590bf6ef in CallManagerInterface::qt_metacall(QMetaObject::Call, int, void**) /home/hlefeuvre/Development/ring-lrc/build/callmanager_dbus_interface.moc:628
#31 0x7ff45a69c912 (/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5+0x20912)
#32 0x7ff4569cbc00 in QObject::event(QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b5c00)
#33 0x7ff45699c36b in QCoreApplication::notifyInternal(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x28636b)
#34 0x7ff45699e785 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x288785)
#35 0x7ff4569f23c2 (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2dc3c2)
#36 0x7ff456c36196 in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a196)
#37 0x7ff456c363ef (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a3ef)
#38 0x7ff456c3649b in g_main_context_iteration (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a49b)
#39 0x7ff4571fdd7c in g_application_run (/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0+0xadd7c)
#40 0x4b5414 in main /home/hlefeuvre/Development/ring-client-gnome/src/main.cpp:37
#41 0x7ff45175d82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#42 0x4b5068 in _start (/usr/bin/gnome-ring+0x4b5068)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ??:0 ??
==3643==ABORTING