Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crash when selecting SIP account in menu OSX #150

Closed
pdarcos opened this issue Mar 21, 2018 · 17 comments
Closed

crash when selecting SIP account in menu OSX #150

pdarcos opened this issue Mar 21, 2018 · 17 comments

Comments

@pdarcos
Copy link

pdarcos commented Mar 21, 2018

Hi all,

I've compiled from yesterday's master for OSX package and all is OK except for one annoying crash.

I'm using the Other Sip Account assistant and after I enter my correct info and click Send Linphone goes back to the Home screen with the Asssitant (no error messages or anything). When I then try to click on the current default account in the top left and then switch to my new account Linphone crashes right away (looking through the logs I can see it logs in successfully on the SIP server despite the crash).

Is this crash related to the Belle-SIP warning re object pool? How can I fix or debug further?

Thanks

018-03-21 15:50:04:088 [liblinphone] MESSAGE linphone_core_get_call_history(): completed in 0 ms
2018-03-21 15:50:04:093 [belle-sip] WARNING There is no object pool created in thread [140735571223360]. Use belle_sip_object_pool_push() to create one. Unowned objects not unref'd will be leaked.
2018-03-21 15:50:04:315 [liblinphone] MESSAGE New local ip address is 2001:xx:xx:xx:xx:e080
2018-03-21 15:50:04:315 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2018-03-21 15:50:04:315 [liblinphone] MESSAGE Media network reachability state is now [UP]
2018-03-21 15:50:04:315 [liblinphone] MESSAGE LinphoneProxyConfig [0x7fa28be20fb0] about to register (LinphoneCore version: 3.12.0-321-g08a66cdf6)
2018-03-21 15:50:04:316 [belle-sip] MESSAGE Activity started

2018-03-21 15:55:27:757 [belle-sip] MESSAGE channel [0x7ffcc49b4600]: message sent to [TLS://my.domain:443], size: [861] bytes
REGISTER sip:my.domain SIP/2.0
Via: SIP/2.0/TLS 192.168.1.80:49338;alias;branch=z9hG4bK.9iytbw8FZ;rport
From: sip:2002@my.domain;tag=itSWtpGRh
To: sip:2002@my.domain
CSeq: 21 REGISTER
Call-ID: rA809MZGUx
Max-Forwards: 70
Supported: replaces, outbound
Accept: application/sdp
Accept: text/plain
Accept: application/vnd.gsma.rcs-ft-http+xml
Contact: sip:2002@192.168.1.80:49338;transport=tls;+sip.instance="urn:uuid:e4ab8879-c29f-4d2e-a647-5e2ccd65711c"
Expires: 3600
User-Agent: Linphone Desktop/4.1.1-291-gf9cb6a1f (belle-sip/1.6.3)
Content-Length: 0
Authorization: Digest realm="my.domain", nonce="7/5c3gAAAADXf7FYAAClN/yAfbsAAAAA", algorithm=MD5, opaque="+GNywA==", username="2002", uri="sip:my.domain", response="4a89f56a4f0a3ffdf970e687f9d4b56a", cnonce="27YADxMakZeOPHUx", nc=00000001, qop=auth

2018-03-21 15:55:27:757 [belle-sip] MESSAGE Changing [client] [REGISTER] transaction [0x60c00036d680], from state [COMPLETED] to [TERMINATED]
2018-03-21 15:55:27:757 [belle-sip] MESSAGE Client internal REGISTER transaction [0x60c00036d680] terminated
2018-03-21 15:55:27:757 [belle-sip] MESSAGE transaction [0x60c00036d680]: ending transaction background task with id=[1].
2018-03-21 15:55:27:757 [belle-sip] MESSAGE channel [0x7ffcc49b4600]: ending recv background task with id=[3].
2018-03-21 15:55:27:816 [belle-sip] MESSAGE channel [0x7ffcc49b4600]: starting recv background task with id=[5].
2018-03-21 15:55:27:816 [belle-sip] MESSAGE channel [0x7ffcc49b4600]: received [602] new bytes from [TLS://my.domain:443]:
SIP/2.0 200 Registration successful
Via: SIP/2.0/TLS 192.168.1.80:49338;alias;branch=z9hG4bK.9iytbw8FZ;rport=49338;received=my.public.IP
From: sip:2002@my.domain;tag=itSWtpGRh
To: sip:2002@my.domain;tag=3B69N6p0em9FS
Call-ID: rA809MZGUx
CSeq: 21 REGISTER
Contact: sip:2002@my.public.IP:49564;transport=tls;+sip.instance="urn:uuid:d00a5f03-d0cb-4e60-ba3f-7847d4345f6f"
Contact: sip:2002@my.public.IP:49338;transport=tls;+sip.instance="urn:uuid:e4ab8879-c29f-4d2e-a647-5e2ccd65711c"
Expires: 3600
Server: Flexisip/1.0.12 (sofia-sip-nta/2.0)
Content-Length: 0

2018-03-21 15:55:27:817 [belle-sip] MESSAGE channel [0x7ffcc49b4600] [602] bytes parsed
2018-03-21 15:55:27:817 [belle-sip] MESSAGE Found transaction matching response.
2018-03-21 15:55:27:817 [belle-sip] MESSAGE Changing [client] [REGISTER] transaction [0x60000056ac80], from state [TRYING] to [COMPLETED]
2018-03-21 15:55:27:817 [belle-sip] MESSAGE Refresher [0x608000159700]: has no contact for request [0x6000000ebb00].
2018-03-21 15:55:27:817 [belle-sip] MESSAGE Refresher[0x608000159700]: scheduling next timer in 3240000 ms for purpose [normal refresh]
2018-03-21 15:55:27:817 [liblinphone] MESSAGE Register refresher [200] reason [Registration successful] for proxy [sip:my.domain;transport=tls]
2018-03-21 15:55:27:817 [liblinphone] MESSAGE Proxy config [0x7ffcc36159a0] for identity [sip:2002@my.domain] moving from state [LinphoneRegistrationProgress] to [LinphoneRegistrationOk] on core [0x7ffcc38c2600]
2018-03-21 15:55:27:817 [liblinphone] MESSAGE Updating friends for identity [sip:2002@my.domain] on core [0x7ffcc38c2600]
2018-03-21 15:55:27:818 [liblinphone] MESSAGE Linphone core [0x7ffcc38c2600] notified [registration_state_changed]
2018-03-21 15:55:27:818 [belle-sip] MESSAGE Changing [client] [REGISTER] transaction [0x60000056ac80], from state [COMPLETED] to [TERMINATED]
2018-03-21 15:55:27:818 [belle-sip] MESSAGE Client internal REGISTER transaction [0x60000056ac80] terminated
2018-03-21 15:55:27:818 [belle-sip] MESSAGE transaction [0x60000056ac80]: ending transaction background task with id=[4].
2018-03-21 15:55:27:818 [belle-sip] MESSAGE channel [0x7ffcc49b4600]: ending recv background task with id=[5].
2018-03-21 15:55:27:818 [belle-sip] MESSAGE Activity ended
2018-03-21 15:55:31:517 [belle-sip] WARNING There were still [1] object pools for thread [123145532579840] while the thread exited.

@pdarcos
Copy link
Author

pdarcos commented Mar 21, 2018

Just did a fresh git pull and compiled fine.
On first run I use the "USE A SIP ACCOUNT ASSISTANT", fill out my sip creds and all is OK.

As soon as I go to select Active Account it crashes right away.

I'm sure this is happening to others since my clean compilation produced no errors and all I did was try to use a SIP account and it crashed right away.

Any ideas?

screen shot 2018-03-21 at 5 55 07 pm

Note that it crashes as soon as I click on the selection arrow for the Active Account. Clicking on presence error seems to be ok.

@pdarcos
Copy link
Author

pdarcos commented Mar 21, 2018

The crash always shows this in the logs:

2018-03-21 18:18:04:182 [belle-sip] WARNING There were still [1] object pools for thread [123145370009600] while the thread exited.

@pdarcos
Copy link
Author

pdarcos commented Mar 22, 2018

Can someone please confirm this bug? It should be fairly simple.
Git pull, compile osx package, use other sip account, try to select it, crash.

@pdarcos
Copy link
Author

pdarcos commented Mar 23, 2018

OK, so it seems no one else compiled or cares that the app crashes consistently on Mac OSX.

Given the radio silence here I take it there's not much community support or interest, which is surprising for an open source project like Linphone.

Anyway, can someone recommend another open source SIP desktop client that has better community support?

Thanks

@WPFilmmaker
Copy link

@pdarcos I am not a developer, I am testing Linphone on Ubuntu and reporting bugs and suggesting new features, unfortunately seems that the devs are not very respondent here..but as you can see from the commits, they are actively working on the code.

What I can suggest is either try Linphone for Windows via WINE or use the dmg packages provided on the website, they are up-to-date and afak (I don't use OSX) shouldn't require compiling.
Any good reason why you prefer compiling?

@pdarcos
Copy link
Author

pdarcos commented Mar 23, 2018

Thanks @WPFilmmaker

I like compiling my own software for security reasons and also for learning.
Hopefully the devs will see that the current code has a bug and will patch it.

@WPFilmmaker
Copy link

@pdarcos You might want to try the dev mailinglist https://www.linphone.org/contact.html as it is "For questions related to Linphone's source code, patches, technical issues, submitting bugfixes"

@pdarcos
Copy link
Author

pdarcos commented Mar 26, 2018

It looks like someone else already reported a similar/same problem in the dev list.
http://lists.nongnu.org/archive/html/linphone-developers/2018-03/msg00040.html

Still no response from Belledonne confirming the bug

@ghismary
Copy link

Hi,
We are a small team with a lot of work to do and cannot afford answering every one asking questions.
Could you help us with this issue, by compiling in debug mode (./prepare.py -d) and reproducing the issue while running the application under a debugger (gdb, lldb...) and pasting here the backtrace you get when the issue happens.
Thanks a lot for reporting this issue, and if you could provide the information I ask it would really help us fix it.

@pdarcos
Copy link
Author

pdarcos commented Mar 26, 2018

Hi @ghismary ,

I understand. I don't want to give you more work but just help out this awesome project.
I'll try to compile again and get the stack traces, but you should be able to confirm this yourself in a few minutes. Just compile OSX package and try to use a SIP account when Linphone runs. You'll see the crash right away.

@pdarcos
Copy link
Author

pdarcos commented Mar 27, 2018

OK, I compiled with ./prepare.py --debug --package
Then ran make

And then when trying to run it in gdb I get the following error:

sudo gdb /Applications/Linphone.app/Contents/MacOS/linphone
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin17.3.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /Applications/Linphone.app/Contents/MacOS/linphone...(no debugging symbols found)...done.
(gdb) run
Starting program: /Applications/Linphone.app/Contents/MacOS/linphone
[New Thread 0x1203 of process 1647]
During startup program terminated with signal ?, Unknown signal.
(gdb)

It seems for some reason it is not being compiled with debug symbols even though I passed that argument in prepare.py

I will attempt to run Linphone and then attach gdb once it's launched to see what I get

@pdarcos
Copy link
Author

pdarcos commented Mar 27, 2018

OK, so this time I started linphone and then tried to attach gdb.
Linphone starts normally but as soon as I attach to the process it freezes (spinning wheel forever)

Edited to remove long log that was not relevant.

@pdarcos
Copy link
Author

pdarcos commented Mar 27, 2018

Sorry about the spammy logs. I'll put them on pastebin for easier reading.
I just did a fresh git clone a few minutes ago.
Here's the log from my prepare.py --debug --package

https://pastebin.com/GuXJ0gXt

It seems that debugging is configured:
-- Build files have been written to: /Users/myuser/Documents/Development/linphone-desktop/WORK/desktop/cmake
cmake /Users/myuser/Documents/Development/linphone-desktop/submodules/cmake-builder -DCMAKE_BUILD_TYPE=Debug

And here's the log from my make

https://paste.ee/p/erDz6

All seems good so far (any signs of problems that I may have missed?)

Install the project...
-- Install configuration: "Debug"

Now I will try to run the app and attach gdb again to see if I can finally capture the crash when selecting accounts.

@pdarcos
Copy link
Author

pdarcos commented Mar 27, 2018

OK, this time I'm trying to debug with lldb and there seems to be a problem with QT5 version and dSYM which would explain why I cannot debug.

Any ideas?

(lldb) file /Applications/Linphone.app
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtQuickControls2.framework/Versions/5/QtQuickControls2 empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtSvg.framework/Versions/5/QtSvg empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtTextToSpeech.framework/Versions/5/QtTextToSpeech empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtQuick.framework/Versions/5/QtQuick empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtQml.framework/Versions/5/QtQml empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtGui.framework/Versions/5/QtGui empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtCore.framework/Versions/5/QtCore empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: 'QtCore' contains a debug script. To run this script in this debug session:

command script import "/Users//Documents/Qt/5.10.0/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/../Python/QtCore.py"

To run all discovered debug scripts in this session:

settings set target.load-script-from-symbol-file true

warning: (x86_64) /Applications/Linphone.app/Contents/Frameworks/QtQuickTemplates2.framework/Versions/5/QtQuickTemplates2 empty dSYM file detected, dSYM was created with an executable with no debug info.
Current executable set to '/Applications/Linphone.app' (x86_64).

@pdarcos
Copy link
Author

pdarcos commented Mar 27, 2018

OK, was able to debug with lldb and the crash seems to happen because of ICE

Here's the fill trace https://pastebin.com/gFMnVrEB

Process 22875 stopped

  • thread Getting errors on prepare.py #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x18)
    frame #0: 0x0000000101519960 liblinphone++.9.dylib`linphone::NatPolicy::iceEnabled(this=0x0000000000000000) const at linphone++.cc:42

@pdarcos
Copy link
Author

pdarcos commented Mar 27, 2018

@ghismary can you confirm the bug I found when you get a chance?

Thanks

@ghismary
Copy link

@pdarcos I confirm this is fixed with commit 0513360 :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants