-
Notifications
You must be signed in to change notification settings - Fork 12
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
app_rpt: "fast hangup" crashing with latest dev. #459
Comments
This is the offending code: Lines 6848 to 6852 in e4dee90
Commenting it out eliminates the crash but we end up with a Max retries error indefinitely:
This is only occurring when the "fast" disconnect situation is triggered. |
Not really sure this is the right way, but This is my current "test" code:
|
Are you sure this is the right coredump? This appears to be caused by something different:
Perhaps this is incidentally caused by the hard hangup issue. The backtrace says SIGSEGV, so somehow there is an issue here. My guess is some kind of invalid memory access since the crashing function already does a NULL check. I have a suspicion about how the problem might be resolvable. Are you able to easily or at least periodically reproduce this, to test a patch? Ultimately, this seems to be caused by |
Okay, I see the log messages in a thread, so it is right. Unfortunately, LWP 420715 isn't present in the core dump, so whatever thread triggered the issue had exited by the time the backtrace was generated. To force a crash while the thread exists, can you do the following: Go to channel.c line 2630. Assuming you are compiled with dev mode, that should force a crash there. If you could upload the backtrace from that, that would be great. I'd like to confirm if the offending thread is an app_rpt thread or something else. |
@InterLinked1 - your looking to add an assert in asterisk base code channel.c (right?) There is already and There are 2 scenarios for crashes (I made sure to grab each one after the specific crash - so they should be right this time): PR without modifications:
core-asterisk-2025-01-20T16-24-06Z-full.txt Scenario #2: changing to
core-asterisk-2025-01-20T16-17-41Z-brief.txt IF I change Also, I'm thinking we have a problem with how link pointers are freed up -> it looks like we remove the link from the repeater linked list, and free the memory based on Lines 3270 to 3291 in e4dee90
We probably also need to be even more careful looking at link pointers than may have been freed already (basically everywhere?) |
Okay, I see. Could you run |
Never mind, I see it's the same thread that's logging it in fact. |
There is quite a bit of additional code beyond what I had tested earlier in PR #451
Now when executing the "fast disconnect" test I receive this crash:
core-asterisk-2025-01-20T00-24-50Z-full.txt
core-asterisk-2025-01-20T00-24-50Z-locks.txt
core-asterisk-2025-01-20T00-24-50Z-brief.txt
core-asterisk-2025-01-20T00-24-50Z-info.txt
The text was updated successfully, but these errors were encountered: