[jira] [Work logged] (TS-4729) clang-analyzer: Dead assignment in Http2Stream

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4729?focusedWorklogId=26275=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26275
 ]

ASF GitHub Bot logged work on TS-4729:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 03:28
Start Date: 10/Aug/16 03:28
Worklog Time Spent: 10m 
  Work Description: Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/847
  
Linux build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-Linux/411/ for details.
 



Issue Time Tracking
---

Worklog Id: (was: 26275)
Time Spent: 40m  (was: 0.5h)

> clang-analyzer: Dead assignment in Http2Stream
> --
>
> Key: TS-4729
> URL: https://issues.apache.org/jira/browse/TS-4729
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
>Assignee: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> {noformat}
> Bug Summary
> File: Http2Stream.cc
> Location: line 508, column 9
> Description:  Value stored to 'is_done' is never read
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver issue #847: TS-4729: Remove dead assaignment in Http2Stream

2016-08-09 Thread atsci
Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/847
  
Linux build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-Linux/411/ 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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4729) clang-analyzer: Dead assignment in Http2Stream

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4729?focusedWorklogId=26274=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26274
 ]

ASF GitHub Bot logged work on TS-4729:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 03:23
Start Date: 10/Aug/16 03:23
Worklog Time Spent: 10m 
  Work Description: Github user atsci commented on the issue:

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



Issue Time Tracking
---

Worklog Id: (was: 26274)
Time Spent: 0.5h  (was: 20m)

> clang-analyzer: Dead assignment in Http2Stream
> --
>
> Key: TS-4729
> URL: https://issues.apache.org/jira/browse/TS-4729
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
>Assignee: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> {noformat}
> Bug Summary
> File: Http2Stream.cc
> Location: line 508, column 9
> Description:  Value stored to 'is_done' is never read
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver issue #847: TS-4729: Remove dead assaignment in Http2Stream

2016-08-09 Thread atsci
Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/847
  
FreeBSD build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-FreeBSD/514/ 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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4729) clang-analyzer: Dead assignment in Http2Stream

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4729?focusedWorklogId=26273=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26273
 ]

ASF GitHub Bot logged work on TS-4729:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 03:21
Start Date: 10/Aug/16 03:21
Worklog Time Spent: 10m 
  Work Description: Github user zwoop commented on the issue:

https://github.com/apache/trafficserver/pull/847
  
I assume is_done is still in use elsewhere. 
 


Issue Time Tracking
---

Worklog Id: (was: 26273)
Time Spent: 20m  (was: 10m)

> clang-analyzer: Dead assignment in Http2Stream
> --
>
> Key: TS-4729
> URL: https://issues.apache.org/jira/browse/TS-4729
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
>Assignee: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> {noformat}
> Bug Summary
> File: Http2Stream.cc
> Location: line 508, column 9
> Description:  Value stored to 'is_done' is never read
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver issue #847: TS-4729: Remove dead assaignment in Http2Stream

2016-08-09 Thread zwoop
Github user zwoop commented on the issue:

https://github.com/apache/trafficserver/pull/847
  
I assume is_done is still in use elsewhere. 
👍 


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Updated] (TS-4729) clang-analyzer: Dead assignment in Http2Stream

2016-08-09 Thread Masaori Koshiba (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Masaori Koshiba updated TS-4729:

Fix Version/s: 7.0.0

> clang-analyzer: Dead assignment in Http2Stream
> --
>
> Key: TS-4729
> URL: https://issues.apache.org/jira/browse/TS-4729
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
>Assignee: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {noformat}
> Bug Summary
> File: Http2Stream.cc
> Location: line 508, column 9
> Description:  Value stored to 'is_done' is never read
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work logged] (TS-4729) clang-analyzer: Dead assignment in Http2Stream

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4729?focusedWorklogId=26272=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26272
 ]

ASF GitHub Bot logged work on TS-4729:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 03:14
Start Date: 10/Aug/16 03:14
Worklog Time Spent: 10m 
  Work Description: GitHub user masaori335 opened a pull request:

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

TS-4729: Remove dead assaignment in Http2Stream

[TS-4729](https://issues.apache.org/jira/browse/TS-4729)

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

$ git pull https://github.com/masaori335/trafficserver ts-4729

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

https://github.com/apache/trafficserver/pull/847.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 #847


commit dd48279f66d503312c3f3b5a1ad534bda5d3a65c
Author: Masaori Koshiba 
Date:   2016-08-10T03:06:54Z

TS-4729: Remove dead assaignment in Http2Stream




Issue Time Tracking
---

Worklog Id: (was: 26272)
Time Spent: 10m
Remaining Estimate: 0h

> clang-analyzer: Dead assignment in Http2Stream
> --
>
> Key: TS-4729
> URL: https://issues.apache.org/jira/browse/TS-4729
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
>Assignee: Masaori Koshiba
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {noformat}
> Bug Summary
> File: Http2Stream.cc
> Location: line 508, column 9
> Description:  Value stored to 'is_done' is never read
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver pull request #847: TS-4729: Remove dead assaignment in Http2St...

2016-08-09 Thread masaori335
GitHub user masaori335 opened a pull request:

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

TS-4729: Remove dead assaignment in Http2Stream

[TS-4729](https://issues.apache.org/jira/browse/TS-4729)

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

$ git pull https://github.com/masaori335/trafficserver ts-4729

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

https://github.com/apache/trafficserver/pull/847.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 #847


commit dd48279f66d503312c3f3b5a1ad534bda5d3a65c
Author: Masaori Koshiba 
Date:   2016-08-10T03:06:54Z

TS-4729: Remove dead assaignment in Http2Stream




---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Assigned] (TS-4729) clang-analyzer: Dead assignment in Http2Stream

2016-08-09 Thread Masaori Koshiba (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Masaori Koshiba reassigned TS-4729:
---

Assignee: Masaori Koshiba

> clang-analyzer: Dead assignment in Http2Stream
> --
>
> Key: TS-4729
> URL: https://issues.apache.org/jira/browse/TS-4729
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
>Assignee: Masaori Koshiba
>
> {noformat}
> Bug Summary
> File: Http2Stream.cc
> Location: line 508, column 9
> Description:  Value stored to 'is_done' is never read
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-4729) clang-analyzer: Dead assignment in Http2Stream

2016-08-09 Thread Masaori Koshiba (JIRA)
Masaori Koshiba created TS-4729:
---

 Summary: clang-analyzer: Dead assignment in Http2Stream
 Key: TS-4729
 URL: https://issues.apache.org/jira/browse/TS-4729
 Project: Traffic Server
  Issue Type: Bug
  Components: HTTP/2
Reporter: Masaori Koshiba


{noformat}
Bug Summary

File:   Http2Stream.cc
Location:   line 508, column 9
Description:Value stored to 'is_done' is never read
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26271=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26271
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:51
Start Date: 10/Aug/16 02:51
Worklog Time Spent: 10m 
  Work Description: Github user SolidWallOfCode commented on a diff in the 
pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74178621
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+

[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26270=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26270
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:50
Start Date: 10/Aug/16 02:50
Worklog Time Spent: 10m 
  Work Description: Github user SolidWallOfCode commented on a diff in the 
pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74178543
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+

[GitHub] trafficserver pull request #843: [TS-4723] ATS CARP Plugin

2016-08-09 Thread SolidWallOfCode
Github user SolidWallOfCode commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74178543
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+if(strncmp(ptr,"http://",7) == 0) {
+  ptr += 7;
+} else if(strncmp(ptr,"https://",8) == 0) {
+  ptr += 8;
+}
+
+char* ptemp = ptr; // start of host
+//find white space or ':' or '/'
+while (*ptr && !isspace(*ptr) && *ptr != ':' && *ptr != '/') ++ptr;
+
+*sHost = string(ptemp, (ptr - ptemp));
+// skip white space (if any) after 

[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26269=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26269
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:48
Start Date: 10/Aug/16 02:48
Worklog Time Spent: 10m 
  Work Description: Github user SolidWallOfCode commented on a diff in the 
pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74178454
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+

[GitHub] trafficserver pull request #843: [TS-4723] ATS CARP Plugin

2016-08-09 Thread SolidWallOfCode
Github user SolidWallOfCode commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74178454
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+if(strncmp(ptr,"http://",7) == 0) {
+  ptr += 7;
+} else if(strncmp(ptr,"https://",8) == 0) {
+  ptr += 8;
+}
+
+char* ptemp = ptr; // start of host
+//find white space or ':' or '/'
+while (*ptr && !isspace(*ptr) && *ptr != ':' && *ptr != '/') ++ptr;
+
+*sHost = string(ptemp, (ptr - ptemp));
+// skip white space (if any) after 

[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26268=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26268
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:24
Start Date: 10/Aug/16 02:24
Worklog Time Spent: 10m 
  Work Description: Github user zwoop commented on a diff in the pull 
request:

https://github.com/apache/trafficserver/pull/843#discussion_r74176854
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
--- End diff --

What amc is saying is to use TS_URL_SCHEME_HTTPS and TS_URL_LEN_HTTPS.


Issue Time Tracking
---


[GitHub] trafficserver pull request #843: [TS-4723] ATS CARP Plugin

2016-08-09 Thread zwoop
Github user zwoop commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74176854
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
--- End diff --

What amc is saying is to use TS_URL_SCHEME_HTTPS and TS_URL_LEN_HTTPS.


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26267=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26267
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:14
Start Date: 10/Aug/16 02:14
Worklog Time Spent: 10m 
  Work Description: Github user SolidWallOfCode commented on a diff in the 
pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74176237
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+

[GitHub] trafficserver pull request #843: [TS-4723] ATS CARP Plugin

2016-08-09 Thread SolidWallOfCode
Github user SolidWallOfCode commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74176237
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+if(strncmp(ptr,"http://",7) == 0) {
+  ptr += 7;
+} else if(strncmp(ptr,"https://",8) == 0) {
+  ptr += 8;
+}
+
+char* ptemp = ptr; // start of host
+//find white space or ':' or '/'
+while (*ptr && !isspace(*ptr) && *ptr != ':' && *ptr != '/') ++ptr;
+
+*sHost = string(ptemp, (ptr - ptemp));
+// skip white space (if any) after 

[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26266=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26266
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:12
Start Date: 10/Aug/16 02:12
Worklog Time Spent: 10m 
  Work Description: Github user SolidWallOfCode commented on a diff in the 
pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74176123
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+

[GitHub] trafficserver pull request #843: [TS-4723] ATS CARP Plugin

2016-08-09 Thread SolidWallOfCode
Github user SolidWallOfCode commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74176123
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
+
+  if (*ptr) { // validate not end of string
+if(strncmp(ptr,"http://",7) == 0) {
+  ptr += 7;
+} else if(strncmp(ptr,"https://",8) == 0) {
+  ptr += 8;
+}
+
+char* ptemp = ptr; // start of host
+//find white space or ':' or '/'
+while (*ptr && !isspace(*ptr) && *ptr != ':' && *ptr != '/') ++ptr;
+
+*sHost = string(ptemp, (ptr - ptemp));
+// skip white space (if any) after 

[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26265=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26265
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:08
Start Date: 10/Aug/16 02:08
Worklog Time Spent: 10m 
  Work Description: Github user SolidWallOfCode commented on a diff in the 
pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74175897
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
--- End diff --

AFAICT, "https://; and "  https://; 

[GitHub] trafficserver pull request #843: [TS-4723] ATS CARP Plugin

2016-08-09 Thread SolidWallOfCode
Github user SolidWallOfCode commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74175897
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
+*iPort = 443;
+*sScheme = "https";
+  }
+
+  //skip leading white space
+  while (*ptr && isspace(*ptr)) ++ptr;
--- End diff --

AFAICT, "https://; and "  https://; will behave differently because the 
port is set to 443 only if the string immediately begins with "https". Is that 
intended? Why check that twice in any case, instead of handling the port in the 
check just below?


---
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 

[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26264=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26264
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:06
Start Date: 10/Aug/16 02:06
Worklog Time Spent: 10m 
  Work Description: Github user SolidWallOfCode commented on a diff in the 
pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74175735
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
--- End diff --

Strings like `https` should be compile time constants so that you don't 
need to use magic constants like `5` later.


Issue Time Tracking
---

Worklog Id: 

[jira] [Work logged] (TS-4723) ATS CARP Plugin

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4723?focusedWorklogId=26263=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26263
 ]

ASF GitHub Bot logged work on TS-4723:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 02:05
Start Date: 10/Aug/16 02:05
Worklog Time Spent: 10m 
  Work Description: Github user SolidWallOfCode commented on a diff in the 
pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74175678
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
--- End diff --

Couldn't this be done more reliably with `strtol`?


Issue Time Tracking
---

Worklog Id: (was: 26263)
Time Spent: 0.5h  (was: 20m)

> ATS CARP Plugin
> ---
>
> Key: TS-4723
> URL: https://issues.apache.org/jira/browse/TS-4723
> Project: Traffic Server
>  Issue Type: New Feature
>  Components: Plugins
>Reporter: Eric Schwartz
>Assignee: Eric Schwartz
> Fix For: 7.0.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Open sourcing this plugin we use internally within Yahoo in place of 
> hierarchical caching.
> CARP is a plugin that allows you to group a bunch of ATS hosts into a cluster 
> and share cache space across the entire group. This is done with consistent 
> hashing on the object URL to generate an "owner" node in the cluster. 
> Requests to any other node in the cluster will be forwarded on to the 
> corresponding owner. More info in the 

[GitHub] trafficserver pull request #843: [TS-4723] ATS CARP Plugin

2016-08-09 Thread SolidWallOfCode
Github user SolidWallOfCode commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74175735
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
+{
+  bool bReturn = false;
+  int v=0;
+  
+  char* ptr = *pptr;
+  // skip white space if any
+  while (*ptr && isspace(*ptr)) ++ptr; 
+  // get digits
+  if (*ptr) {
+while (*ptr && isdigit(*ptr)) {
+  v *= 10;
+  v += (*ptr)-'0';
+  ++ptr;
+  bReturn = true;
+}
+  }
+  if (bReturn) {
+*pptr = ptr;
+*val = v;
+  }
+
+  return bReturn;
+}
+
+/**/
+// [http[s]://]host[:port]/path
+bool
+getHostAndPort(char** pptr,string* sHost,int* iPort, string* sScheme)
+{
+  bool bReturn = false;
+  char* ptr = *pptr;
+
+  *iPort = 80;
+  *sScheme = DEFAULT_SCHEME;
+  if(strncmp(*pptr,"https",5) == 0) {
--- End diff --

Strings like `https` should be compile time constants so that you don't 
need to use magic constants like `5` later.


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] trafficserver pull request #843: [TS-4723] ATS CARP Plugin

2016-08-09 Thread SolidWallOfCode
Github user SolidWallOfCode commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/843#discussion_r74175678
  
--- Diff: plugins/experimental/carp/CarpConfig.cc ---
@@ -0,0 +1,581 @@
+/** @file
+
+  Loads the CARP configuration
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+//
+// Read CARP configuration file
+// [Servers]
+// host1.yahoo.com:4080 weight=2  # port 4080 on host1.yahoo.com with 
weight factor of 2
+// host2.yahoo.com# port 80 on host2.yahoo.com with 
(default) weight factor of 1
+// 
+// [Values]
+// healthcheck={host}:8001/status.html
+// healthfreq=30
+// global=on
+//
+
+#include  
+#include  
+#include  
+#include 
+#include 
+
+#include 
+
+#include "CarpConfig.h"
+#include "Common.h"
+#include "CarpConfigPool.h"
+
+using namespace std;
+
+#define DEFAULT_HEALTH_CHECK_FREQ 30  // 30 second period for health checks
+#define DEFAULT_HEALTH_CHECK_PORT 80  // default to makeing healthcheck 
requests against port 80
+#define DEFAULT_CONFIG_RELOAD_FREQ 30 // 30 seconds used in TSContSchedule
+#define DEFAULT_PORT 80  // default to makeing requests against port 80
+#define DEFAULT_WEIGHT 1  // default weight
+#define DEFAULT_SCHEME "http"
+#define DEFAULT_REPLICATION_FACTOR 1
+
+// config section headers
+static const char *const SECTION_SERVERS_STR = "[Servers]";
+static const char *const SECTION_VALUES_STR = "[Values]";
+
+// key strings
+static const char *const KEY_HEALTHCHECK_STR = "healthcheck";
+static const char *const KEY_HEALTHFREQ_STR = "healthfreq";
+static const char *const KEY_RELOADFREQ_STR = "reloadfreq";
+static const char *const KEY_HCTIMEOUT_STR =  "hctimeout";
+static const char *const KEY_BLACKLIST_STR = "blacklist";
+static const char *const KEY_WHITELIST_STR = "whitelist";
+static const char *const KEY_MODE_STR = "mode";
+static const char *const KEY_ALLOWFWDPORT_STR = "allowfwdport";
+static const char *const KEY_REPLICATIONFACTOR_STR = "replicationfactor";
+
+// parameter strings
+static const char *const WEIGHT_EQUALS_STRING = "weight=";
+static const char *const GROUP_EQUALS_STRING = "group=";
+static const char *const KEY_MODE_PREREMAP_STR = "pre-remap";
+static const char *const KEY_MODE_POSTREMAP_STR = "post-remap";
+
+
+/**/
+bool
+getInt(char** pptr, int *val)
--- End diff --

Couldn't this be done more reliably with `strtol`?


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4726?focusedWorklogId=26262=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26262
 ]

ASF GitHub Bot logged work on TS-4726:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 01:17
Start Date: 10/Aug/16 01:17
Worklog Time Spent: 10m 
  Work Description: Github user masaori335 commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
Yes, it is moved to `ProxyClientTransaction::destroy()` by TS-4507

https://github.com/apache/trafficserver/blob/master/proxy/ProxyClientTransaction.cc#L85


Issue Time Tracking
---

Worklog Id: (was: 26262)
Time Spent: 1h 10m  (was: 1h)

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> (this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
> #22 0x009bc80a in SSLNetVConnection::net_read_io 
> (this=0x60ae0001cb70, nh=0x70901460, lthread=0x708fd800) at 
> 

[GitHub] trafficserver issue #846: TS-4726: Remove unnecessary assert in ProxyClientT...

2016-08-09 Thread masaori335
Github user masaori335 commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
Yes, it is moved to `ProxyClientTransaction::destroy()` by TS-4507

https://github.com/apache/trafficserver/blob/master/proxy/ProxyClientTransaction.cc#L85


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4726?focusedWorklogId=26261=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26261
 ]

ASF GitHub Bot logged work on TS-4726:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 00:25
Start Date: 10/Aug/16 00:25
Worklog Time Spent: 10m 
  Work Description: Github user zwoop commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
I think I see this, we only set current_reader=NULL after that assert, 
right?


Issue Time Tracking
---

Worklog Id: (was: 26261)
Time Spent: 1h  (was: 50m)

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> (this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
> #22 0x009bc80a in SSLNetVConnection::net_read_io 
> (this=0x60ae0001cb70, nh=0x70901460, lthread=0x708fd800) at 
> SSLNetVConnection.cc:579
> #23 0x009dc629 in NetHandler::mainNetEvent 

[GitHub] trafficserver issue #846: TS-4726: Remove unnecessary assert in ProxyClientT...

2016-08-09 Thread zwoop
Github user zwoop commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
I think I see this, we only set current_reader=NULL after that assert, 
right?


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4475) Crash in Log-Collation client after using inactivity-cop.

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4475?focusedWorklogId=26260=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26260
 ]

ASF GitHub Bot logged work on TS-4475:
--

Author: ASF GitHub Bot
Created on: 10/Aug/16 00:09
Start Date: 10/Aug/16 00:09
Worklog Time Spent: 10m 
  Work Description: Github user pbchou commented on the issue:

https://github.com/apache/trafficserver/pull/831
  
Hi all. I updated the PR. The fix now does (1) handles both active time-out 
and inactivity time-out, (2) treats time-outs the same as EOS or ERROR events 
to handle any clean-ups, and (3) explicitly assigns the net-vc to have a 
time-out of 86400s so that it is not assigned the time-out defined in 
records.config by inactivity-cop. I would like to request that this be applied 
to both the master and 6.2.x branches.


Issue Time Tracking
---

Worklog Id: (was: 26260)
Time Spent: 1h 20m  (was: 1h 10m)

> Crash in Log-Collation client after using inactivity-cop.
> -
>
> Key: TS-4475
> URL: https://issues.apache.org/jira/browse/TS-4475
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Logging
>Affects Versions: 6.1.1
>Reporter: Peter Chou
> Fix For: sometime
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Background: We recently tried making use of inactivity-cop by setting it to 
> 300s instead of the default one-day setting. This was to address an issue 
> where, under heavy load, ATS would become un-responsive to client requests, 
> and the condition would persist after traffic was stopped with the active 
> queue saying 0 connections but 'netstat -na' showing a bunch of established 
> connections (up to the throttle limit approximately).
> Inactivity cop seemed to help ATS handle this situation, but we have since 
> experienced a couple of core dumps over the last four day period. It seems 
> occasionally the Log Collation Client State Machine will have event value 105 
> or VC_EVENT_INACTIVITY_TIMEOUT, but when it reaches read_signal_and_update() 
> it tries to call the continuation handler which down the line does not know 
> about this event thus causing core dump !"unexpcted state" [sic].
> Here is the back-trace --
> (gdb) bt
> #0  0x2b67cd5405f7 in raise () from /lib64/libc.so.6
> #1  0x2b67cd541e28 in abort () from /lib64/libc.so.6
> #2  0x2b67cb032921 in ink_die_die_die () at ink_error.cc:43
> #3  0x2b67cb0329da in ink_fatal_va (fmt=0x2b67cb0442dc "%s:%d: failed 
> assert `%s`", ap=0x7ffc690e7ba8) at ink_error.cc:65
> #4  0x2b67cb032a79 in ink_fatal (message_format=0x2b67cb0442dc "%s:%d: 
> failed assert `%s`") at ink_error.cc:73
> #5  0x2b67cb0305a6 in _ink_assert (expression=0x7fb422 "!\"unexpcted 
> state\"", file=0x7fb35b "LogCollationClientSM.cc",
> line=445) at ink_assert.cc:37
> #6  0x0069c86b in LogCollationClientSM::client_idle 
> (this=0x2b681400bb00, event=105) at LogCollationClientSM.cc:445
> #7  0x0069b427 in LogCollationClientSM::client_handler 
> (this=0x2b681400bb00, event=105, data=0x2b680c017020)
> at LogCollationClientSM.cc:119
> #8  0x00502cc6 in Continuation::handleEvent (this=0x2b681400bb00, 
> event=105, data=0x2b680c017020)
> at ../iocore/eventsystem/I_Continuation.h:153
> #9  0x00783d40 in read_signal_and_update (event=105, 
> vc=0x2b680c016f00) at UnixNetVConnection.cc:150
> #10 0x00787a22 in UnixNetVConnection::mainEvent (this=0x2b680c016f00, 
> event=1, e=0x127ad60) at UnixNetVConnection.cc:1188
> #11 0x00502cc6 in Continuation::handleEvent (this=0x2b680c016f00, 
> event=1, data=0x127ad60)
> at ../iocore/eventsystem/I_Continuation.h:153
> #12 0x0077d943 in InactivityCop::check_inactivity (this=0x1209a00, 
> event=2, e=0x127ad60) at UnixNet.cc:102
> #13 0x00502cc6 in Continuation::handleEvent (this=0x1209a00, event=2, 
> data=0x127ad60)
> at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x007a5df6 in EThread::process_event (this=0x2b67cf7bb010, 
> e=0x127ad60, calling_code=2) at UnixEThread.cc:128
> #15 0x007a61f5 in EThread::execute (this=0x2b67cf7bb010) at 
> UnixEThread.cc:207
> #16 0x00534430 in main (argv=0x7ffc690e82e8) at Main.cc:1918
> I believe it takes a wrong turn here --
> #9  0x00783d40 in read_signal_and_update (event=105, 
> vc=0x2b680c016f00) at UnixNetVConnection.cc:150
> 150 vc->read.vio._cont->handleEvent(event, >read.vio);
> (gdb) list
> 145 static inline int
> 146 read_signal_and_update(int event, UnixNetVConnection *vc)
> 147 {
> 148   vc->recursion++;
> 149   if (vc->read.vio._cont) {
> 150 vc->read.vio._cont->handleEvent(event, >read.vio);
> 151   } else {
> 152

[GitHub] trafficserver issue #831: TS-4475: Log Collation Client SM, added VC_EVENT_I...

2016-08-09 Thread pbchou
Github user pbchou commented on the issue:

https://github.com/apache/trafficserver/pull/831
  
Hi all. I updated the PR. The fix now does (1) handles both active time-out 
and inactivity time-out, (2) treats time-outs the same as EOS or ERROR events 
to handle any clean-ups, and (3) explicitly assigns the net-vc to have a 
time-out of 86400s so that it is not assigned the time-out defined in 
records.config by inactivity-cop. I would like to request that this be applied 
to both the master and 6.2.x branches.


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TS-4475) Crash in Log-Collation client after using inactivity-cop.

2016-08-09 Thread Peter Chou (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414477#comment-15414477
 ] 

Peter Chou commented on TS-4475:


[~oknet] Hi. I was able to test the fix against "master" after working around 
the TS-4728 bug that I found. Please review the update PR when you get a 
chance. I would also like to request that this fix be applied to both the 7.0.0 
and 6.2.x branches.

> Crash in Log-Collation client after using inactivity-cop.
> -
>
> Key: TS-4475
> URL: https://issues.apache.org/jira/browse/TS-4475
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Logging
>Affects Versions: 6.1.1
>Reporter: Peter Chou
> Fix For: sometime
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Background: We recently tried making use of inactivity-cop by setting it to 
> 300s instead of the default one-day setting. This was to address an issue 
> where, under heavy load, ATS would become un-responsive to client requests, 
> and the condition would persist after traffic was stopped with the active 
> queue saying 0 connections but 'netstat -na' showing a bunch of established 
> connections (up to the throttle limit approximately).
> Inactivity cop seemed to help ATS handle this situation, but we have since 
> experienced a couple of core dumps over the last four day period. It seems 
> occasionally the Log Collation Client State Machine will have event value 105 
> or VC_EVENT_INACTIVITY_TIMEOUT, but when it reaches read_signal_and_update() 
> it tries to call the continuation handler which down the line does not know 
> about this event thus causing core dump !"unexpcted state" [sic].
> Here is the back-trace --
> (gdb) bt
> #0  0x2b67cd5405f7 in raise () from /lib64/libc.so.6
> #1  0x2b67cd541e28 in abort () from /lib64/libc.so.6
> #2  0x2b67cb032921 in ink_die_die_die () at ink_error.cc:43
> #3  0x2b67cb0329da in ink_fatal_va (fmt=0x2b67cb0442dc "%s:%d: failed 
> assert `%s`", ap=0x7ffc690e7ba8) at ink_error.cc:65
> #4  0x2b67cb032a79 in ink_fatal (message_format=0x2b67cb0442dc "%s:%d: 
> failed assert `%s`") at ink_error.cc:73
> #5  0x2b67cb0305a6 in _ink_assert (expression=0x7fb422 "!\"unexpcted 
> state\"", file=0x7fb35b "LogCollationClientSM.cc",
> line=445) at ink_assert.cc:37
> #6  0x0069c86b in LogCollationClientSM::client_idle 
> (this=0x2b681400bb00, event=105) at LogCollationClientSM.cc:445
> #7  0x0069b427 in LogCollationClientSM::client_handler 
> (this=0x2b681400bb00, event=105, data=0x2b680c017020)
> at LogCollationClientSM.cc:119
> #8  0x00502cc6 in Continuation::handleEvent (this=0x2b681400bb00, 
> event=105, data=0x2b680c017020)
> at ../iocore/eventsystem/I_Continuation.h:153
> #9  0x00783d40 in read_signal_and_update (event=105, 
> vc=0x2b680c016f00) at UnixNetVConnection.cc:150
> #10 0x00787a22 in UnixNetVConnection::mainEvent (this=0x2b680c016f00, 
> event=1, e=0x127ad60) at UnixNetVConnection.cc:1188
> #11 0x00502cc6 in Continuation::handleEvent (this=0x2b680c016f00, 
> event=1, data=0x127ad60)
> at ../iocore/eventsystem/I_Continuation.h:153
> #12 0x0077d943 in InactivityCop::check_inactivity (this=0x1209a00, 
> event=2, e=0x127ad60) at UnixNet.cc:102
> #13 0x00502cc6 in Continuation::handleEvent (this=0x1209a00, event=2, 
> data=0x127ad60)
> at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x007a5df6 in EThread::process_event (this=0x2b67cf7bb010, 
> e=0x127ad60, calling_code=2) at UnixEThread.cc:128
> #15 0x007a61f5 in EThread::execute (this=0x2b67cf7bb010) at 
> UnixEThread.cc:207
> #16 0x00534430 in main (argv=0x7ffc690e82e8) at Main.cc:1918
> I believe it takes a wrong turn here --
> #9  0x00783d40 in read_signal_and_update (event=105, 
> vc=0x2b680c016f00) at UnixNetVConnection.cc:150
> 150 vc->read.vio._cont->handleEvent(event, >read.vio);
> (gdb) list
> 145 static inline int
> 146 read_signal_and_update(int event, UnixNetVConnection *vc)
> 147 {
> 148   vc->recursion++;
> 149   if (vc->read.vio._cont) {
> 150 vc->read.vio._cont->handleEvent(event, >read.vio);
> 151   } else {
> 152 switch (event) {
> 153 case VC_EVENT_EOS:
> 154 case VC_EVENT_ERROR:
> (gdb) list
> 155 case VC_EVENT_ACTIVE_TIMEOUT:
> 156 case VC_EVENT_INACTIVITY_TIMEOUT:
> 157   Debug("inactivity_cop", "event %d: null read.vio cont, closing 
> vc %p", event, vc);
> 158   vc->closed = 1;
> 159   break;
> 160 default:
> 161   Error("Unexpected event %d for vc %p", event, vc);
> 162   ink_release_assert(0);
> 163   break;
> 164 }
> Note: I understand that there were several issues 

[jira] [Commented] (TS-4724) Adding/creating new lua API "ts.server_request.remove_host_name_from_url()" to remove host name from the GET request send to next tier

2016-08-09 Thread Kit Chan (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414467#comment-15414467
 ] 

Kit Chan commented on TS-4724:
--

Thanks. I will review the PR when it is there. 

> Adding/creating new lua API "ts.server_request.remove_host_name_from_url()" 
> to remove host name from the GET request send to next tier
> --
>
> Key: TS-4724
> URL: https://issues.apache.org/jira/browse/TS-4724
> Project: Traffic Server
>  Issue Type: Improvement
>  Components: Lua
>Reporter: Rajendra Kishore Bonumahanti
> Fix For: 7.0.0
>
>
> Create a new lua API "ts.server_request.remove_host_name_from_url()" to 
> remove host name from the GET request to next tier. This helps to have a 
> parent remap.config entry similar to child cache. This makes provisioning 
> more meaningful and easy at both parent and child.
> With this fix, the GET request to parent will change..
> from:
> + Proxy's Request +
> -- State Machine Id: 5593
> GET http://origin.com/dir1/a.txt HTTP/1.1^M
> User-Agent: curl/7.29.0^M
> Host: abc.com^M
> Accept: */*^M
> Client-ip: 135.xx.xx.xx^M
> X-Forwarded-For: 135.xx.xx.xx^M
> To:
> + Proxy's Request +
> -- State Machine Id: 5593
> GET /dir1/a.txt HTTP/1.1^M
> User-Agent: curl/7.29.0^M
> Host: abc.com^M
> Accept: */*^M
> Client-ip: 135.xx.xx.xx^M
> X-Forwarded-For: 135.xx.xx.xx^M
> This will enable to have parent and child's remap.config entries as below:
> map http://abc.com http://origin.com @plugin=tslua.so 
> @pparam=/opt/trafficserver/etc/trafficserver/lua/test.lua



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-4728) Null pointer error in LogHost.cc.

2016-08-09 Thread Peter Chou (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Peter Chou updated TS-4728:
---
Affects Version/s: 7.0.0

> Null pointer error in LogHost.cc.
> -
>
> Key: TS-4728
> URL: https://issues.apache.org/jira/browse/TS-4728
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Logging
>Affects Versions: 7.0.0
>Reporter: Peter Chou
>
> [~jpe...@apache.org] I am getting a null pointer access error with the 
> following assertion at the time of traffic_server start-up with log collation 
> enabled (client-side). I was able to get around it by just commenting it out, 
> but perhaps a better fix is required.
> {noformat}
> LogHost::create_orphan_LogFile_object()
> {
>   // We expect that no-one else is holding any refcounts on the
>   // orphan file so that is will be releases when we replace it
>   // below.
>   ink_assert(m_orphan_file->refcount() == 1);
> {noformat}
> Back-trace --
> {noformat}
> #0  0x0053e772 in RefCountObj::refcount (this=0x8) at 
> ../lib/ts/Ptr.h:80
> #1  0x00692f9f in LogHost::create_orphan_LogFile_object 
> (this=0x2268d80) at LogHost.cc:235
> #2  0x00692a45 in LogHost::set_ipstr_port (this=0x2268d80, 
> ipstr=0x2265d40 "127.0.0.1", pt=8085) at LogHost.cc:135
> #3  0x00692b92 in LogHost::set_name_or_ipstr (this=0x2268d80, 
> name_or_ip=0x2265d40 "127.0.0.1") at LogHost.cc:155
> #4  0x00684046 in LogConfig::read_xml_log_config (this=0x21e4110) at 
> LogConfig.cc:1472
> #5  0x0067ff73 in LogConfig::setup_log_objects (this=0x21e4110) at 
> LogConfig.cc:510
> #6  0x0067f858 in LogConfig::init (this=0x21e4110, prev_config=0x0) 
> at LogConfig.cc:395
> #7  0x006721fe in Log::init (flags=0) at Log.cc:925
> #8  0x00542552 in main (argv=0x7ffcc853abd8) at Main.cc:1828
> {noformat}
> I made minimal changes to logs_xml.config to set as client --
> {noformat}
> 
> 
>  : % : %"/>
> 
> 
> 
> 
> 
> 
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-4728) Null pointer error in LogHost.cc.

2016-08-09 Thread Peter Chou (JIRA)
Peter Chou created TS-4728:
--

 Summary: Null pointer error in LogHost.cc.
 Key: TS-4728
 URL: https://issues.apache.org/jira/browse/TS-4728
 Project: Traffic Server
  Issue Type: Bug
  Components: Logging
Reporter: Peter Chou


[~jpe...@apache.org] I am getting a null pointer access error with the 
following assertion at the time of traffic_server start-up with log collation 
enabled (client-side). I was able to get around it by just commenting it out, 
but perhaps a better fix is required.
{noformat}
LogHost::create_orphan_LogFile_object()
{
  // We expect that no-one else is holding any refcounts on the
  // orphan file so that is will be releases when we replace it
  // below.
  ink_assert(m_orphan_file->refcount() == 1);
{noformat}

Back-trace --
{noformat}
#0  0x0053e772 in RefCountObj::refcount (this=0x8) at ../lib/ts/Ptr.h:80
#1  0x00692f9f in LogHost::create_orphan_LogFile_object 
(this=0x2268d80) at LogHost.cc:235
#2  0x00692a45 in LogHost::set_ipstr_port (this=0x2268d80, 
ipstr=0x2265d40 "127.0.0.1", pt=8085) at LogHost.cc:135
#3  0x00692b92 in LogHost::set_name_or_ipstr (this=0x2268d80, 
name_or_ip=0x2265d40 "127.0.0.1") at LogHost.cc:155
#4  0x00684046 in LogConfig::read_xml_log_config (this=0x21e4110) at 
LogConfig.cc:1472
#5  0x0067ff73 in LogConfig::setup_log_objects (this=0x21e4110) at 
LogConfig.cc:510
#6  0x0067f858 in LogConfig::init (this=0x21e4110, prev_config=0x0) at 
LogConfig.cc:395
#7  0x006721fe in Log::init (flags=0) at Log.cc:925
#8  0x00542552 in main (argv=0x7ffcc853abd8) at Main.cc:1828
{noformat}

