-
Notifications
You must be signed in to change notification settings - Fork 761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FCGI calls return 500 with "IH" Stream State #2568
Comments
I have played with The size value at The "funny" thing is that the I have also seen, from the trace output , that the problem could be in this function, but this could hide some other root cause. Line 3362 in 0d35f8d
|
The Problem exist also in 3.0-dev11
|
Thanks for report. Could you try with more traces by update your
|
I have created the tace. |
Of course! Go ahead. |
Thanks. you should have it now 😃 |
Just to let you know. I've checked your traces and it seems the internal error is reported by an HTTP analyzer and not the FCGI multiplexer. I must investigate because it seems strange. |
Do you need more traces? |
No, for now, I need more time 😄 |
Looking at your config, I don't know how it is possible, But I suspect an error during the response analysis. Could you add |
Thank you for the update. I have added this lines to the config and send the traces to you.
|
Thanks. I checked the code more carefully and its seems there is a regression on the termination state reported in logs. The offending commit is 0fd2551. Internal errors are always reported, even when another reason was already set. In this case, I guess it is a rewrite error. So, you get You config update will dump the failing rule. Another way is to check |
Okay, What value should I put for Have you seen this comment about |
The reserve in the buffer (set via |
What's the right socket command to get
Could the problem be the "long" |
Thank you @capflam . I have now increased the |
No problem. I will fix the termination state issue. Thanks ! |
…rnal error When internal error is reported from an HTTP analyzer, we must take care to not set the stream termination condition if it was already set. For instance, it happens when a message rewrite fails. In this case SF_ERR_PXCOND is set by the rule. The HTTP analyzer must not crush it with SF_ERR_INTERNAL. The regression was introduced with the commit 0fd2551 ("MEDIUM: http-ana: Set termination state before returning haproxy response"). The bug was discovered working in the issue #2568. It must be backported to 2.9.
Detailed Description of the Problem
I have a strange behavior with HAProxy and FCGI PHP App.
When I call any URL from the php app HAProxy returns randomly a 500, after a refresh of the same page returns the HAProxy 200.
I have added the fcgi trace
and got this outputs for error and success case.
Error Case
Success case
Expected Behavior
No
500
internal errors.Steps to Reproduce the Behavior
Sorry that this is quite vague but that's how I have run haproxy with fcgi backend
Do you have any idea what may have caused this?
I assume that something in the connection pooling and fd handling course some misbehavior because in the error case are these lines missing.
Do you have an idea how to solve the issue?
Sorry no
What is your configuration?
The text was updated successfully, but these errors were encountered: