Description
The plugin message callback for the lifecycle hook is called from a special core thread which is not an EThread. Because of this debug assertions fail in TSContSchedule (and other API calls) because mutex operations fail due to the lack of EThread.
Attachments
Issue Links
- links to
Activity
Alan M. Carroll
created issue -
Bryan Call
made changes -
Field | Original Value | New Value |
---|---|---|
Backport to Version | 7.0.0 [ 12325951 ] | |
Fix Version/s | 7.1.0 [ 12337879 ] | |
Assignee | Alan M. Carroll [ amc ] |
Bryan Call
made changes -
Summary | Debug asserts fail when trying to schedule a continuation from a lifecycle plugin message hook. | Debug asserts fail when trying to schedule a continuation from a lifecycle plugin message hook |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 16:19
-
- Time Spent:
- 10m
-
GitHub user SolidWallOfCode opened a pull request:
https://github.com/apache/trafficserver/pull/1103
TS-4966: Fix process manager thread to support TS API.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/SolidWallOfCode/trafficserver ts-4966
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/trafficserver/pull/1103.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1103
----
commit 29f79603d7b15a496e7145fb1c00aa98dd6c3ba8
Author: Alan M. Carroll <solidwallofcode@yahoo-inc.com>
Date: 2016-10-13T16:08:57Z
TS-4966: Fix process manager thread to support TS API.
----
ASF GitHub Bot
made changes -
Worklog Id | 30581 [ 30581 ] | |
Remaining Estimate | 0h [ 0 ] | |
Time Spent | 10m [ 600 ] |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 16:33
-
- Time Spent:
- 10m
-
Github user atsci commented on the issue:
https://github.com/apache/trafficserver/pull/1103
FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/997/ for details.
ASF GitHub Bot
made changes -
Worklog Id | 30582 [ 30582 ] | |
Time Spent | 10m [ 600 ] | 20m [ 1200 ] |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 16:34
-
- Time Spent:
- 10m
-
Github user atsci commented on the issue:
https://github.com/apache/trafficserver/pull/1103
Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/889/ for details.
ASF GitHub Bot
made changes -
Worklog Id | 30583 [ 30583 ] | |
Time Spent | 20m [ 1200 ] | 0.5h [ 1800 ] |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 16:59
-
- Time Spent:
- 10m
-
Github user atsci commented on the issue:
https://github.com/apache/trafficserver/pull/1103
FreeBSD build *failed*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/998/ for details.
ASF GitHub Bot
made changes -
Worklog Id | 30587 [ 30587 ] | |
Time Spent | 0.5h [ 1800 ] | 40m [ 2400 ] |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 17:04
-
- Time Spent:
- 10m
-
Github user atsci commented on the issue:
https://github.com/apache/trafficserver/pull/1103
Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/890/ for details.
ASF GitHub Bot
made changes -
Worklog Id | 30588 [ 30588 ] | |
Time Spent | 40m [ 2400 ] | 50m [ 3000 ] |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 17:27
-
- Time Spent:
- 10m
-
Github user SolidWallOfCode commented on the issue:
https://github.com/apache/trafficserver/pull/1103
Had to fiddle with the call to `ProcessManager::start` due to casting issues with the function type. Rather than deal with that, I reverted to using the lambda which works on all C++ 11 compilers.
ASF GitHub Bot
made changes -
Worklog Id | 30595 [ 30595 ] | |
Time Spent | 50m [ 3000 ] | 1h [ 3600 ] |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 17:38
-
- Time Spent:
- 10m
-
Github user atsci commented on the issue:
https://github.com/apache/trafficserver/pull/1103
FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1002/ for details.
ASF GitHub Bot
made changes -
Worklog Id | 30598 [ 30598 ] | |
Time Spent | 1h [ 3600 ] | 1h 10m [ 4200 ] |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 17:39
-
- Time Spent:
- 10m
-
Github user atsci commented on the issue:
https://github.com/apache/trafficserver/pull/1103
Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/894/ for details.
ASF GitHub Bot
made changes -
Worklog Id | 30599 [ 30599 ] | |
Time Spent | 1h 10m [ 4200 ] | 1h 20m [ 4800 ] |
ASF GitHub Bot
made changes -
Remote Link | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] | This issue links to "GitHub Pull Request #1103 (Web Link)" [ 58616 ] |
ASF GitHub Bot
logged work - 13/Oct/16 19:20
-
- Time Spent:
- 10m
-
Github user SolidWallOfCode closed the pull request at:
https://github.com/apache/trafficserver/pull/1103
ASF GitHub Bot
made changes -
Worklog Id | 30609 [ 30609 ] | |
Time Spent | 1h 20m [ 4800 ] | 1.5h [ 5400 ] |
Alan M. Carroll
made changes -
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Resolved [ 5 ] |
There are two issues here. One is that the thread for the lifecycle callbacks for plugin messages should be an EThread to make this easier. This thread is started as a special case via startProcessManager::start.
The other issue is why PLUGIN_FORCE_SCOPED_MUTEX locks the mutex. I can see no reason to do that, since the continuation is guaranteed to be called in a different scope and the lock is not required to be held to schedule the continuation.