Skip to content
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

Using registered() in event_route[usrloc:contact-expired] causes Kamailio to hang #577

Closed
oej opened this issue Apr 21, 2016 · 5 comments
Closed

Comments

@oej
Copy link
Member

oej commented Apr 21, 2016

In the contact-expired event route I want to check if the expired AOR is registered elsewhere, by checking replicated location tables like "location-peer". Using the registered("location-peer", "") function causes Kamailio to go to sleep and not respond to rpc commands.

@miconda
Copy link
Member

miconda commented Apr 25, 2016

What is the db_mode you tried with?

@oej
Copy link
Member Author

oej commented May 6, 2016

No DB at all

@miconda
Copy link
Member

miconda commented May 10, 2016

Using another function that tries to access the same location record that expired is trying to lock same slot in usrloc internal hash table. The solution would be implementing re-entrant locks there. I will try to do it when I get the first chance.

@oej oej added the 4.4 label May 11, 2016
miconda added a commit that referenced this issue Jun 7, 2016
- allow recursive access to the same slot
- reported by Olle E. Johansson, GH #577
@miconda
Copy link
Member

miconda commented Jun 7, 2016

I pushed a commit to master to make the locks in usrloc reentrant. No testing for reported case, would be appreciated if you can give it a try.

The changes are to a critical module, so we may need to live with this limitation until 5.0.

@miconda
Copy link
Member

miconda commented Jun 27, 2016

Closing this item as a patch was fixed a while ago. If still an issue there, re-open or create a new item.

@miconda miconda closed this as completed Jun 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants