You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by niq <gi...@git.apache.org> on 2016/09/11 23:02:19 UTC

[GitHub] trafficserver pull request #1006: TS-3743: Avoid crash due to accessing dead...

GitHub user niq opened a pull request:

    https://github.com/apache/trafficserver/pull/1006

    TS-3743: Avoid crash due to accessing dead session under load

    Patch by Sam Baskinger

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/niq/trafficserver TS-3743

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/trafficserver/pull/1006.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 #1006
    
----
commit a30ed2c69250a0d092efdb0b931bd5f007d2aa93
Author: Nick Kew <ni...@apache.org>
Date:   2016-09-11T22:55:06Z

    TS-3743: Avoid crash due to accessing dead session under load
    Patch by Sam Baskinger

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1006: TS-3743: Avoid crash due to accessing dead sessio...

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1006
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/778/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1006: TS-3743: Avoid crash due to accessing dead sessio...

Posted by bryancall <gi...@git.apache.org>.
Github user bryancall commented on the issue:

    https://github.com/apache/trafficserver/pull/1006
  
    Please clang format the change.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1006: TS-3743: Avoid crash due to accessing dead sessio...

Posted by SolidWallOfCode <gi...@git.apache.org>.
Github user SolidWallOfCode commented on the issue:

    https://github.com/apache/trafficserver/pull/1006
  
    What is the use case for this? Can this happen with just HTTP/1 clients or only with HTTP/2? 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1006: TS-3743: Avoid crash due to accessing dead sessio...

Posted by zwoop <gi...@git.apache.org>.
Github user zwoop commented on the issue:

    https://github.com/apache/trafficserver/pull/1006
  
    Clang format i think 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request #1006: TS-3743: Avoid crash due to accessing dead...

Posted by PSUdaemon <gi...@git.apache.org>.
Github user PSUdaemon commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1006#discussion_r80768787
  
    --- Diff: proxy/http/HttpSM.cc ---
    @@ -6254,7 +6258,11 @@ HttpSM::setup_internal_transfer(HttpSMHandler handler_arg)
       tunnel.add_consumer(ua_entry->vc, HTTP_TUNNEL_STATIC_PRODUCER, &HttpSM::tunnel_handler_ua, HT_HTTP_CLIENT, "user agent");
     
       ua_entry->in_tunnel = true;
    -  tunnel.tunnel_run(p);
    +
    +  // Only actually try to do this on live sessions.
    +  if (ua_session->m_active) {
    --- End diff --
    
    Can we become active between line 6172 and line 6263?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1006: TS-3743: Avoid crash due to accessing dead sessio...

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1006
  
    Linux build *failed*! See https://ci.trafficserver.apache.org/job/Github-Linux/674/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request #1006: TS-3743: Avoid crash due to accessing dead...

Posted by PSUdaemon <gi...@git.apache.org>.
Github user PSUdaemon commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1006#discussion_r80768963
  
    --- Diff: proxy/http/HttpSM.cc ---
    @@ -6254,7 +6258,11 @@ HttpSM::setup_internal_transfer(HttpSMHandler handler_arg)
       tunnel.add_consumer(ua_entry->vc, HTTP_TUNNEL_STATIC_PRODUCER, &HttpSM::tunnel_handler_ua, HT_HTTP_CLIENT, "user agent");
     
       ua_entry->in_tunnel = true;
    -  tunnel.tunnel_run(p);
    +
    +  // Only actually try to do this on live sessions.
    +  if (ua_session->m_active) {
    --- End diff --
    
    Oh, what @SolidWallOfCode said!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1006: TS-3743: Avoid crash due to accessing dead sessio...

Posted by SolidWallOfCode <gi...@git.apache.org>.
Github user SolidWallOfCode commented on the issue:

    https://github.com/apache/trafficserver/pull/1006
  
    Looking that the checks for `m_active` there is an apparently assumption that the value can change over the course of the `HttpSM::setup_internal_transfer`. Give the instance pointed at by `ua_session` should be locked along with the `HttpSM` instance, how can that happen? Even without locks any such change must happen in another thread in which case the member really needs to be `volatile`.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---