Giter VIP home page Giter VIP logo

Comments (2)

juha-h avatar juha-h commented on May 27, 2024

Forgot to mention that the crash happens after the call has been closed:

08-22 07:35:06.899 32601 32601 D Baresip : ua event (CALL_CLOSED) OK
08-22 07:35:06.904 32601 32619 D Baresip : sip:[email protected]: Call with sip:[email protected] terminated (duration: 4 sec)
08-22 07:35:06.907 32601 32618 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xb5b5b5c1 in tid 32618 (Thread-2)

and does not happen with all calls. I have not seen it with calls over the same LAN, but only with some "long distance" calls that have longer delays and where signaling and audio go over different paths (audio involves media relay). This may mean that some audio packets arrive after the call has been closed and cause the crash.

from baresip-android.

juha-h avatar juha-h commented on May 27, 2024

I found from stackoverflow a function that can be used to test (on Android) if pointer is valid. I added the function (isValidPtr) to audio.c and used it to test le in audio.c/ aurx_stream_decode():

	/* Process exactly one audio-frame in reverse list order */
	for (le = rx->filtl.tail; le; le = le->prev) {
		struct aufilt_dec_st *st;
		if (isValidPtr(le, 4) == 0) {
			warning("audio: le is NOT valid pointer\n");
		} else {
			info("audio: le is valid pointer\n");
		}
		st = le->data;

And yes, when crash happens the pointer test fails:

08-23 10:26:09.945  3334  3361 D Baresip : sip:[email protected]: Call with sip:[email protected] terminated (duration: 1 sec)
08-23 10:26:09.950  3334  3361 D Baresip : audio: le is NOT valid pointer
08-23 10:26:09.951  3334  3360 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xb5b5b5c1 in tid 3360 (Thread-2)

This seems to prove that the crash really happens in audio.c and that there is a bug somewhere in baresip code. I'll move this to issue to baresip-android to baresip, since I don't think that the bug is android specific.

from baresip-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.