linphone-desktop icon indicating copy to clipboard operation
linphone-desktop copied to clipboard

SIGSEGV: No auth info found

Open sergey-safarov opened this issue 4 years ago • 4 comments

Describe the bug I try make a call and get Linphone crash

Expected behavior Linphone does not crash.

Desktop (please complete the following information):

  • OS: [Fedora 33]
  • Version [e.g. fressh snapshot image dated by Oct 21 2021]

SDK logs linphone.log

Additional context BGP backtrace

(gdb) bt
#0  linphone::Address::getUsername[abi:cxx11]() const (this=0x0) at src/linphone++.cc:4147
#1  0x0000000000585e4b in CoreHandlers::onAuthenticationRequested (this=<optimized out>, core=..., authInfo=..., method=<optimized out>) at /builds/BC/public/linphone-desktop/linphone-app/src/components/core/CoreHandlers.cpp:63
#2  0x00007ffff790c5a2 in linphone_core_listener_on_authentication_requested_cb (core=<optimized out>, auth_info=<optimized out>, method=<optimized out>) at src/linphone++.cc:5127
#3  0x00007ffff74a95ad in linphone_core_notify_authentication_requested (lc=<optimized out>, ai=<optimized out>, method=<optimized out>) at ../../../../../../../linphone-sdk/liblinphone/coreapi/vtables.c:163
#4  0x00007ffff71a84fc in LinphonePrivate::AuthStack::processAuthRequested (this=<optimized out>) at ../../../../../../../linphone-sdk/liblinphone/src/auth-info/auth-stack.cpp:103
#5  0x00007ffff71a7f46 in LinphonePrivate::AuthStack::onTimeout (data=0x7fffffffd090, events=0) at ../../../../../../../linphone-sdk/liblinphone/src/auth-info/auth-stack.cpp:121
#6  0x00007ffff3380269 in belle_sip_main_loop_iterate (ml=<optimized out>) at ../../../../../../../linphone-sdk/belle-sip/src/belle_sip_loop.c:697
#7  belle_sip_main_loop_run (ml=<optimized out>) at ../../../../../../../linphone-sdk/belle-sip/src/belle_sip_loop.c:753
#8  0x00007ffff338052f in belle_sip_main_loop_sleep (ml=0x1645a20, milliseconds=0) at ../../../../../../../linphone-sdk/belle-sip/src/belle_sip_loop.c:766
#9  0x00007ffff747aae2 in LinphonePrivate::Sal::iterate (this=0x7fffffffd080) at ../../../../../../../linphone-sdk/liblinphone/src/sal/sal.h:137
#10 linphone_core_iterate (lc=0x15ee220) at ../../../../../../../linphone-sdk/liblinphone/coreapi/linphonecore.c:4022
#11 0x000000000058c734 in CoreManager::iterate (this=0x1232020) at /builds/BC/public/linphone-desktop/linphone-app/src/components/core/CoreManager.cpp:362
#12 0x00007ffff498e6bb in QMetaObject::activate(QObject*, int, int, void**) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#13 0x00007ffff499b017 in QTimer::timeout(QTimer::QPrivateSignal) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#14 0x00007ffff499b308 in QTimer::timerEvent(QTimerEvent*) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#15 0x00007ffff498f28b in QObject::event(QEvent*) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#16 0x00007ffff56f0e7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Widgets.so.5
#17 0x00007ffff56f7fd4 in QApplication::notify(QObject*, QEvent*) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Widgets.so.5
#18 0x00007ffff49619d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#19 0x00007ffff49b8d09 in QTimerInfoList::activateTimers() () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#20 0x00007ffff49b94e9 in ?? () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#21 0x00007fffec656a9f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#22 0x00007fffec6a8a98 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#23 0x00007fffec653e73 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#24 0x00007ffff49b982f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#25 0x00007ffff496027a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#26 0x00007ffff4968ce0 in QCoreApplication::exec() () from /tmp/.mount_Linphob46XKm/usr/bin/../lib/libQt5Core.so.5
#27 0x00000000004c2afd in main (argc=<optimized out>, argv=<optimized out>) at /builds/BC/public/linphone-desktop/linphone-app/src/app/main.cpp:46

Full backtrace in the log above.

sergey-safarov avatar Oct 22 '21 17:10 sergey-safarov

Contact: <sip:192.168.1.6:5860;transport=udp>;+sip.instance="urn:uuid:0af7a5b2-bbfa-00cb-88d0-1c1066be51e9" What is that? This is not a sip address.

julonexus avatar Nov 03 '21 20:11 julonexus

Why?

sip:192.168.1.6:5860;transport=udp

192.168.1.6 - my local IP 5860 - port listened by Linphone

[20:00:07:791][Info]Core:linphone: Creating listening point [0x182bc50] on [sip:0.0.0.0:5860;transport=UDP]
[20:00:07:791][Info]Core:linphone: Creating listening point [0x182b440] on [sip:0.0.0.0:5860;transport=TCP]

transport=udp - Linphone want to use UDP socket to peer communication

What is wrong????

sergey-safarov avatar Nov 03 '21 21:11 sergey-safarov

oops I guess I was too quickly to answer ;) If it crashes on getUsername(), I think that this is not robust on contact/config without username.

julonexus avatar Nov 03 '21 21:11 julonexus

I do not understand Linphone internal structures and cannot comment about what is wrong. For me, it looks like a NULL value dereferencing here. And required to add NULL value check here. If NULL, then output some addition log with error level. And exit from the function with error code.

This will allow making additional troubleshooting in the future.

sergey-safarov avatar Nov 04 '21 07:11 sergey-safarov