Forum Discussion
http_process_state_prepend - Invalid Action:0x109010
We're trying to implement OwnCloud in our environment, and I've developed a few iRules to handle some of the work , but we've run into an issue when trying to download files. The connection keeps getting reset and the file doesn't come down. I think it gets part of the file (a little bit more each time you try), but continuously fails with the message http_process_state_prepend - Invalid action:0x109010.
my iRule disables the ACCESS profile (ACCESS::disable) when there is no currently valid session for certain url's that don't need authentication, and uses a Client Initiated forms SSO setup on the root path for the login page.
I know it's not a lot of information, but I would appreciate any light that could be shined on this issue 🙂
- Michael_JenkinsCirrostratus
I'm getting an error now when I try to access the site
TCL error: no connection established TCP::collect needs an established connection! (line 3) invoked from within "TCP::collect"
- Michael_JenkinsCirrostratus
That seemed to work better. Response looks like this:
GET [[DOWNLOAD URI]] HTTP/1.1 Host: [[HOST]] User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate DNT: 1 Referer: [[REFERER]] Cookie: [[COOKIES]] X-ClickOnceSupport: ( .NET CLR 3.5.30729; .NET4.0E) Connection: keep-alive
Should I be seeing more data?
- Kevin_StewartEmployee
Forgot about the server side...
when CLIENT_ACCEPTED { TCP::collect } when CLIENT_DATA { log local0. [TCP::payload] TCP::release } when SERVER_CONNECTED { TCP::collect } when SERVER_DATA { log local0. [TCP::payload] TCP::release }
The TCP::collect after the TCP::release should allow you to buffer more data. Not sure why that's not working here. We're looking for whatever happens right before the error.
- Michael_JenkinsCirrostratus
Ok, I added that code, and tried to run it both with and without the HTTP profile associated to the VIP.
-
Without the HTTP profile, I see the request come though, and the SERVER_DATA gets the file (png image in this case) and sends back the payload without fail
-
With the HTTP profile, I see the same request and it looks like the data is being returned, but when I compare the two logs, there's a large chunk of data missing from this one.
I modified the iRule to count the number of times SERVER_DATA and CLIENT_DATA were called, and found that when NOT using the HTTP profile, I got 435, but with the HTTP profile I only got 347.
-
- Michael_JenkinsCirrostratus
I also tried using a simple text file for the download so I can look at the response from SERVER_DATA, and had a similar experience.
With HTTP profile, I got the "http_process_state_prepend - Invalid action:0x109010" error after 17 events.
Without HTTP profile, I got all 26 events and the file downloaded sucessfully.
- Kevin_StewartEmployee
Is this a bare bones HTTP profile? Do you have additional iRules logic applied? Do you have ASM or AAM (web accelerator) profiles applied?
- Michael_JenkinsCirrostratus
Yea, the VIP is basic LTM. Removed APM and has no AAM profile and we don't use ASM. Here's my configs. The HTTP profile is just inherited from the default http profile. The rule is that logging rule and is the only one I'm using.
ltm virtual FILES_TEST { destination 192.168.99.100:http ip-protocol tcp mask 255.255.255.255 pool FILES_POOL profiles { HTTP { } tcp { } } rules { AAAA_TCP_CHECKS } source 0.0.0.0/0 source-address-translation { type automap } translate-port disabled vs-index 336 } ltm profile http HTTP { app-service none defaults-from http proxy-type reverse }
- Kevin_StewartEmployee
The thing is, all arrows seem to be pointing to the application. This error is generally triggered when the HTTP filter sees something that it doesn't expect, like a Content-Length header that indicates a payload size smaller than the actual payload. Take a look at this SOL for more information on the error:
http://support.f5.com/kb/en-us/solutions/public/5000/900/sol5922.html?sr=36331845
I understand that the conditions of the article probably won't be exactly the same as your environment, but the idea should be the same. For this sort of thing you have at least two options:
-
Fire up WireShark, Fiddler, or HTTPWatch and capture traffic with and without the HTTP profile, then compare the two. Are the content lengths correct in the responses? Are there excessive HTTP 100 responses?
-
Open a support case - they'll likely want to see a qkview and similar client side captures.
-
- Michael_JenkinsCirrostratus
Thanks! I had read that article and wondered if the issue was similar to that. I'll open a ticket. Thanks!
- otsokumeNimbostratus
Hello Michael & Sekhar. Did you find any solution to this problem? Regards
Recent Discussions
Related Content
* 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