-
Notifications
You must be signed in to change notification settings - Fork 384
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
segmentation fault on playing pcap file ( sipp 3.7.2 ) #673
Comments
I tried to extract issue to following scenarios. When call rate is set to 10CPS - everything works on my machine. When I switch to 100CPS it crashes g711PCMUstream.zip please dont mind uac crashing - it crashes because connection is reset by peer |
Hi! Observe the same behaviour
This crushes sipp with segmentation fault when increase CPS over 35-40, concurrent calls ~ 1500. |
@orgads I'm considering whether the best solution here might be to revert #521 The high-level problem with the PR is that it changes the pcap play and RTP stream actions to hold per-call variables, but without changing the underlying control blocks to represent that. Instead, the action that is still in use for previous calls are partially freed before being altered and reused for a new call. The issues I've identified coming from this are:
How crucial is #521 to you? I count at least 6 users from the issues (me included) who have hit this, and it seems to me that the best way to resolve this for now would be to remove the PR, either pending a suitable reworking to resolve the issues above, or indefinitely if the feature isn't important enough. |
I need it. We use it all the time. Is it too hard to fix? |
Point 3 above isn't fixable - it turns the PCAP handling from O(1) to O(N), where N=concurrent calls. It intrinsically changes the scalability of running SIPp with media. The other three points (1,2,4) would be resolvable, but it's at the scale of the fix being bigger than the initial code changes. I'm surprised you don't have issues; what sort of scenarios are you running? Do you run concurrent media streams using PCAP play? |
Is it only for pcap? we use wav streaming. |
You may revert the change. I'll try to look into it if I find the time for it. |
Looks like WAV files use RTPStream rather than PCAP play? When I looked at the effect of the code changes, it looks like RTPStream doesn't suffer the same issues as the PCAP play: Some logic in rtpstream.cpp suggests each individual file is cached (rather than one per call even if they're the same), that the same use-after-free issues are avoided. I could remove the feature for PCAP play without removing for RTPStream? |
Sure, thank you. |
Hello,
I have a scenario where both UAC and UAS are playing 10 sec audio. I noticed that sometimes UAS part crashes. When I executed it with valgrind this is what I found:
also stack trace points to similar
i suspect (and I might be wrong) that the issue is that the call is shorter than the audio file. Or there is another race condition or my scripts (attached in separate message) are wrong.
The text was updated successfully, but these errors were encountered: