Asked by:
Web server returns 500 but still has "Operation completed " in Failed Request log.

Question
-
User1905803165 posted
I have developed a service that handles incoming orders, one at a time everythings works fine.
But when there is two calls at the same time, the second call gets a response "500" as an internal server error.
I do NOT see anything from my service, nothing in my logs, my application is not started at the webserver with data from call #2.Checking normal IIS logs I dont see any timeouts or errors. Empty.
When I check the "Failed Request Log" I get this
ModuleName ManagedPipelineHandler Notification EXECUTE_REQUEST_HANDLER HttpStatus 500 HttpReason Internal Server Error ErrorCode The operation completed successfully (0x0) So there is an error that stops the IIS to handle call #2, BUT it was still "completed successfully".
Any idea why it doesnt work?The service is just getting a JSON package, that is split into different properties and then saved into a few rows of a database. Typically three rows.
It does not block the system, its just normal database development as far as I can see. Done by me thousands of times before....
Thursday, June 11, 2020 6:14 AM
All replies
-
User1535942433 posted
Hi larka74,
Accroding to your description, I suggest you could add try catch outside the code.You need to debug the application to get a more specify cause of a 500 error.
- 500.0 - Module or ISAPI error occurred.
- 500.11 - Application is shutting down on the web server.
- 500.12 - Application is busy restarting on the web server.
- 500.13 - Web server is too busy.
- 500.15 - Direct requests for Global.asax are not allowed.
- 500.19 - Configuration data is invalid.
- 500.21 - Module not recognized.
- 500.22 - An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
- 500.23 - An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode.
- 500.24 - An ASP.NET impersonation configuration does not apply in Managed Pipeline mode.
- 500.50 - A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred.(Note Here is where the distributed rules configuration is read for both inbound and outbound rules.)
- 500.51 - A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred.(Note Here is where the global rules configuration is read.)
- 500.52 - A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred.
- 500.53 - A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated.
- 500.100 - Internal ASP error.
Best regards,
Yijing Sun
Friday, June 12, 2020 6:50 AM -
User1905803165 posted
The problem I have is that my application is NOT called at all.
I have logs at the start, and try/catch around critical statements.
Nothing. I get nothing in my logs. The second call is just not absorbed.The Failed Request Log is the only log where I get something, nothing in the regular Windows logs.
And I only get 500.Googling I see that I should get a proper code like 500.x as you describe it above. But I only get 500.
I am totally lost.
This is a real challenge!
With two calls at the same time there should be allocated two threads from the threadpool?
My guess is that it might be something wrong there.
But I do not know...Any ideas? Anyone?
Thursday, June 18, 2020 11:31 PM -
User753101303 posted
Hi,
You checked your IIS log? This is where you should find a 500.x code which might allow to better narrow down what happens.
Each request should be processed on its own. A common design issue is to use static data making both requests to share the same data and possibly fails (but for now this is just a guess).
Edit: for example https://stackify.com/how-to-interpret-iis-logs/, look at sc-status and sc-substatus
Friday, June 19, 2020 4:57 PM