I made minimal changes to logs_xml.config to set as client --
{noformat}


 : % : %"/>







{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Build failed in Jenkins: clang-analyzer #2533

2016-08-09 Thread jenkins
See 

Changes:

[shinrich] TS-4717: Http2 stack explosion.

--
[...truncated 4952 lines...]
reading sources... [ 54%] developer-guide/api/functions/TSMimeHdrFieldNextDup.en
reading sources... [ 54%] developer-guide/api/functions/TSMimeHdrFieldRemove.en
reading sources... [ 54%] 
developer-guide/api/functions/TSMimeHdrFieldValueAppend.en
reading sources... [ 54%] 
developer-guide/api/functions/TSMimeHdrFieldValueDateInsert.en
reading sources... [ 54%] 
developer-guide/api/functions/TSMimeHdrFieldValueDateSet.en
reading sources... [ 55%] 
developer-guide/api/functions/TSMimeHdrFieldValueIntSet.en
reading sources... [ 55%] 
developer-guide/api/functions/TSMimeHdrFieldValueStringGet.en
reading sources... [ 55%] 
developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en
reading sources... [ 55%] 
developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en
reading sources... [ 56%] 
developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en
reading sources... [ 56%] 
developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en
reading sources... [ 56%] 
developer-guide/api/functions/TSMimeHdrFieldValuesClear.en
reading sources... [ 56%] 
developer-guide/api/functions/TSMimeHdrFieldValuesCount.en
reading sources... [ 56%] developer-guide/api/functions/TSMimeHdrFieldsClear.en
reading sources... [ 57%] developer-guide/api/functions/TSMimeHdrFieldsCount.en
reading sources... [ 57%] developer-guide/api/functions/TSMimeHdrLengthGet.en
reading sources... [ 57%] developer-guide/api/functions/TSMimeHdrParse.en
reading sources... [ 57%] developer-guide/api/functions/TSMimeHdrPrint.en
reading sources... [ 58%] developer-guide/api/functions/TSMimeParserClear.en
reading sources... [ 58%] developer-guide/api/functions/TSMimeParserCreate.en
reading sources... [ 58%] developer-guide/api/functions/TSMimeParserDestroy.en
reading sources... [ 58%] developer-guide/api/functions/TSMutexCreate.en
reading sources... [ 58%] developer-guide/api/functions/TSMutexDestroy.en
reading sources... [ 59%] developer-guide/api/functions/TSMutexLock.en
reading sources... [ 59%] developer-guide/api/functions/TSMutexLockTry.en
reading sources... [ 59%] developer-guide/api/functions/TSMutexUnlock.en
reading sources... [ 59%] developer-guide/api/functions/TSNetAccept.en
reading sources... [ 60%] 
developer-guide/api/functions/TSNetAcceptNamedProtocol.en
reading sources... [ 60%] developer-guide/api/functions/TSNetConnect.en
reading sources... [ 60%] developer-guide/api/functions/TSPluginInit.en
reading sources... [ 60%] developer-guide/api/functions/TSRemap.en
reading sources... [ 60%] developer-guide/api/functions/TSSslContextFindBy.en
reading sources... [ 61%] 
developer-guide/api/functions/TSSslServerContextCreate.en
reading sources... [ 61%] developer-guide/api/functions/TSTextLogObjectCreate.en
reading sources... [ 61%] developer-guide/api/functions/TSThreadCreate.en
reading sources... [ 61%] developer-guide/api/functions/TSThreadDestroy.en
reading sources... [ 62%] developer-guide/api/functions/TSThreadInit.en
reading sources... [ 62%] developer-guide/api/functions/TSThreadSelf.en
reading sources... [ 62%] 
developer-guide/api/functions/TSTrafficServerVersionGet.en
reading sources... [ 62%] developer-guide/api/functions/TSTransformCreate.en
reading sources... [ 62%] 
developer-guide/api/functions/TSTransformOutputVConnGet.en
reading sources... [ 63%] developer-guide/api/functions/TSTypes.en
reading sources... [ 63%] developer-guide/api/functions/TSUrlCreate.en
reading sources... [ 63%] developer-guide/api/functions/TSUrlDestroy.en
reading sources... [ 63%] developer-guide/api/functions/TSUrlFtpTypeGet.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlFtpTypeSet.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlHostGet.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlHostSet.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlPercentEncode.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlStringGet.en
reading sources... [ 65%] developer-guide/api/functions/TSUuidCreate.en
reading sources... [ 65%] developer-guide/api/functions/TSVConnAbort.en
reading sources... [ 65%] 
developer-guide/api/functions/TSVConnCacheObjectSizeGet.en
reading sources... [ 65%] developer-guide/api/functions/TSVConnClose.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnClosedGet.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnFdCreate.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnIsSsl.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnRead.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnReadVIOGet.en
reading sources... [ 67%] developer-guide/api/functions/TSVConnReenable.en
reading sources... [ 67%] developer-guide/api/functions/TSVConnShutdown.en
reading sources... [ 67%] 

Jenkins build is back to normal : centos_7-master » clang,centos_7,debug #1889

2016-08-09 Thread jenkins
See 




[jira] [Commented] (TS-4265) Provide per EThread and per event type thread initialization.

2016-08-09 Thread Leif Hedstrom (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414310#comment-15414310
 ] 

Leif Hedstrom commented on TS-4265:
---

This seems at least very similar to TS-946.

> Provide per EThread and per event type thread initialization.
> -
>
> Key: TS-4265
> URL: https://issues.apache.org/jira/browse/TS-4265
> Project: Traffic Server
>  Issue Type: Improvement
>  Components: Core
>Reporter: Alan M. Carroll
>Assignee: Alan M. Carroll
> Fix For: 7.0.0
>
>
> As far as I can tell, {{EThread::schedule_spawn}} is is not used and is just 
> a crippled version of {{EThread::schedule_imm}}  without the optional 
> arguments.
> It would be better to make this call provide a mechanism to schedule 
> continuations that are called when a thread is spawned. This enable a lot of 
> cleanup of some very ugly thread initialization logic while at the same time 
> avoiding potential ugly race conditions. For instance {{NetHandler}} is 
> initialized in each thread *after* the thread is already running but before 
> (hopefully) any I/O events arrive. It would be much cleaner to do that in a 
> thread spawn event. Further this would decouple some initialization logic and 
> thread logic (as in this case) - the initalization logic would no longer need 
> to know anything about thread start up other than {{EThread::schedule_spawn}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work logged] (TS-4717) Http2 stack explosion

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4717?focusedWorklogId=26259=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26259
 ]

ASF GitHub Bot logged work on TS-4717:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 22:03
Start Date: 09/Aug/16 22:03
Worklog Time Spent: 10m 
  Work Description: Github user shinrich closed the pull request at:

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


Issue Time Tracking
---

Worklog Id: (was: 26259)
Time Spent: 3h 20m  (was: 3h 10m)

