Page MenuHomePhabricator

X-Wikimedia-Debug:log causes Uncaught RuntimeException: The UdpSocket to 127.0.0.1:10514 has been closed and can not be written to anymore in /srv/mediawiki/php-1.37.0-wmf.11/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php:58
Closed, DuplicatePublicPRODUCTION ERROR

Description

I noticed this while testing https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/701995 , but searching logstash shows it is a pre-existing issue.

X-Wikimedia-Debug: log causes all log entries to go directly to logstash, so there is no trace of this issue on mwlog1002. The backtrace is truncated in logstash, so it's difficult to see what is going on. Probably a message is logged after \Monolog\Handler\SyslogUdp\UdpSocket::close() is called. Perhaps Monolog\Handler\Handler::__destruct() called close(), but the reference is still live, then another destructor attempted to log a message.

Error
normalized_message
Uncaught RuntimeException: The UdpSocket to 127.0.0.1:10514 has been closed and can not be written to anymore in /srv/mediawiki/php-1.37.0-wmf.11/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php:58
exception.trace
#0 /srv/mediawiki/php-1.37.0-wmf.11/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php(44): Monolog\Handler\SyslogUdp\UdpSocket->send('<15>Jun 30 00:3...')
#1 /srv/mediawiki/php-1.37.0-wmf.11/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php(66): Monolog\Handler\SyslogUdp\UdpSocket->write('@cee: {"@timest...', '<15>Jun 30 00:3...')
#2 /srv/mediawiki/php-1.37.0-wmf.11/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(42): Monolog\Handler\SyslogUdpHandler->write(Array)
#3 /srv/mediawiki/php-1.37.0-wmf.11/vendor/monolog/monolog/src/Monolog/Logger.php(317): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#4 /srv/mediawiki/php-1.37.0-wmf.11/vendor/monolog/monolog/src/Monolog/Logger.php(487): Monolog\Logger->addRecord(100, 'Wikim
Impact

Whenever X-Wikimedia-Debug:log is used, execution terminates early and an unknown amount of shutdown code is not executed.