Forum Discussion
vivek_76299
Nimbostratus
Jan 20, 2012Help needed regarding HTTP downgrade using iRule - Getting TCL Error
Hi All,
We are using an iRule to downgrade some specific responses from HTTP1.1 to HTTP1.0. Below is the iRule.
iRule:
----------------------
when HTTP_RESPONSE{
if { ([HTTP::header "content-Type"] starts_with "text/csv") || ([HTTP::header "content-Type"] starts_with "application/ms-excel")} {
if {[HTTP::version] == "1.1" } {
HTTP::version "1.0"
}
}
}
------------------------
We see below TCL errors in ltm logs. Can someone please help on these errors.
Errors:
Jan 19 15:12:43 local/tmm2 err tmm2[6237]: 01220001:3: TCL error: ir_downgrade_HTTP10 - Illegal argument. Can't execute in the current context. (line 1) invoked from within "HTTP::header "Content-Type""
Please suggest.
Thanks in advance.
7 Replies
- hoolio
Cirrostratus
Hi Vivek,
Which LTM version are you running? Do you have any modules enabled for the virtual server you have the iRule enabled on?
Aaron - vivek_76299
Nimbostratus
Hi Aaron,
We are using LTM of version 10.2.
Below are the modules used in the virtual server.
Oneconnect Profile
HTTP Profile
SSL Profile (client)
Cookie persistence. - hoolio
Cirrostratus
Do you have any other iRules enabled on the virtual server? Is that the full iRule you posted above?
Aaron - vivek_76299
Nimbostratus
Hi Aaron,
There are no other iRules enabled for the virtual server and the iRule pasted in the above post is the complete iRule. - hoolio
Cirrostratus
The only references to this error I could find involved multiple iRules where one redirected the request and another tried to get the content-type header value. Do you have rewrite redirects enabled on the HTTP profile?
Else, if you'd like to work on this more quickly, you could open a case with F5 Support. They'll be able to look at your full configuration and help determine why the error is being generated.
Aaron - Jon_Strabala_46
Nimbostratus
I just upgraded from version 10.2.0 to version 11.2.0 and started seeing errors some as described above e.g. "HTTP::version"
I also some some similar errors about "HTTP::status" as described in https://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/50/aft/2160923/showtab/groupforums/Default.aspx which references BZ374390 and has the comment that one could ask for a HOTFIX
From my /var/log/ltm
Aug 14 07:59:34 tmm err tmm[9349]: 01220001:3: TCL error: /Common/hele_main_http - Not found (line 1) invoked from within "HTTP::version "1.0""
Aug 14 08:00:11 tmm1 err tmm1[9350]: 01220001:3: TCL error: /Common/hele_main_http - Not found (line 1) invoked from within "HTTP::version "1.0""
Aug 14 08:30:13 tmm err tmm[9349]: 01220001:3: TCL error: /Common/hele_main_http - Not found (line 300) invoked from within "HTTP::version "1.0""
Aug 14 08:56:18 tmm1 err tmm1[9350]: 01220001:3: TCL error: /Common/hele_main_http - Illegal argument. Invalid client side API (line 300) invoked from within "HTTP::status"
Aug 14 08:56:54 tmm1 err tmm1[9350]: 01220001:3: TCL error: /Common/hele_main_http - Illegal argument. Invalid client side API (line 15) invoked from within "HTTP::status"
Aug 14 10:11:24 tmm1 err tmm1[9350]: 01220001:3: TCL error: /Common/hele_main_http - Not found (line 15) invoked from within "HTTP::version "1.0""
Aug 14 10:12:20 tmm err tmm[9349]: 01220001:3: TCL error: /Common/hele_main_http - Not found (line 300) invoked from within "HTTP::version "1.0""
Aug 14 10:12:31 tmm err tmm[9349]: 01220001:3: TCL error: /Common/hele_main_http - Not found (line 300) invoked from within "HTTP::version "1.0""
Aug 14 10:13:16 tmm1 err tmm1[9350]: 01220001:3: TCL error: /Common/hele_main_http - Not found (line 300) invoked from within "HTTP::version "1.0""
Looking at the above across more than three hours of operation I have four (4) unique formats all in the same iRULE, e.g. hele_main_http
TCL error: /Common/hele_main_http - Not found (line 1) invoked from within "HTTP::version "1.0""
TCL error: /Common/hele_main_http - Not found (line 15) invoked from within "HTTP::version "1.0""
TCL error: /Common/hele_main_http - Not found (line 300) invoked from within "HTTP::version "1.0""
TCL error: /Common/hele_main_http - Illegal argument. Invalid client side API (line 15) invoked from within "HTTP::status"
TCL error: /Common/hele_main_http - Illegal argument. Invalid client side API (line 300) invoked from within "HTTP::status"
This iRULE has just four (4) occurrences of HTTP::version
[jstrabala@www:Active:Standalone] ~ grep HTTP::version /tmp/bigip.conf.copy.hele_main_http_only | sed -e 's/^\s*/ /'
append info " host [HTTP::host] method [HTTP::method] ver [HTTP::version] uri [HTTP::uri]"
append info " [HTTP::version]"
if { [HTTP::version] eq "1.1" } {
HTTP::version "1.0"
[jstrabala@www:Active:Standalone] ~
This iRULE has just three (3) occurrences of HTTP::status
[jstrabala@www:Active:Standalone] ~ grep HTTP::status /tmp/bigip.conf.copy.hele_main_http_only | sed -e 's/^\s*/ /'
if {$icap == 1 && [HTTP::status] != 200} {
if {$enable_debug && $static::h_dbg_icap_skip>3} { log local0. "skip icap, <[HTTP::status]>!=200, host <$lchost> path <$lcpath>" }
if {$enable_debug && $static::h_dbg_icap_skip>2} { log local0. "skip icap, stat <[HTTP::status]>!=200 || type <[HTTP::header Content-Type]>!=text/html || enc <[HTTP::header Content-Encoding]>!=<>, path <$lcpath>"}
[jstrabala@www:Active:Standalone] ~
Since I never saw any such "errors" in version 10.2.0 is this a bug in version 11.2.0 of the FT Big-IP LTM software. I have also asked for clarification in case number C1171849
Thanks in Advance
Jon Strabala - hoolio
Cirrostratus
Hi Jon,
BZ374390 was fixed in 11.2.0 so either it's a regression or a different issue. If you have a case opened with F5 Support I suggest continuing working with them. They'll be able to review your full config and ideally tcpdumps of a failure. I tried to review the case notes but with the access I have couldn't see the part of your case have on the TCL error due to the case length.
Aaron
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
