[Home]

Summary:ASTERISK-25211: Prevent timer_pthread from loading with non-compliant systems
Reporter:Olle Johansson (oej)Labels:
Date Opened:2015-06-30 08:50:38Date Closed:2017-04-24 14:02:34
Priority:MinorRegression?
Status:Closed/CompleteComponents:Resources/res_timing_pthread
Versions:11.19.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:
Description:Yesterday I spent quite a long time trying to get Asterisk 11 working on a Linux system using a 2.6.18 kernel. I noticed that there was no outbound RTP packets, SIP channels failed miserably to kill themselves and conferences with confbridge did not start.

It turned out that if I unload res_timing_pthread the RTP and SIP stuff started working again. Timer test showed that the pthread timer did not work.

This caused a LOT of issues and makes me wonder if we really should even load res_timing_pthread on systems where we know it doesn't work.
Comments:By: Asterisk Team (asteriskteam) 2015-06-30 08:50:39.460-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Matt Jordan (mjordan) 2015-06-30 08:55:19.815-0500

[~oej]: Was the version 11.19.0? In older versions of Asterisk 11, there are known issues with {{res_timing_pthread}} (aka: deadlock).

Otherwise, I would say that this doesn't make much sense. The pthread timer - while not super-accurate - is useful in that it should work on any system that supports pthreads. If your system doesn't support pthreads, then I'd suspect that Asterisk itself wouldn't work very well. In fact, given the fact that it should work on any Posix thread compliant machine, I'm not sure how we could determine if a system could not support it.

Note that timers already have a priority order, and {{res_timing_pthread}} is the lowest. {{res_timing_timerfd}} - which is preferred - should be run so long as you are using a relatively recent Linux kernel.

Without more information, it's hard to say why {{res_timing_pthread}} wouldn't work on that particular machine. A backtrace showing the state of the threads would be helpful.

By: Asterisk Team (asteriskteam) 2015-07-14 12:00:18.621-0500

Suspended due to lack of activity. This issue will be automatically re-opened if the reporter posts a comment. If you are not the reporter and would like this re-opened please create a new issue instead. If the new issue is related to this one a link will be created during the triage process. Further information on issue tracker usage can be found in the Asterisk Issue Guidlines [1].

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines