Hello all!
I use Linphone 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/: 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 network disconnection. 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 at this point 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,
lige
_______________________________________________
Linphone-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/linphone-users