-
Bug
-
Resolution: Done
-
Normal
-
6.14.0
Description of problem:
When the app is "starting up" (e.g. after a "systemctl restart foreman") and one hits it with many requests (like GET /api/status), one often sees errors like the following in the logs:
2023-05-10T07:53:33 [F|app|65251c92]
65251c92 | NoMethodError (undefined method `chr' for nil:NilClass):
65251c92 |
65251c92 | lib/foreman/middleware/logging_context_session.rb:22:in `call'
65251c92 | lib/foreman/middleware/logging_context_request.rb:11:in `call'
65251c92 | katello (4.9.0.pre.master) lib/katello/prevent_json_parsing.rb:12:in `call'
2023-05-10T07:53:34 [F|app|ed179145]
ed179145 | TypeError (nil can't be coerced into Integer):
ed179145 |
ed179145 | lib/foreman/middleware/logging_context_session.rb:22:in `call'
ed179145 | lib/foreman/middleware/logging_context_request.rb:11:in `call'
ed179145 | katello (4.9.0.pre.master) lib/katello/prevent_json_parsing.rb:12:in `call'
Version-Release number of selected component (if applicable):
Reporting this for 6.14, but I have seen this on older releases too (just never bothered to report)
How reproducible:
often, but not always
Steps to Reproduce:
1. systemctl restart foreman
2. echo 'GET https://admin:changeme@satellite.example.com/api/status' | vegeta attack -duration=10s -insecure | vegeta report
(or any other http load tester, really doesn't matter, as long as it produces many parallel requests)
Actual results:
some requests end up with errors
Expected results:
no errors?
Additional info:
I think this has something to do with the app still starting up, as those runs also often have way lower "request/second" numbers than later runs that do not expose the same errors (15 vs 50 in my test env).
Also, I am almost certain the stack trace in the log is a red herring, but that's all I have to offer, sorry.