Page MenuHomePhabricator

Some errors are not being logged, and are not caught in the right context
Closed, DuplicatePublic

Description

While I was deploying configuration to read from Redis, I noticed that permissions errors (failure to run AUTH with the Redis password) were only logged once per server, and at the top level, in GatewayPage.

Gateway page errored out due to: ERR operation not permitted

That exception should at least be caught, wrapped in some logging, and re-thrown from the code calling DonationQueue.

Even worse, the error never reappeared although there were by inference lots of these errors happening. I watched Redis connection counters go up on all the servers, but no commands processed. Hopefully, logging in the right place will make us less sensitive to calling context.

One guess is that the resultswitcher doesn't log exceptions, but directly visiting gatewaypage does? That seems screwy.

Event Timeline

Confirmed again. This is really bad. Fatal errors are completely silent, no logging or anything. In this case, I was watching the orphan slayer die, clearly midprocess, with no errors logged.