> Http2 stack explosion
> -
>
> Key: TS-4717
> URL: https://issues.apache.org/jira/browse/TS-4717
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Susan Hinrichs
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>  Time Spent: 3h 20m
>  Remaining Estimate: 0h
>
> We see this periodically with high traffic loads.  ATS crashes with 7000+ 
> frames on the stack.  The bulk of the frames are the following frame 
> sequence.  
> {code}
> #117 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #118 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> #119 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #120 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #121 0x0064c386 in Http2ClientSession::state_complete_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:483
> #122 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #123 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #124 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> {code}
> We had cherry picked in the fix for TS-4209 to correctly enforce the 
> concurrent stream limit.  But in the latest crash of this type, it looks like 
> we are pulling small items from cache, so the stream lives and dies on the 
> stack.  The concurrent active connection count never reaches the limit.
> I am going to try to change the 
> state_state_start_frame_read/state_complete_frame_read logic from recursing 
> handlers to a loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver pull request #842: TS-4717: Http2 stack explosion.

2016-08-09 Thread shinrich
Github user shinrich closed the pull request at:

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


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TS-4727) Assertion in H2: UnixNetVConnection.cc:918

2016-08-09 Thread Leif Hedstrom (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414314#comment-15414314
 ] 

Leif Hedstrom commented on TS-4727:
---

Is this a dupe of TS-4717 ?

> Assertion in H2: UnixNetVConnection.cc:918
> --
>
> Key: TS-4727
> URL: https://issues.apache.org/jira/browse/TS-4727
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Leif Hedstrom
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>
> Seeing this (newish) assertion using current (as of today) master.
> {code}
> FATAL: UnixNetVConnection.cc:918: failed assertion `!closed`
> traffic_server: using root directory '/opt/ats'
> traffic_server: Aborted (Signal sent by tkill() 2955 99)
> traffic_server - STACK TRACE:
> /opt/ats/lib/libtsutil.so.7(signal_crash_handler(int, siginfo_t*, 
> void*)+0x18)[0x2b7b54975702]
> /opt/ats/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, 
> void*)+0x155)[0x52e820]
> /lib64/libpthread.so.0(+0xf100)[0x2b7b56a6c100]
> /lib64/libc.so.6(gsignal+0x37)[0x2b7b577345f7]
> /lib64/libc.so.6(abort+0x148)[0x2b7b57735ce8]
> /opt/ats/lib/libtsutil.so.7(ink_warning(char const*, ...)+0x0)[0x2b7b549553c5]
> /opt/ats/lib/libtsutil.so.7(+0x7281f)[0x2b7b5494f81f]
> /opt/ats/bin/traffic_server(UnixNetVConnection::set_enabled(VIO*)+0x117)[0xa29e4f]
> /opt/ats/bin/traffic_server(UnixNetVConnection::reenable(VIO*)+0xf0)[0xa288d8]
> /opt/ats/bin/traffic_server(VIO::reenable()+0xa4)[0x534de4]
> /opt/ats/bin/traffic_server(Http2ClientSession::state_complete_frame_read(int,
>  void*)+0x6a4)[0x778066]
> /opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
> void*)+0x2a2)[0x7759a8]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server(Http2ClientSession::state_start_frame_read(int, 
> void*)+0x1117)[0x7778ad]
> /opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
> void*)+0x2a2)[0x7759a8]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server[0xa24157]
> /opt/ats/bin/traffic_server(UnixNetVConnection::readSignalAndUpdate(int)+0x20)[0xa2a9fc]
> /opt/ats/bin/traffic_server(SSLNetVConnection::net_read_io(NetHandler*, 
> EThread*)+0x15e4)[0x9ed26e]
> /opt/ats/bin/traffic_server(NetHandler::mainNetEvent(int, 
> Event*)+0x11f3)[0xa119f7]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server(EThread::process_event(Event*, 
> int)+0x2cf)[0xa6fcc1]
> /opt/ats/bin/traffic_server(EThread::execute()+0xa9d)[0xa70b01]
> /opt/ats/bin/traffic_server[0xa6e623]
> /lib64/libpthread.so.0(+0x7dc5)[0x2b7b56a64dc5]
> /lib64/libc.so.6(clone+0x6d)[0x2b7b577f5ced]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work logged] (TS-4553) Add Brotli compression support

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4553?focusedWorklogId=26258=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26258
 ]

ASF GitHub Bot logged work on TS-4553:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 21:32
Start Date: 09/Aug/16 21:32
Worklog Time Spent: 10m 
  Work Description: Github user caricaturecm commented on the issue:

https://github.com/apache/trafficserver/pull/776
  
3383c8744ed36c08e06819395ee910b27860999d The old version is to set the 
compress file type. Here is to set the compress file type that don't want to be 
compressed by brotli. Also, make the brotli quality and compress file type 
blacklist configurable.
30d4b8ff08c8a72e20796932f6ecf8a30a2283bb This commit make the encode 
streaming. In `consume()` call `WriteBrotliData(false, true, _bytes, 
);` The first `false` means it is not the final block, second `true` 
means to flush the buffer. In `handleInputComplete()`, call 
`WriteBrotliData(true, false, _bytes, );` to write the final block, 
it will flush the buffer automatically.


Issue Time Tracking
---

Worklog Id: (was: 26258)
Time Spent: 1h 40m  (was: 1.5h)

> Add Brotli compression support
> --
>
> Key: TS-4553
> URL: https://issues.apache.org/jira/browse/TS-4553
> Project: Traffic Server
>  Issue Type: Wish
>  Components: Plugins
>Reporter: David Calavera
> Fix For: sometime
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> I think it would be very interesting to add support for the Brotli 
> compression format: https://github.com/google/brotli
> Since I didn't see any issue opened and went ahead so people can discuss 
> about it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver issue #776: TS-4553: Brotli plugin

2016-08-09 Thread caricaturecm
Github user caricaturecm commented on the issue:

https://github.com/apache/trafficserver/pull/776
  
3383c8744ed36c08e06819395ee910b27860999d The old version is to set the 
compress file type. Here is to set the compress file type that don't want to be 
compressed by brotli. Also, make the brotli quality and compress file type 
blacklist configurable.
30d4b8ff08c8a72e20796932f6ecf8a30a2283bb This commit make the encode 
streaming. In `consume()` call `WriteBrotliData(false, true, _bytes, 
);` The first `false` means it is not the final block, second `true` 
means to flush the buffer. In `handleInputComplete()`, call 
`WriteBrotliData(true, false, _bytes, );` to write the final block, 
it will flush the buffer automatically.


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Updated] (TS-4727) Assertion in H2: UnixNetVConnection.cc:918

2016-08-09 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-4727:
--
Assignee: Susan Hinrichs

> Assertion in H2: UnixNetVConnection.cc:918
> --
>
> Key: TS-4727
> URL: https://issues.apache.org/jira/browse/TS-4727
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Leif Hedstrom
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>
> Seeing this (newish) assertion using current (as of today) master.
> {code}
> FATAL: UnixNetVConnection.cc:918: failed assertion `!closed`
> traffic_server: using root directory '/opt/ats'
> traffic_server: Aborted (Signal sent by tkill() 2955 99)
> traffic_server - STACK TRACE:
> /opt/ats/lib/libtsutil.so.7(signal_crash_handler(int, siginfo_t*, 
> void*)+0x18)[0x2b7b54975702]
> /opt/ats/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, 
> void*)+0x155)[0x52e820]
> /lib64/libpthread.so.0(+0xf100)[0x2b7b56a6c100]
> /lib64/libc.so.6(gsignal+0x37)[0x2b7b577345f7]
> /lib64/libc.so.6(abort+0x148)[0x2b7b57735ce8]
> /opt/ats/lib/libtsutil.so.7(ink_warning(char const*, ...)+0x0)[0x2b7b549553c5]
> /opt/ats/lib/libtsutil.so.7(+0x7281f)[0x2b7b5494f81f]
> /opt/ats/bin/traffic_server(UnixNetVConnection::set_enabled(VIO*)+0x117)[0xa29e4f]
> /opt/ats/bin/traffic_server(UnixNetVConnection::reenable(VIO*)+0xf0)[0xa288d8]
> /opt/ats/bin/traffic_server(VIO::reenable()+0xa4)[0x534de4]
> /opt/ats/bin/traffic_server(Http2ClientSession::state_complete_frame_read(int,
>  void*)+0x6a4)[0x778066]
> /opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
> void*)+0x2a2)[0x7759a8]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server(Http2ClientSession::state_start_frame_read(int, 
> void*)+0x1117)[0x7778ad]
> /opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
> void*)+0x2a2)[0x7759a8]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server[0xa24157]
> /opt/ats/bin/traffic_server(UnixNetVConnection::readSignalAndUpdate(int)+0x20)[0xa2a9fc]
> /opt/ats/bin/traffic_server(SSLNetVConnection::net_read_io(NetHandler*, 
> EThread*)+0x15e4)[0x9ed26e]
> /opt/ats/bin/traffic_server(NetHandler::mainNetEvent(int, 
> Event*)+0x11f3)[0xa119f7]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server(EThread::process_event(Event*, 
> int)+0x2cf)[0xa6fcc1]
> /opt/ats/bin/traffic_server(EThread::execute()+0xa9d)[0xa70b01]
> /opt/ats/bin/traffic_server[0xa6e623]
> /lib64/libpthread.so.0(+0x7dc5)[0x2b7b56a64dc5]
> /lib64/libc.so.6(clone+0x6d)[0x2b7b577f5ced]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work logged] (TS-4717) Http2 stack explosion

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4717?focusedWorklogId=26255=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26255
 ]

ASF GitHub Bot logged work on TS-4717:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 20:54
Start Date: 09/Aug/16 20:54
Worklog Time Spent: 10m 
  Work Description: Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/842
  
Linux build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-Linux/410/ for details.
 



Issue Time Tracking
---

Worklog Id: (was: 26255)
Time Spent: 3h 10m  (was: 3h)

> Http2 stack explosion
> -
>
> Key: TS-4717
> URL: https://issues.apache.org/jira/browse/TS-4717
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Susan Hinrichs
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>  Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> We see this periodically with high traffic loads.  ATS crashes with 7000+ 
> frames on the stack.  The bulk of the frames are the following frame 
> sequence.  
> {code}
> #117 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #118 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> #119 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #120 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #121 0x0064c386 in Http2ClientSession::state_complete_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:483
> #122 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #123 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #124 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> {code}
> We had cherry picked in the fix for TS-4209 to correctly enforce the 
> concurrent stream limit.  But in the latest crash of this type, it looks like 
> we are pulling small items from cache, so the stream lives and dies on the 
> stack.  The concurrent active connection count never reaches the limit.
> I am going to try to change the 
> state_state_start_frame_read/state_complete_frame_read logic from recursing 
> handlers to a loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver issue #842: TS-4717: Http2 stack explosion.

2016-08-09 Thread atsci
Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/842
  
Linux build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-Linux/410/ 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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TS-4727) Assertion in H2: UnixNetVConnection.cc:918

2016-08-09 Thread Leif Hedstrom (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414211#comment-15414211
 ] 

Leif Hedstrom commented on TS-4727:
---

Sounds like [~shinrich]  has a fix for this?

> Assertion in H2: UnixNetVConnection.cc:918
> --
>
> Key: TS-4727
> URL: https://issues.apache.org/jira/browse/TS-4727
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Leif Hedstrom
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>
> Seeing this (newish) assertion using current (as of today) master.
> {code}
> FATAL: UnixNetVConnection.cc:918: failed assertion `!closed`
> traffic_server: using root directory '/opt/ats'
> traffic_server: Aborted (Signal sent by tkill() 2955 99)
> traffic_server - STACK TRACE:
> /opt/ats/lib/libtsutil.so.7(signal_crash_handler(int, siginfo_t*, 
> void*)+0x18)[0x2b7b54975702]
> /opt/ats/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, 
> void*)+0x155)[0x52e820]
> /lib64/libpthread.so.0(+0xf100)[0x2b7b56a6c100]
> /lib64/libc.so.6(gsignal+0x37)[0x2b7b577345f7]
> /lib64/libc.so.6(abort+0x148)[0x2b7b57735ce8]
> /opt/ats/lib/libtsutil.so.7(ink_warning(char const*, ...)+0x0)[0x2b7b549553c5]
> /opt/ats/lib/libtsutil.so.7(+0x7281f)[0x2b7b5494f81f]
> /opt/ats/bin/traffic_server(UnixNetVConnection::set_enabled(VIO*)+0x117)[0xa29e4f]
> /opt/ats/bin/traffic_server(UnixNetVConnection::reenable(VIO*)+0xf0)[0xa288d8]
> /opt/ats/bin/traffic_server(VIO::reenable()+0xa4)[0x534de4]
> /opt/ats/bin/traffic_server(Http2ClientSession::state_complete_frame_read(int,
>  void*)+0x6a4)[0x778066]
> /opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
> void*)+0x2a2)[0x7759a8]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server(Http2ClientSession::state_start_frame_read(int, 
> void*)+0x1117)[0x7778ad]
> /opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
> void*)+0x2a2)[0x7759a8]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server[0xa24157]
> /opt/ats/bin/traffic_server(UnixNetVConnection::readSignalAndUpdate(int)+0x20)[0xa2a9fc]
> /opt/ats/bin/traffic_server(SSLNetVConnection::net_read_io(NetHandler*, 
> EThread*)+0x15e4)[0x9ed26e]
> /opt/ats/bin/traffic_server(NetHandler::mainNetEvent(int, 
> Event*)+0x11f3)[0xa119f7]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server(EThread::process_event(Event*, 
> int)+0x2cf)[0xa6fcc1]
> /opt/ats/bin/traffic_server(EThread::execute()+0xa9d)[0xa70b01]
> /opt/ats/bin/traffic_server[0xa6e623]
> /lib64/libpthread.so.0(+0x7dc5)[0x2b7b56a64dc5]
> /lib64/libc.so.6(clone+0x6d)[0x2b7b577f5ced]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work logged] (TS-4717) Http2 stack explosion

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4717?focusedWorklogId=26254=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26254
 ]

ASF GitHub Bot logged work on TS-4717:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 20:48
Start Date: 09/Aug/16 20:48
Worklog Time Spent: 10m 
  Work Description: Github user atsci commented on the issue:

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



Issue Time Tracking
---

Worklog Id: (was: 26254)
Time Spent: 3h  (was: 2h 50m)

> Http2 stack explosion
> -
>
> Key: TS-4717
> URL: https://issues.apache.org/jira/browse/TS-4717
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Susan Hinrichs
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>  Time Spent: 3h
>  Remaining Estimate: 0h
>
> We see this periodically with high traffic loads.  ATS crashes with 7000+ 
> frames on the stack.  The bulk of the frames are the following frame 
> sequence.  
> {code}
> #117 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #118 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> #119 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #120 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #121 0x0064c386 in Http2ClientSession::state_complete_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:483
> #122 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #123 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #124 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> {code}
> We had cherry picked in the fix for TS-4209 to correctly enforce the 
> concurrent stream limit.  But in the latest crash of this type, it looks like 
> we are pulling small items from cache, so the stream lives and dies on the 
> stack.  The concurrent active connection count never reaches the limit.
> I am going to try to change the 
> state_state_start_frame_read/state_complete_frame_read logic from recursing 
> handlers to a loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver issue #842: TS-4717: Http2 stack explosion.

2016-08-09 Thread atsci
Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/842
  
FreeBSD build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-FreeBSD/513/ 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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TS-4498) RemapConfig.cc - Print out error message on remap plugin init failure.

2016-08-09 Thread Peter Chou (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414193#comment-15414193
 ] 

Peter Chou commented on TS-4498:


[~jpe...@apache.org] Would it be possible to back-port this to 6.2.x also? It 
should cherry-pick cleanly.

> RemapConfig.cc - Print out error message on remap plugin init failure.
> --
>
> Key: TS-4498
> URL: https://issues.apache.org/jira/browse/TS-4498
> Project: Traffic Server
>  Issue Type: Improvement
>  Components: Plugins
>Reporter: Peter Chou
>Assignee: James Peach
> Fix For: 7.0.0
>
>
> Add printing of the returned error message to the Warning() if a remap plugin 
> fails to init. Currently it just says "bailing out" which is not as useful.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-4708) traffic_cop looking for libtsutil.so.6 although libtsutil.so.7 was built.

2016-08-09 Thread Peter Chou (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414185#comment-15414185
 ] 

Peter Chou commented on TS-4708:


One more data point. It seems that the pre-install binary (left over after 
compilation) works, but the post-install binary does not. Something happens to 
the binary (I think) when you do "make -install". The pre-install binary will 
create a .libs directory in the execution directory with a lt-traffic_cop file 
inside and the program will run. The post-install binary will NOT create the 
.libs directory and then fails since it is searching for the wrong .6 library 
version. Any ideas?

> traffic_cop looking for libtsutil.so.6 although libtsutil.so.7 was built.
> -
>
> Key: TS-4708
> URL: https://issues.apache.org/jira/browse/TS-4708
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Cop
>Reporter: Peter Chou
> Fix For: 7.0.0
>
>
> Apologies if this is a known issue. I looked through several pages of search 
> results for traffic_cop and did not see this particular issue. Platform is 
> Ubuntu Linux 14.04 LTS 64-bit. I have previously installed and ran 6.1.x 
> under $HOME/local (I am running as an un-privileged user). I just tried 
> compiling and running "master" or 7.0.0 and installed to $HOME/master. I gave 
> the appropriate "--prefix" option to configure each time. Neither of the 
> directories above are in my LD_LIBRARY_PATH at compile or run time.
> Result: traffic_manager starts OK , traffic_server starts OK , traffic_cop 
> fails since it is looking for version-6 library. If I then add 
> $HOME/local/lib to my LD_LIBRARY_PATH (contains previous 6.1.x build), then 
> traffic_cop runs using the version-6 library under there. No idea why it 
> doesn't use the version-7 library that was built at the same time and 
> installed under $HOME/master.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver pull request #842: TS-4717: Http2 stack explosion.

2016-08-09 Thread shinrich
Github user shinrich commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/842#discussion_r74137828
  
--- Diff: proxy/http2/Http2ClientSession.h ---
@@ -243,6 +243,12 @@ class Http2ClientSession : public ProxyClientSession
 return "http/2";
   }
 
+  bool
+  is_client_closed() const
--- End diff --

Sure, makes sense to push up a level.  Fixing now.


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4717) Http2 stack explosion

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4717?focusedWorklogId=26253=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26253
 ]

ASF GitHub Bot logged work on TS-4717:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 20:29
Start Date: 09/Aug/16 20:29
Worklog Time Spent: 10m 
  Work Description: Github user shinrich commented on a diff in the pull 
request:

https://github.com/apache/trafficserver/pull/842#discussion_r74137828
  
--- Diff: proxy/http2/Http2ClientSession.h ---
@@ -243,6 +243,12 @@ class Http2ClientSession : public ProxyClientSession
 return "http/2";
   }
 
+  bool
+  is_client_closed() const
--- End diff --

Sure, makes sense to push up a level.  Fixing now.


Issue Time Tracking
---

Worklog Id: (was: 26253)
Time Spent: 2h 50m  (was: 2h 40m)

> Http2 stack explosion
> -
>
> Key: TS-4717
> URL: https://issues.apache.org/jira/browse/TS-4717
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Susan Hinrichs
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> We see this periodically with high traffic loads.  ATS crashes with 7000+ 
> frames on the stack.  The bulk of the frames are the following frame 
> sequence.  
> {code}
> #117 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #118 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> #119 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #120 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #121 0x0064c386 in Http2ClientSession::state_complete_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:483
> #122 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #123 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #124 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> {code}
> We had cherry picked in the fix for TS-4209 to correctly enforce the 
> concurrent stream limit.  But in the latest crash of this type, it looks like 
> we are pulling small items from cache, so the stream lives and dies on the 
> stack.  The concurrent active connection count never reaches the limit.
> I am going to try to change the 
> state_state_start_frame_read/state_complete_frame_read logic from recursing 
> handlers to a loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (TS-4724) Adding/creating new lua API "ts.server_request.remove_host_name_from_url()" to remove host name from the GET request send to next tier

2016-08-09 Thread Rajendra Kishore Bonumahanti (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414178#comment-15414178
 ] 

Rajendra Kishore Bonumahanti edited comment on TS-4724 at 8/9/16 8:26 PM:
--

The existing ts_lua API, ts.server_request.set_uri(), will help to modify the 
URI. It does not help to remove the hostname from URL. I tested it. 

ts.server_request.set_uri("/dir2/a.txt") will make the GET request 
(http://abc.com/dir1/a.txt) as below..


+ Proxy's Request +
-- State Machine Id: 5593
GET http://origin.com/dir2/a.txt HTTP/1.1^M
User-Agent: curl/7.29.0^M
Host: abc.com^M
Accept: */*^M
Client-ip: 135.xx.xx.xx^M
X-Forwarded-For: 135.xx.xx.xx^M

I will work on the pull request..



was (Author: rkishore):
The existing ts_lua API, ts.server_request.set_uri(), will help to modify the 
URI. It does not help to remove the hostname from URL. I tested it. 

ts.server_request.set_uri("/dir2/a.txt") will make the GET request 
(http://abc.com/dir1/a.txt)as below..


+ Proxy's Request +
-- State Machine Id: 5593
GET http://origin.com/dir2/a.txt HTTP/1.1^M
User-Agent: curl/7.29.0^M
Host: abc.com^M
Accept: */*^M
Client-ip: 135.xx.xx.xx^M
X-Forwarded-For: 135.xx.xx.xx^M




> Adding/creating new lua API "ts.server_request.remove_host_name_from_url()" 
> to remove host name from the GET request send to next tier
> --
>
> Key: TS-4724
> URL: https://issues.apache.org/jira/browse/TS-4724
> Project: Traffic Server
>  Issue Type: Improvement
>  Components: Lua
>Reporter: Rajendra Kishore Bonumahanti
> Fix For: 7.0.0
>
>
> Create a new lua API "ts.server_request.remove_host_name_from_url()" to 
> remove host name from the GET request to next tier. This helps to have a 
> parent remap.config entry similar to child cache. This makes provisioning 
> more meaningful and easy at both parent and child.
> With this fix, the GET request to parent will change..
> from:
> + Proxy's Request +
> -- State Machine Id: 5593
> GET http://origin.com/dir1/a.txt HTTP/1.1^M
> User-Agent: curl/7.29.0^M
> Host: abc.com^M
> Accept: */*^M
> Client-ip: 135.xx.xx.xx^M
> X-Forwarded-For: 135.xx.xx.xx^M
> To:
> + Proxy's Request +
> -- State Machine Id: 5593
> GET /dir1/a.txt HTTP/1.1^M
> User-Agent: curl/7.29.0^M
> Host: abc.com^M
> Accept: */*^M
> Client-ip: 135.xx.xx.xx^M
> X-Forwarded-For: 135.xx.xx.xx^M
> This will enable to have parent and child's remap.config entries as below:
> map http://abc.com http://origin.com @plugin=tslua.so 
> @pparam=/opt/trafficserver/etc/trafficserver/lua/test.lua



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-4724) Adding/creating new lua API "ts.server_request.remove_host_name_from_url()" to remove host name from the GET request send to next tier

2016-08-09 Thread Rajendra Kishore Bonumahanti (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15414178#comment-15414178
 ] 

Rajendra Kishore Bonumahanti commented on TS-4724:
--

The existing ts_lua API, ts.server_request.set_uri(), will help to modify the 
URI. It does not help to remove the hostname from URL. I tested it. 

ts.server_request.set_uri("/dir2/a.txt") will make the GET request 
(http://abc.com/dir1/a.txt)as below..


+ Proxy's Request +
-- State Machine Id: 5593
GET http://origin.com/dir2/a.txt HTTP/1.1^M
User-Agent: curl/7.29.0^M
Host: abc.com^M
Accept: */*^M
Client-ip: 135.xx.xx.xx^M
X-Forwarded-For: 135.xx.xx.xx^M




> Adding/creating new lua API "ts.server_request.remove_host_name_from_url()" 
> to remove host name from the GET request send to next tier
> --
>
> Key: TS-4724
> URL: https://issues.apache.org/jira/browse/TS-4724
> Project: Traffic Server
>  Issue Type: Improvement
>  Components: Lua
>Reporter: Rajendra Kishore Bonumahanti
> Fix For: 7.0.0
>
>
> Create a new lua API "ts.server_request.remove_host_name_from_url()" to 
> remove host name from the GET request to next tier. This helps to have a 
> parent remap.config entry similar to child cache. This makes provisioning 
> more meaningful and easy at both parent and child.
> With this fix, the GET request to parent will change..
> from:
> + Proxy's Request +
> -- State Machine Id: 5593
> GET http://origin.com/dir1/a.txt HTTP/1.1^M
> User-Agent: curl/7.29.0^M
> Host: abc.com^M
> Accept: */*^M
> Client-ip: 135.xx.xx.xx^M
> X-Forwarded-For: 135.xx.xx.xx^M
> To:
> + Proxy's Request +
> -- State Machine Id: 5593
> GET /dir1/a.txt HTTP/1.1^M
> User-Agent: curl/7.29.0^M
> Host: abc.com^M
> Accept: */*^M
> Client-ip: 135.xx.xx.xx^M
> X-Forwarded-For: 135.xx.xx.xx^M
> This will enable to have parent and child's remap.config entries as below:
> map http://abc.com http://origin.com @plugin=tslua.so 
> @pparam=/opt/trafficserver/etc/trafficserver/lua/test.lua



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work logged] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4726?focusedWorklogId=26252=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26252
 ]

ASF GitHub Bot logged work on TS-4726:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 20:18
Start Date: 09/Aug/16 20:18
Worklog Time Spent: 10m 
  Work Description: Github user shinrich commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
Agreed that the assert doesn't mean much at this point.

current_reader (the HttpSM) may be NULL here or not.  If the StateMachine 
calls ua_session->release then it will not be null.  But Http2Stream::release() 
calls do_io_close which calls super::release() again for good measure.  The 
second time through current_reader will be NULL.



Issue Time Tracking
---

Worklog Id: (was: 26252)
Time Spent: 50m  (was: 40m)

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> 

[GitHub] trafficserver issue #846: TS-4726: Remove unnecessary assert in ProxyClientT...

2016-08-09 Thread shinrich
Github user shinrich commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
Agreed that the assert doesn't mean much at this point.

current_reader (the HttpSM) may be NULL here or not.  If the StateMachine 
calls ua_session->release then it will not be null.  But Http2Stream::release() 
calls do_io_close which calls super::release() again for good measure.  The 
second time through current_reader will be NULL.



---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Updated] (TS-4727) Assertion in H2: UnixNetVConnection.cc:918

2016-08-09 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-4727:
--
Fix Version/s: 7.0.0

> Assertion in H2: UnixNetVConnection.cc:918
> --
>
> Key: TS-4727
> URL: https://issues.apache.org/jira/browse/TS-4727
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Leif Hedstrom
> Fix For: 7.0.0
>
>
> Seeing this (newish) assertion using current (as of today) master.
> {code}
> FATAL: UnixNetVConnection.cc:918: failed assertion `!closed`
> traffic_server: using root directory '/opt/ats'
> traffic_server: Aborted (Signal sent by tkill() 2955 99)
> traffic_server - STACK TRACE:
> /opt/ats/lib/libtsutil.so.7(signal_crash_handler(int, siginfo_t*, 
> void*)+0x18)[0x2b7b54975702]
> /opt/ats/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, 
> void*)+0x155)[0x52e820]
> /lib64/libpthread.so.0(+0xf100)[0x2b7b56a6c100]
> /lib64/libc.so.6(gsignal+0x37)[0x2b7b577345f7]
> /lib64/libc.so.6(abort+0x148)[0x2b7b57735ce8]
> /opt/ats/lib/libtsutil.so.7(ink_warning(char const*, ...)+0x0)[0x2b7b549553c5]
> /opt/ats/lib/libtsutil.so.7(+0x7281f)[0x2b7b5494f81f]
> /opt/ats/bin/traffic_server(UnixNetVConnection::set_enabled(VIO*)+0x117)[0xa29e4f]
> /opt/ats/bin/traffic_server(UnixNetVConnection::reenable(VIO*)+0xf0)[0xa288d8]
> /opt/ats/bin/traffic_server(VIO::reenable()+0xa4)[0x534de4]
> /opt/ats/bin/traffic_server(Http2ClientSession::state_complete_frame_read(int,
>  void*)+0x6a4)[0x778066]
> /opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
> void*)+0x2a2)[0x7759a8]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server(Http2ClientSession::state_start_frame_read(int, 
> void*)+0x1117)[0x7778ad]
> /opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
> void*)+0x2a2)[0x7759a8]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server[0xa24157]
> /opt/ats/bin/traffic_server(UnixNetVConnection::readSignalAndUpdate(int)+0x20)[0xa2a9fc]
> /opt/ats/bin/traffic_server(SSLNetVConnection::net_read_io(NetHandler*, 
> EThread*)+0x15e4)[0x9ed26e]
> /opt/ats/bin/traffic_server(NetHandler::mainNetEvent(int, 
> Event*)+0x11f3)[0xa119f7]
> /opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
> void*)+0x149)[0x534d3d]
> /opt/ats/bin/traffic_server(EThread::process_event(Event*, 
> int)+0x2cf)[0xa6fcc1]
> /opt/ats/bin/traffic_server(EThread::execute()+0xa9d)[0xa70b01]
> /opt/ats/bin/traffic_server[0xa6e623]
> /lib64/libpthread.so.0(+0x7dc5)[0x2b7b56a64dc5]
> /lib64/libc.so.6(clone+0x6d)[0x2b7b577f5ced]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-4727) Assertion in H2: UnixNetVConnection.cc:918

2016-08-09 Thread Leif Hedstrom (JIRA)
Leif Hedstrom created TS-4727:
-

 Summary: Assertion in H2: UnixNetVConnection.cc:918
 Key: TS-4727
 URL: https://issues.apache.org/jira/browse/TS-4727
 Project: Traffic Server
  Issue Type: Bug
  Components: HTTP/2
Reporter: Leif Hedstrom


Seeing this (newish) assertion using current (as of today) master.


{code}
FATAL: UnixNetVConnection.cc:918: failed assertion `!closed`
traffic_server: using root directory '/opt/ats'
traffic_server: Aborted (Signal sent by tkill() 2955 99)
traffic_server - STACK TRACE:
/opt/ats/lib/libtsutil.so.7(signal_crash_handler(int, siginfo_t*, 
void*)+0x18)[0x2b7b54975702]
/opt/ats/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, 
void*)+0x155)[0x52e820]
/lib64/libpthread.so.0(+0xf100)[0x2b7b56a6c100]
/lib64/libc.so.6(gsignal+0x37)[0x2b7b577345f7]
/lib64/libc.so.6(abort+0x148)[0x2b7b57735ce8]
/opt/ats/lib/libtsutil.so.7(ink_warning(char const*, ...)+0x0)[0x2b7b549553c5]
/opt/ats/lib/libtsutil.so.7(+0x7281f)[0x2b7b5494f81f]
/opt/ats/bin/traffic_server(UnixNetVConnection::set_enabled(VIO*)+0x117)[0xa29e4f]
/opt/ats/bin/traffic_server(UnixNetVConnection::reenable(VIO*)+0xf0)[0xa288d8]
/opt/ats/bin/traffic_server(VIO::reenable()+0xa4)[0x534de4]
/opt/ats/bin/traffic_server(Http2ClientSession::state_complete_frame_read(int, 
void*)+0x6a4)[0x778066]
/opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
void*)+0x2a2)[0x7759a8]
/opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
void*)+0x149)[0x534d3d]
/opt/ats/bin/traffic_server(Http2ClientSession::state_start_frame_read(int, 
void*)+0x1117)[0x7778ad]
/opt/ats/bin/traffic_server(Http2ClientSession::main_event_handler(int, 
void*)+0x2a2)[0x7759a8]
/opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
void*)+0x149)[0x534d3d]
/opt/ats/bin/traffic_server[0xa24157]
/opt/ats/bin/traffic_server(UnixNetVConnection::readSignalAndUpdate(int)+0x20)[0xa2a9fc]
/opt/ats/bin/traffic_server(SSLNetVConnection::net_read_io(NetHandler*, 
EThread*)+0x15e4)[0x9ed26e]
/opt/ats/bin/traffic_server(NetHandler::mainNetEvent(int, 
Event*)+0x11f3)[0xa119f7]
/opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
void*)+0x149)[0x534d3d]
/opt/ats/bin/traffic_server(EThread::process_event(Event*, int)+0x2cf)[0xa6fcc1]
/opt/ats/bin/traffic_server(EThread::execute()+0xa9d)[0xa70b01]
/opt/ats/bin/traffic_server[0xa6e623]
/lib64/libpthread.so.0(+0x7dc5)[0x2b7b56a64dc5]
/lib64/libc.so.6(clone+0x6d)[0x2b7b577f5ced]
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work logged] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4726?focusedWorklogId=26249=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26249
 ]

ASF GitHub Bot logged work on TS-4726:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 17:41
Start Date: 09/Aug/16 17:41
Worklog Time Spent: 10m 
  Work Description: Github user JamesPeach commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
Is the reader actually *guaranteed* to be NULL here?


Issue Time Tracking
---

Worklog Id: (was: 26249)
Time Spent: 40m  (was: 0.5h)

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> (this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
> #22 0x009bc80a in SSLNetVConnection::net_read_io 
> (this=0x60ae0001cb70, nh=0x70901460, lthread=0x708fd800) at 
> SSLNetVConnection.cc:579
> #23 0x009dc629 in NetHandler::mainNetEvent (this=0x70901460, 
> event=5, 

[GitHub] trafficserver issue #846: TS-4726: Remove unnecessary assert in ProxyClientT...

2016-08-09 Thread JamesPeach
Github user JamesPeach commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
Is the reader actually *guaranteed* to be NULL here?


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] trafficserver pull request #842: TS-4717: Http2 stack explosion.

2016-08-09 Thread jpeach
Github user jpeach commented on a diff in the pull request:

https://github.com/apache/trafficserver/pull/842#discussion_r74106638
  
--- Diff: proxy/http2/Http2ClientSession.h ---
@@ -243,6 +243,12 @@ class Http2ClientSession : public ProxyClientSession
 return "http/2";
   }
 
+  bool
+  is_client_closed() const
--- End diff --

Implement this in "ProxyClientSession" by calling "get_netvc()"?


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4717) Http2 stack explosion

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4717?focusedWorklogId=26248=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26248
 ]

ASF GitHub Bot logged work on TS-4717:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 17:39
Start Date: 09/Aug/16 17:39
Worklog Time Spent: 10m 
  Work Description: Github user jpeach commented on a diff in the pull 
request:

https://github.com/apache/trafficserver/pull/842#discussion_r74106638
  
--- Diff: proxy/http2/Http2ClientSession.h ---
@@ -243,6 +243,12 @@ class Http2ClientSession : public ProxyClientSession
 return "http/2";
   }
 
+  bool
+  is_client_closed() const
--- End diff --

Implement this in "ProxyClientSession" by calling "get_netvc()"?


Issue Time Tracking
---

Worklog Id: (was: 26248)
Time Spent: 2h 40m  (was: 2.5h)

> Http2 stack explosion
> -
>
> Key: TS-4717
> URL: https://issues.apache.org/jira/browse/TS-4717
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Susan Hinrichs
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> We see this periodically with high traffic loads.  ATS crashes with 7000+ 
> frames on the stack.  The bulk of the frames are the following frame 
> sequence.  
> {code}
> #117 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #118 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> #119 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #120 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #121 0x0064c386 in Http2ClientSession::state_complete_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:483
> #122 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #123 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #124 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> {code}
> We had cherry picked in the fix for TS-4209 to correctly enforce the 
> concurrent stream limit.  But in the latest crash of this type, it looks like 
> we are pulling small items from cache, so the stream lives and dies on the 
> stack.  The concurrent active connection count never reaches the limit.
> I am going to try to change the 
> state_state_start_frame_read/state_complete_frame_read logic from recursing 
> handlers to a loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Build failed in Jenkins: clang-analyzer #2532

2016-08-09 Thread jenkins
See 

Changes:

[Masaori Koshiba] TS-4554: Add some limitations in Http2DependencyTree

--
[...truncated 4952 lines...]
reading sources... [ 54%] developer-guide/api/functions/TSMimeHdrFieldNextDup.en
reading sources... [ 54%] developer-guide/api/functions/TSMimeHdrFieldRemove.en
reading sources... [ 54%] 
developer-guide/api/functions/TSMimeHdrFieldValueAppend.en
reading sources... [ 54%] 
developer-guide/api/functions/TSMimeHdrFieldValueDateInsert.en
reading sources... [ 54%] 
developer-guide/api/functions/TSMimeHdrFieldValueDateSet.en
reading sources... [ 55%] 
developer-guide/api/functions/TSMimeHdrFieldValueIntSet.en
reading sources... [ 55%] 
developer-guide/api/functions/TSMimeHdrFieldValueStringGet.en
reading sources... [ 55%] 
developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en
reading sources... [ 55%] 
developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en
reading sources... [ 56%] 
developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en
reading sources... [ 56%] 
developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en
reading sources... [ 56%] 
developer-guide/api/functions/TSMimeHdrFieldValuesClear.en
reading sources... [ 56%] 
developer-guide/api/functions/TSMimeHdrFieldValuesCount.en
reading sources... [ 56%] developer-guide/api/functions/TSMimeHdrFieldsClear.en
reading sources... [ 57%] developer-guide/api/functions/TSMimeHdrFieldsCount.en
reading sources... [ 57%] developer-guide/api/functions/TSMimeHdrLengthGet.en
reading sources... [ 57%] developer-guide/api/functions/TSMimeHdrParse.en
reading sources... [ 57%] developer-guide/api/functions/TSMimeHdrPrint.en
reading sources... [ 58%] developer-guide/api/functions/TSMimeParserClear.en
reading sources... [ 58%] developer-guide/api/functions/TSMimeParserCreate.en
reading sources... [ 58%] developer-guide/api/functions/TSMimeParserDestroy.en
reading sources... [ 58%] developer-guide/api/functions/TSMutexCreate.en
reading sources... [ 58%] developer-guide/api/functions/TSMutexDestroy.en
reading sources... [ 59%] developer-guide/api/functions/TSMutexLock.en
reading sources... [ 59%] developer-guide/api/functions/TSMutexLockTry.en
reading sources... [ 59%] developer-guide/api/functions/TSMutexUnlock.en
reading sources... [ 59%] developer-guide/api/functions/TSNetAccept.en
reading sources... [ 60%] 
developer-guide/api/functions/TSNetAcceptNamedProtocol.en
reading sources... [ 60%] developer-guide/api/functions/TSNetConnect.en
reading sources... [ 60%] developer-guide/api/functions/TSPluginInit.en
reading sources... [ 60%] developer-guide/api/functions/TSRemap.en
reading sources... [ 60%] developer-guide/api/functions/TSSslContextFindBy.en
reading sources... [ 61%] 
developer-guide/api/functions/TSSslServerContextCreate.en
reading sources... [ 61%] developer-guide/api/functions/TSTextLogObjectCreate.en
reading sources... [ 61%] developer-guide/api/functions/TSThreadCreate.en
reading sources... [ 61%] developer-guide/api/functions/TSThreadDestroy.en
reading sources... [ 62%] developer-guide/api/functions/TSThreadInit.en
reading sources... [ 62%] developer-guide/api/functions/TSThreadSelf.en
reading sources... [ 62%] 
developer-guide/api/functions/TSTrafficServerVersionGet.en
reading sources... [ 62%] developer-guide/api/functions/TSTransformCreate.en
reading sources... [ 62%] 
developer-guide/api/functions/TSTransformOutputVConnGet.en
reading sources... [ 63%] developer-guide/api/functions/TSTypes.en
reading sources... [ 63%] developer-guide/api/functions/TSUrlCreate.en
reading sources... [ 63%] developer-guide/api/functions/TSUrlDestroy.en
reading sources... [ 63%] developer-guide/api/functions/TSUrlFtpTypeGet.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlFtpTypeSet.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlHostGet.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlHostSet.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlPercentEncode.en
reading sources... [ 64%] developer-guide/api/functions/TSUrlStringGet.en
reading sources... [ 65%] developer-guide/api/functions/TSUuidCreate.en
reading sources... [ 65%] developer-guide/api/functions/TSVConnAbort.en
reading sources... [ 65%] 
developer-guide/api/functions/TSVConnCacheObjectSizeGet.en
reading sources... [ 65%] developer-guide/api/functions/TSVConnClose.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnClosedGet.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnFdCreate.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnIsSsl.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnRead.en
reading sources... [ 66%] developer-guide/api/functions/TSVConnReadVIOGet.en
reading sources... [ 67%] developer-guide/api/functions/TSVConnReenable.en
reading sources... [ 67%] developer-guide/api/functions/TSVConnShutdown.en
reading sources... [ 

[jira] [Resolved] (TS-4554) ASAN crash (stack overflow) with H2 priorities

2016-08-09 Thread Masaori Koshiba (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4554?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Masaori Koshiba resolved TS-4554.
-
Resolution: Fixed

> ASAN crash (stack overflow) with H2 priorities
> --
>
> Key: TS-4554
> URL: https://issues.apache.org/jira/browse/TS-4554
> Project: Traffic Server
>  Issue Type: Improvement
>  Components: HTTP/2
>Affects Versions: 7.0.0
>Reporter: Leif Hedstrom
>Assignee: Masaori Koshiba
>  Labels: ASAN
> Fix For: 7.0.0
>
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> I'm seeing (truncated):
> {code}
> ASAN:SIGSEGV
> =
> ==11178==ERROR: AddressSanitizer: stack-overflow on address 0x2aab63633ff0 
> (pc 0x007ddaa9 bp 0x2aab63634050 sp 0x2aab63633ff0 T6)
> #0 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:134
> #1 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> .
> .
> .
> #2261 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2262 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2263 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> SUMMARY: AddressSanitizer: stack-overflow 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:134 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int)
> Thread T6 ([ET_NET 5]) created by T0 ([ET_NET 0]) here:
> #0 0x2aab5b0d50c4 in __interceptor_pthread_create 
> ../../../../libsanitizer/asan/asan_interceptors.cc:179
> #1 0xcfdb99 in ink_thread_create ../../lib/ts/ink_thread.h:147
> #2 0xcfdb99 in Thread::start(char const*, unsigned long, void* 
> (*)(void*), void*) 
> /usr/local/src/trafficserver/iocore/eventsystem/Thread.cc:99
> #3 0xd0562e in EventProcessor::start(int, unsigned long) 
> /usr/local/src/trafficserver/iocore/eventsystem/UnixEventProcessor.cc:140
> #4 0x497b59 in main /usr/local/src/trafficserver/proxy/Main.cc:1746
> #5 0x2aab5ee11b14 in __libc_start_main (/lib64/libc.so.6+0x21b14)
> ==11178==ABORTING
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-4554) ASAN crash (stack overflow) with H2 priorities

2016-08-09 Thread Masaori Koshiba (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4554?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Masaori Koshiba updated TS-4554:

Backport to Version: 6.2.1

> ASAN crash (stack overflow) with H2 priorities
> --
>
> Key: TS-4554
> URL: https://issues.apache.org/jira/browse/TS-4554
> Project: Traffic Server
>  Issue Type: Improvement
>  Components: HTTP/2
>Affects Versions: 7.0.0
>Reporter: Leif Hedstrom
>Assignee: Masaori Koshiba
>  Labels: ASAN
> Fix For: 7.0.0
>
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> I'm seeing (truncated):
> {code}
> ASAN:SIGSEGV
> =
> ==11178==ERROR: AddressSanitizer: stack-overflow on address 0x2aab63633ff0 
> (pc 0x007ddaa9 bp 0x2aab63634050 sp 0x2aab63633ff0 T6)
> #0 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:134
> #1 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> .
> .
> .
> #2261 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2262 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2263 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> SUMMARY: AddressSanitizer: stack-overflow 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:134 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int)
> Thread T6 ([ET_NET 5]) created by T0 ([ET_NET 0]) here:
> #0 0x2aab5b0d50c4 in __interceptor_pthread_create 
> ../../../../libsanitizer/asan/asan_interceptors.cc:179
> #1 0xcfdb99 in ink_thread_create ../../lib/ts/ink_thread.h:147
> #2 0xcfdb99 in Thread::start(char const*, unsigned long, void* 
> (*)(void*), void*) 
> /usr/local/src/trafficserver/iocore/eventsystem/Thread.cc:99
> #3 0xd0562e in EventProcessor::start(int, unsigned long) 
> /usr/local/src/trafficserver/iocore/eventsystem/UnixEventProcessor.cc:140
> #4 0x497b59 in main /usr/local/src/trafficserver/proxy/Main.cc:1746
> #5 0x2aab5ee11b14 in __libc_start_main (/lib64/libc.so.6+0x21b14)
> ==11178==ABORTING
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Build failed in Jenkins: centos_7-master » clang,centos_7,debug #1888

2016-08-09 Thread jenkins
See 


--
[...truncated 18064 lines...]
0|0|145.111.0.0|145.111.0.0|per_ip| |F|0|0|1970/01/01 
00:00:00|4310273191177806975|0|0|1|0
RPRINT Congestion_CongestionDB: There are 1048576 records in the db
RPRINT Congestion_CongestionDB: After test [1] there are 1024 records in the db
RPRINT Congestion_CongestionDB: After test [2] there are 2816 records in the db
RPRINT Congestion_CongestionDB: After test [3] there are 1048576 records in the 
db
REGRESSION_RESULT Congestion_CongestionDB:  PASSED
REGRESSION TEST Congestion_FailHistory started
RPRINT Congestion_FailHistory: Verify the result
RPRINT Congestion_FailHistory: Content of history
RPRINT Congestion_FailHistory: bucket 0 => events 2612 , sum = 2612
RPRINT Congestion_FailHistory: bucket 1 => events 3974 , sum = 6586
RPRINT Congestion_FailHistory: bucket 2 => events 4015 , sum = 10601
RPRINT Congestion_FailHistory: bucket 3 => events 3855 , sum = 14456
RPRINT Congestion_FailHistory: bucket 4 => events 4029 , sum = 18485
RPRINT Congestion_FailHistory: bucket 5 => events 4023 , sum = 22508
RPRINT Congestion_FailHistory: bucket 6 => events 3828 , sum = 26336
RPRINT Congestion_FailHistory: bucket 7 => events 3855 , sum = 30191
RPRINT Congestion_FailHistory: bucket 8 => events 3914 , sum = 34105
RPRINT Congestion_FailHistory: bucket 9 => events 3864 , sum = 37969
RPRINT Congestion_FailHistory: bucket 10 => events 3926 , sum = 41895
RPRINT Congestion_FailHistory: bucket 11 => events 4018 , sum = 45913
RPRINT Congestion_FailHistory: bucket 12 => events 3957 , sum = 49870
RPRINT Congestion_FailHistory: bucket 13 => events 3935 , sum = 53805
RPRINT Congestion_FailHistory: bucket 14 => events 3959 , sum = 57764
RPRINT Congestion_FailHistory: bucket 15 => events 3869 , sum = 61633
RPRINT Congestion_FailHistory: bucket 16 => events 3903 , sum = 65536
Events: 65536, CurIndex: 0, LastEvent: 299, HistLen: 306, BinLen: 18, Start: 0
RPRINT Congestion_FailHistory: 233|0|dummy_host| |per_ip| |F|0|0|1970/01/01 
00:03:53|0|299|65536|1|0
RPRINT Congestion_FailHistory: Verify the result
RPRINT Congestion_FailHistory: Content of history
RPRINT Congestion_FailHistory: bucket 0 => events 961 , sum = 961
RPRINT Congestion_FailHistory: bucket 1 => events 978 , sum = 1939
RPRINT Congestion_FailHistory: bucket 2 => events 602 , sum = 2541
RPRINT Congestion_FailHistory: bucket 3 => events 1011 , sum = 3552
RPRINT Congestion_FailHistory: bucket 4 => events 956 , sum = 4508
RPRINT Congestion_FailHistory: bucket 5 => events 1019 , sum = 5527
RPRINT Congestion_FailHistory: bucket 6 => events 992 , sum = 6519
RPRINT Congestion_FailHistory: bucket 7 => events 969 , sum = 7488
RPRINT Congestion_FailHistory: bucket 8 => events 1009 , sum = 8497
RPRINT Congestion_FailHistory: bucket 9 => events 950 , sum = 9447
RPRINT Congestion_FailHistory: bucket 10 => events 976 , sum = 10423
RPRINT Congestion_FailHistory: bucket 11 => events 974 , sum = 11397
RPRINT Congestion_FailHistory: bucket 12 => events 1007 , sum = 12404
RPRINT Congestion_FailHistory: bucket 13 => events 955 , sum = 13359
RPRINT Congestion_FailHistory: bucket 14 => events 998 , sum = 14357
RPRINT Congestion_FailHistory: bucket 15 => events 983 , sum = 15340
RPRINT Congestion_FailHistory: bucket 16 => events 1044 , sum = 16384
Events: 16384, CurIndex: 2, LastEvent: 2999, HistLen: 306, BinLen: 18, Start: 
2700
RPRINT Congestion_FailHistory: 2997|0|dummy_host| |per_ip| |F|0|0|1970/01/01 
00:49:57|0|2999|16384|1|0
REGRESSION_RESULT Congestion_FailHistory:   PASSED
REGRESSION TEST Congestion_HashTable started
RPRINT Congestion_HashTable: adding data into the hash table 
...done
RPRINT Congestion_HashTable: 1048576 data added into the hash table
RPRINT Congestion_HashTable: verifying the 
content..done
RPRINT Congestion_HashTable: removing data..done
RPRINT Congestion_HashTable: 524287 data entries are removed
RPRINT Congestion_HashTable: verify the content 
again..done
RPRINT Congestion_HashTable: use iterator to list all the elements and delete 
half of themdone
RPRINT Congestion_HashTable: verify the content once again...done
RPRINT Congestion_HashTable: remove everything using iterator...done
REGRESSION_RESULT Congestion_HashTable: PASSED
REGRESSION TEST SDK_API_TSHttpConnectServerIntercept started
[SDK_API_TSHttpConnectServerIntercept] TSHttpConnect : [TestCase2] <> { 
ok }
[SDK_API_TSHttpConnectServerIntercept] TSHttpTxnServerIntercept : [TestCase2] 
<> { ok }
REGRESSION_RESULT SDK_API_TSHttpConnectServerIntercept: PASSED
REGRESSION TEST SDK_API_TSHttpConnectIntercept started
== parsing

 real request (length=123)

GET 

[jira] [Work logged] (TS-4554) ASAN crash (stack overflow) with H2 priorities

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4554?focusedWorklogId=26247=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26247
 ]

ASF GitHub Bot logged work on TS-4554:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 09:08
Start Date: 09/Aug/16 09:08
Worklog Time Spent: 10m 
  Work Description: Github user masaori335 closed the pull request at:

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


Issue Time Tracking
---

Worklog Id: (was: 26247)
Time Spent: 2h 40m  (was: 2.5h)

> ASAN crash (stack overflow) with H2 priorities
> --
>
> Key: TS-4554
> URL: https://issues.apache.org/jira/browse/TS-4554
> Project: Traffic Server
>  Issue Type: Improvement
>  Components: HTTP/2
>Affects Versions: 7.0.0
>Reporter: Leif Hedstrom
>Assignee: Masaori Koshiba
>  Labels: ASAN
> Fix For: 7.0.0
>
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> I'm seeing (truncated):
> {code}
> ASAN:SIGSEGV
> =
> ==11178==ERROR: AddressSanitizer: stack-overflow on address 0x2aab63633ff0 
> (pc 0x007ddaa9 bp 0x2aab63634050 sp 0x2aab63633ff0 T6)
> #0 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:134
> #1 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2 0x7ddaa8 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> .
> .
> .
> #2261 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2262 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> #2263 0x7ddc34 in 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int) 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:140
> SUMMARY: AddressSanitizer: stack-overflow 
> /usr/local/src/trafficserver/proxy/http2/Http2DependencyTree.h:134 
> Http2DependencyTree::_find(Http2DependencyTree::Node*,
>  unsigned int)
> Thread T6 ([ET_NET 5]) created by T0 ([ET_NET 0]) here:
> #0 0x2aab5b0d50c4 in __interceptor_pthread_create 
> ../../../../libsanitizer/asan/asan_interceptors.cc:179
> #1 0xcfdb99 in ink_thread_create ../../lib/ts/ink_thread.h:147
> #2 0xcfdb99 in Thread::start(char const*, unsigned long, void* 
> (*)(void*), void*) 
> /usr/local/src/trafficserver/iocore/eventsystem/Thread.cc:99
> #3 0xd0562e in EventProcessor::start(int, unsigned long) 
> /usr/local/src/trafficserver/iocore/eventsystem/UnixEventProcessor.cc:140
> #4 0x497b59 in main /usr/local/src/trafficserver/proxy/Main.cc:1746
> #5 0x2aab5ee11b14 in __libc_start_main (/lib64/libc.so.6+0x21b14)
> ==11178==ABORTING
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver pull request #830: TS-4554: Add some limitations in Http2Depen...

2016-08-09 Thread masaori335
Github user masaori335 closed the pull request at:

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


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4717) Http2 stack explosion

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4717?focusedWorklogId=26246=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26246
 ]

ASF GitHub Bot logged work on TS-4717:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 08:22
Start Date: 09/Aug/16 08:22
Worklog Time Spent: 10m 
  Work Description: Github user maskit commented on the issue:

https://github.com/apache/trafficserver/pull/842
  
Looks good.  
Now I don't see any assert nor stack explosion except the one @masaori335  
reported.


Issue Time Tracking
---

Worklog Id: (was: 26246)
Time Spent: 2.5h  (was: 2h 20m)

> Http2 stack explosion
> -
>
> Key: TS-4717
> URL: https://issues.apache.org/jira/browse/TS-4717
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Susan Hinrichs
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> We see this periodically with high traffic loads.  ATS crashes with 7000+ 
> frames on the stack.  The bulk of the frames are the following frame 
> sequence.  
> {code}
> #117 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #118 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> #119 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #120 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #121 0x0064c386 in Http2ClientSession::state_complete_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:483
> #122 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #123 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #124 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> {code}
> We had cherry picked in the fix for TS-4209 to correctly enforce the 
> concurrent stream limit.  But in the latest crash of this type, it looks like 
> we are pulling small items from cache, so the stream lives and dies on the 
> stack.  The concurrent active connection count never reaches the limit.
> I am going to try to change the 
> state_state_start_frame_read/state_complete_frame_read logic from recursing 
> handlers to a loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver issue #842: TS-4717: Http2 stack explosion.

2016-08-09 Thread maskit
Github user maskit commented on the issue:

https://github.com/apache/trafficserver/pull/842
  
Looks good. 👍 
Now I don't see any assert nor stack explosion except the one @masaori335  
reported.


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4726?focusedWorklogId=26245=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26245
 ]

ASF GitHub Bot logged work on TS-4726:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 07:53
Start Date: 09/Aug/16 07:53
Worklog Time Spent: 10m 
  Work Description: Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
Linux build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-Linux/409/ for details.
 



Issue Time Tracking
---

Worklog Id: (was: 26245)
Time Spent: 0.5h  (was: 20m)

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> (this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
> #22 0x009bc80a in SSLNetVConnection::net_read_io 
> (this=0x60ae0001cb70, nh=0x70901460, lthread=0x708fd800) at 
> SSLNetVConnection.cc:579
> #23 0x009dc629 in 

[GitHub] trafficserver issue #846: TS-4726: Remove unnecessary assert in ProxyClientT...

2016-08-09 Thread atsci
Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
Linux build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-Linux/409/ 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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] trafficserver issue #846: TS-4726: Remove unnecessary assert in ProxyClientT...

2016-08-09 Thread atsci
Github user atsci commented on the issue:

https://github.com/apache/trafficserver/pull/846
  
FreeBSD build *successful*! See 
https://ci.trafficserver.apache.org/job/Github-FreeBSD/512/ 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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Work logged] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4726?focusedWorklogId=26244=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26244
 ]

ASF GitHub Bot logged work on TS-4726:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 07:48
Start Date: 09/Aug/16 07:48
Worklog Time Spent: 10m 
  Work Description: Github user atsci commented on the issue:

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



Issue Time Tracking
---

Worklog Id: (was: 26244)
Time Spent: 20m  (was: 10m)

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> (this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
> #22 0x009bc80a in SSLNetVConnection::net_read_io 
> (this=0x60ae0001cb70, nh=0x70901460, lthread=0x708fd800) at 
> SSLNetVConnection.cc:579
> #23 0x009dc629 in 

[jira] [Work logged] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4726?focusedWorklogId=26243=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26243
 ]

ASF GitHub Bot logged work on TS-4726:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 07:39
Start Date: 09/Aug/16 07:39
Worklog Time Spent: 10m 
  Work Description: GitHub user masaori335 opened a pull request:

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

TS-4726: Remove unnecessary assert in ProxyClientTransaction::release

[TS-4726](https://issues.apache.org/jira/browse/TS-4726)

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

$ git pull https://github.com/masaori335/trafficserver ts-4726

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

https://github.com/apache/trafficserver/pull/846.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 #846


commit d3ae487d9f7f9350b57f628aa25d39c8e829ad7d
Author: Masaori Koshiba 
Date:   2016-08-09T07:32:29Z

TS-4726: Remove unnecessary assert in ProxyClientTransaction::release




Issue Time Tracking
---

Worklog Id: (was: 26243)
Time Spent: 10m
Remaining Estimate: 0h

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> 

[GitHub] trafficserver pull request #846: TS-4726: Remove unnecessary assert in Proxy...

2016-08-09 Thread masaori335
GitHub user masaori335 opened a pull request:

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

TS-4726: Remove unnecessary assert in ProxyClientTransaction::release

[TS-4726](https://issues.apache.org/jira/browse/TS-4726)

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

$ git pull https://github.com/masaori335/trafficserver ts-4726

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

https://github.com/apache/trafficserver/pull/846.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 #846


commit d3ae487d9f7f9350b57f628aa25d39c8e829ad7d
Author: Masaori Koshiba 
Date:   2016-08-09T07:32:29Z

TS-4726: Remove unnecessary assert in ProxyClientTransaction::release




---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread Masaori Koshiba (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15413119#comment-15413119
 ] 

Masaori Koshiba commented on TS-4726:
-

Yeah, when TS close connection by some errors before 
{{ProxyClientTransaction::new_transaction()}} is called, {{current_reader}} is 
{{NULL}}.
It looks like this assert is unnecessary.

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> (this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
> #22 0x009bc80a in SSLNetVConnection::net_read_io 
> (this=0x60ae0001cb70, nh=0x70901460, lthread=0x708fd800) at 
> SSLNetVConnection.cc:579
> #23 0x009dc629 in NetHandler::mainNetEvent (this=0x70901460, 
> event=5, e=0x608e6580) at UnixNet.cc:514
> #24 0x00532290 in Continuation::handleEvent (this=0x70901460, 
> event=5, data=0x608e6580) at ../iocore/eventsystem/I_Continuation.h:153
> #25 0x00a36335 in EThread::process_event (this=0x708fd800, 
> e=0x608e6580, calling_code=5) at 

[jira] [Commented] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread Masakazu Kitajo (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-4726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15413064#comment-15413064
 ] 

Masakazu Kitajo commented on TS-4726:
-

You should be able to reproduce the crash with the command below.

 {noformat}
$ nghttp -nv --no-dep -H ":foo: bar" https://localhost:8443/
{noformat}

It seems it happens if Http2Stream was created but new_stream() wasn't called 
due to some error.

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> (this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
> #22 0x009bc80a in SSLNetVConnection::net_read_io 
> (this=0x60ae0001cb70, nh=0x70901460, lthread=0x708fd800) at 
> SSLNetVConnection.cc:579
> #23 0x009dc629 in NetHandler::mainNetEvent (this=0x70901460, 
> event=5, e=0x608e6580) at UnixNet.cc:514
> #24 0x00532290 in Continuation::handleEvent (this=0x70901460, 
> event=5, data=0x608e6580) at ../iocore/eventsystem/I_Continuation.h:153
> #25 0x00a36335 in EThread::process_event 

[jira] [Work logged] (TS-4717) Http2 stack explosion

2016-08-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4717?focusedWorklogId=26242=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26242
 ]

ASF GitHub Bot logged work on TS-4717:
--

Author: ASF GitHub Bot
Created on: 09/Aug/16 06:43
Start Date: 09/Aug/16 06:43
Worklog Time Spent: 10m 
  Work Description: Github user masaori335 commented on the issue:

https://github.com/apache/trafficserver/pull/842
  
Sorry, my local master was old. The crash with h2spec(4.3) is not related 
this Pull-Request.
Filed this issue as 
[TS-4726](https://issues.apache.org/jira/browse/TS-4726).


Issue Time Tracking
---

Worklog Id: (was: 26242)
Time Spent: 2h 20m  (was: 2h 10m)

> Http2 stack explosion
> -
>
> Key: TS-4717
> URL: https://issues.apache.org/jira/browse/TS-4717
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Susan Hinrichs
>Assignee: Susan Hinrichs
> Fix For: 7.0.0
>
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> We see this periodically with high traffic loads.  ATS crashes with 7000+ 
> frames on the stack.  The bulk of the frames are the following frame 
> sequence.  
> {code}
> #117 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #118 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> #119 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #120 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #121 0x0064c386 in Http2ClientSession::state_complete_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:483
> #122 0x0064b0af in Http2ClientSession::main_event_handler 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at 
> Http2ClientSession.cc:292
> #123 0x005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, 
> event=100, data=0x2b0bad0c7cf0)
> at ../iocore/eventsystem/I_Continuation.h:150
> #124 0x0064c05d in Http2ClientSession::state_start_frame_read 
> (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
> at Http2ClientSession.cc:451
> {code}
> We had cherry picked in the fix for TS-4209 to correctly enforce the 
> concurrent stream limit.  But in the latest crash of this type, it looks like 
> we are pulling small items from cache, so the stream lives and dies on the 
> stack.  The concurrent active connection count never reaches the limit.
> I am going to try to change the 
> state_state_start_frame_read/state_complete_frame_read logic from recursing 
> handlers to a loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] trafficserver issue #842: TS-4717: Http2 stack explosion.

2016-08-09 Thread masaori335
Github user masaori335 commented on the issue:

https://github.com/apache/trafficserver/pull/842
  
Sorry, my local master was old. The crash with h2spec(4.3) is not related 
this Pull-Request.
Filed this issue as 
[TS-4726](https://issues.apache.org/jira/browse/TS-4726).


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Updated] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread Masaori Koshiba (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-4726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Masaori Koshiba updated TS-4726:

Fix Version/s: 7.0.0

> Assert in ProxyClientTransaction::release with h2spec (4.3)
> ---
>
> Key: TS-4726
> URL: https://issues.apache.org/jira/browse/TS-4726
> Project: Traffic Server
>  Issue Type: Bug
>  Components: HTTP/2
>Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>
> After TS-4507, TS (--enable-debug) crash with h2spec (4.3)
> {noformat}
> $ h2spec --version
> h2spec v1.4.0
> $ h2spec -k -t -h localhost -p 4443 -s 4.3
>   4.3. Header Compression and Decompression
> × Sends invalid header block fragment
>   - The endpoint MUST terminate the connection with a connection error of 
> type COMPRESSION_ERROR.
> Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
>   Connection close
>   Actual: Test timeout
>   Sends Dynamic Table Size Update (RFC 7541, 6.3)
>  
> ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
> {noformat}
> Back Trace
> {noformat}
> (gdb) bt
> #0  0x7237f5f7 in raise () from /lib64/libc.so.6
> #1  0x72380ce8 in abort () from /lib64/libc.so.6
> #2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
> NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
> #4  0x005bc5bb in ProxyClientTransaction::release 
> (this=0x7fffe67d9330, r=0x0) at ProxyClientTransaction.cc:61
> #5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
> Http2Stream.cc:271
> #6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
> at Http2Stream.cc:375
> #7  0x0075a524 in Http2ConnectionState::delete_stream 
> (this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
> #8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
> (this=0x60b1ea48) at Http2ConnectionState.cc:939
> #9  0x007590c3 in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
> #10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
> #11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
> (this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
> Http2ConnectionState.cc:1326
> #12 0x0075973a in Http2ConnectionState::main_event_handler 
> (this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
> Http2ConnectionState.cc:832
> #13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
> event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
> #14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
> event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
> #15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
> (this=0x60b1e800) at Http2ClientSession.cc:469
> #16 0x00750b4f in Http2ClientSession::state_process_frame_read 
> (this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
> Http2ClientSession.cc:501
> #17 0x0074f838 in Http2ClientSession::state_start_frame_read 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:393
> #18 0x0074ea7f in Http2ClientSession::main_event_handler 
> (this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
> Http2ClientSession.cc:299
> #19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
> event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
> #20 0x009edbf6 in read_signal_and_update (event=100, 
> vc=0x60ae0001cb70) at UnixNetVConnection.cc:153
> #21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
> (this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
> #22 0x009bc80a in SSLNetVConnection::net_read_io 
> (this=0x60ae0001cb70, nh=0x70901460, lthread=0x708fd800) at 
> SSLNetVConnection.cc:579
> #23 0x009dc629 in NetHandler::mainNetEvent (this=0x70901460, 
> event=5, e=0x608e6580) at UnixNet.cc:514
> #24 0x00532290 in Continuation::handleEvent (this=0x70901460, 
> event=5, data=0x608e6580) at ../iocore/eventsystem/I_Continuation.h:153
> #25 0x00a36335 in EThread::process_event (this=0x708fd800, 
> e=0x608e6580, calling_code=5) at UnixEThread.cc:148
> #26 0x00a36fc5 in EThread::execute (this=0x708fd800) at 
> UnixEThread.cc:275
> #27 0x00a34b56 in spawn_thread_internal (a=0x600800015d50) at 
> Thread.cc:84
> #28 

[jira] [Created] (TS-4726) Assert in ProxyClientTransaction::release with h2spec (4.3)

2016-08-09 Thread Masaori Koshiba (JIRA)
Masaori Koshiba created TS-4726:
---

 Summary: Assert in ProxyClientTransaction::release with h2spec 
(4.3)
 Key: TS-4726
 URL: https://issues.apache.org/jira/browse/TS-4726
 Project: Traffic Server
  Issue Type: Bug
  Components: HTTP/2
Reporter: Masaori Koshiba


After TS-4507, TS (--enable-debug) crash with h2spec (4.3)

{noformat}
$ h2spec --version
h2spec v1.4.0
$ h2spec -k -t -h localhost -p 4443 -s 4.3
  4.3. Header Compression and Decompression
× Sends invalid header block fragment
  - The endpoint MUST terminate the connection with a connection error of 
type COMPRESSION_ERROR.
Expected: GOAWAY frame (ErrorCode: COMPRESSION_ERROR)
  Connection close
  Actual: Test timeout
  Sends Dynamic Table Size Update (RFC 7541, 6.3)
 
ERROR: Unable to connect to the target server (tls: DialWithDialer timed out)%
{noformat}

Back Trace
{noformat}
(gdb) bt
#0  0x7237f5f7 in raise () from /lib64/libc.so.6
#1  0x72380ce8 in abort () from /lib64/libc.so.6
#2  0x74bf8497 in ink_abort (message_format=0x74c25c20 "%s:%d: 
failed assertion `%s`") at ink_error.cc:79
#3  0x74bf378b in _ink_assert (expression=0xa80880 "current_reader != 
NULL", file=0xa80720 "ProxyClientTransaction.cc", line=61) at ink_assert.cc:37
#4  0x005bc5bb in ProxyClientTransaction::release (this=0x7fffe67d9330, 
r=0x0) at ProxyClientTransaction.cc:61
#5  0x0076418a in Http2Stream::do_io_close (this=0x7fffe67d9330) at 
Http2Stream.cc:271
#6  0x00765180 in Http2Stream::initiating_close (this=0x7fffe67d9330) 
at Http2Stream.cc:375
#7  0x0075a524 in Http2ConnectionState::delete_stream 
(this=0x60b1ea48, stream=0x7fffe67d9330) at Http2ConnectionState.cc:960
#8  0x0075a2cc in Http2ConnectionState::cleanup_streams 
(this=0x60b1ea48) at Http2ConnectionState.cc:939
#9  0x007590c3 in Http2ConnectionState::main_event_handler 
(this=0x60b1ea48, event=2252, edata=0x0) at Http2ConnectionState.cc:798
#10 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
event=2252, data=0x0) at ../iocore/eventsystem/I_Continuation.h:153
#11 0x0075def7 in Http2ConnectionState::send_goaway_frame 
(this=0x60b1ea48, id=1, ec=HTTP2_ERROR_COMPRESSION_ERROR) at 
Http2ConnectionState.cc:1326
#12 0x0075973a in Http2ConnectionState::main_event_handler 
(this=0x60b1ea48, event=2253, edata=0x7fffeddae760) at 
Http2ConnectionState.cc:832
#13 0x00532290 in Continuation::handleEvent (this=0x60b1ea48, 
event=2253, data=0x7fffeddae760) at ../iocore/eventsystem/I_Continuation.h:153
#14 0x0074c7cf in send_connection_event (cont=0x60b1ea48, 
event=2253, edata=0x7fffeddae760) at Http2ClientSession.cc:58
#15 0x007507b1 in Http2ClientSession::do_complete_frame_read 
(this=0x60b1e800) at Http2ClientSession.cc:469
#16 0x00750b4f in Http2ClientSession::state_process_frame_read 
(this=0x60b1e800, event=100, vio=0x60ae0001cc90, inside_frame=false) at 
Http2ClientSession.cc:501
#17 0x0074f838 in Http2ClientSession::state_start_frame_read 
(this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
Http2ClientSession.cc:393
#18 0x0074ea7f in Http2ClientSession::main_event_handler 
(this=0x60b1e800, event=100, edata=0x60ae0001cc90) at 
Http2ClientSession.cc:299
#19 0x00532290 in Continuation::handleEvent (this=0x60b1e800, 
event=100, data=0x60ae0001cc90) at ../iocore/eventsystem/I_Continuation.h:153
#20 0x009edbf6 in read_signal_and_update (event=100, vc=0x60ae0001cb70) 
at UnixNetVConnection.cc:153
#21 0x009f430e in UnixNetVConnection::readSignalAndUpdate 
(this=0x60ae0001cb70, event=100) at UnixNetVConnection.cc:1036
#22 0x009bc80a in SSLNetVConnection::net_read_io (this=0x60ae0001cb70, 
nh=0x70901460, lthread=0x708fd800) at SSLNetVConnection.cc:579
#23 0x009dc629 in NetHandler::mainNetEvent (this=0x70901460, 
event=5, e=0x608e6580) at UnixNet.cc:514
#24 0x00532290 in Continuation::handleEvent (this=0x70901460, 
event=5, data=0x608e6580) at ../iocore/eventsystem/I_Continuation.h:153
#25 0x00a36335 in EThread::process_event (this=0x708fd800, 
e=0x608e6580, calling_code=5) at UnixEThread.cc:148
#26 0x00a36fc5 in EThread::execute (this=0x708fd800) at 
UnixEThread.cc:275
#27 0x00a34b56 in spawn_thread_internal (a=0x600800015d50) at 
Thread.cc:84
#28 0x74e64ac8 in ?? () from /lib64/libasan.so.0
#29 0x7349edc5 in start_thread () from /lib64/libpthread.so.0
#30 0x7244028d in clone () from /lib64/libc.so.6
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)