-
Notifications
You must be signed in to change notification settings - Fork 577
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
b2b_logic can't handle more than 300-400 CPS and has memory corruption #2425
Comments
Hi @nikbyte , Did you test this with the "top_hiding" scenario ? If not, can you also post the script logic that triggers this? |
It seems, I found a reason. I'll post pool request soon. |
I'm testing with non-top hiding, but scenario is pretty simple: create server, create client, init b2b. |
@rvlad-patrascu this helps a lot: #2426
Without this patch there is dlg->uas_tran exists, but dlg->uas_tran.uas points to released memory. With these two patches it's not crashing for me. |
@nick, could you explain a bit your fix here, please ? |
@bogdan-iancu I'm not sure that this fix is proper, it may be more workaround. But. Initial condition is if(dlg->uas_tran->uas.request) . Adding condition method_value != METHOD_BYE resolves this issue, but I'm not sure if this is a proper solution or I'm trying just to hide another issue. |
@nikbyte Do you by any chance still have any backtraces for these crashes ? |
Unfortunately not possible for the moment. :( |
From another side, you can try sipp with high cps, I think you'll see these crashes. |
@nikbyte I could not reproduce these crashes. And since you are saying that the issue is now solved with your own patches and you cannot provide any other info, I think we can close this ticket for now. Feel free to re-open this when you will be using the official 3.2 code. If the crashes persist at that point, it will confirm that the fix in aba8ae5 is not enough and you should also be able to provide backtraces. |
Hi team,
I found that if start load tests with common calls, starting from 300-400 CPS b2b_logic starts to have memory corruptions.
It's easy reproduceable in two cases:
Enable write-through db writing (db_mode=1) and you'll get corrupted dlg structures on b2bl_db_update. If enable db_mode=2 even with 1 second interval this doesn't reproduce.
From time to time call b2b_cback() in b2b_entities module crashes opensips because b2b_cback pointer points to some released memory.
Usually it occurs on BYE or final ACK when there is a large amount of requests and especially when there are retransmits.
The text was updated successfully, but these errors were encountered: