|Subject:||[Linphone-developers] Linphone-when app loses internet connection, app crashes|
|Date:||Mon, 30 Mar 2020 15:39:49 +0300|
Hello Linphone team.
I use this library for an application in order to exchange some information with a SIP server. Everything works fine, registration of the user is executed properly on the SIP server and messages (between SIP server and the app) are exchanged as they should. However when the device loses connection to the network (mobile data and Wi-Fi), the application crashes with the following logs:
I/myAppLyn: Changing [client] [REGISTER] transaction [0xc8574720], from state [COMPLETED] to [TERMINATED]
Client internal REGISTER transaction [0xc8574720] terminated
transaction [0xc8574720]: ending transaction background task with id=[2e62].
I/myAppLyn: bellesip_wake_lock_release(): Android wake lock released [ref=0x2e62]
I/27032020: No available network!
I/myAppLyn: [Platform Helper] [Network Manager 26] A network has been lost
I/myAppLyn: [Platform Helper] No connectivity: setting network unreachable
I/myAppLyn: SIP network reachability state is now [DOWN]
I/myAppLyn: Refresher [0xe17c0300] stopped.
Destroying op [0xc5160c80] of type [SalOpRegister]
Refresher [0xe17c0300] stopped.
Transaction [0xc8574720] deleted
I/myAppLyn: Transaction [0xc3cdb480] deleted
E/myAppLyn: Object [0xc3e0ad00] freed twice or corrupted !
Object type might be [belle_sip_header_address_t]
A/myAppLyn: Fatal object error encountered, aborting.
A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 22455 (ndroid.myApp), pid 22455 (ndroid.myApp)
Process 22455 terminated.
Please note that crash happens only when a registration to the SIP server has been executed before. One registration has happened (why object freed twice?). If no registration has been preceded and app loses connection to the network, there is no problem/crash (a dialog appears to inform that there is no connection to the network)...I have checked that the Library has the OnNetworkReachable method and I have tried to manually stop the execution of the Linphone library by setting
core.setNetworkReachable(false); and then again manually set it to true when connection is restored. I also tried this with the android methods for Connectivity change listeners...but the problem remains...
Shall I destroy the core and recreate it after network is reachable?
Why does it seem to have allocated two objects?
Could you please provide some advice?
Thank you in advance for your help,
|[Prev in Thread]||Current Thread||[Next in Thread]|