Page MenuHomePhabricator

toolforge webservice logs -f not robust to invalid output
Open, MediumPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • run toolforge webservice logs -f
  • get the tool output some weird (binary, wrong encoding, or linebreak?) output

What happens?:

tools.spacemedia@tools-bastion-12:~$ become spacemedia
tools.spacemedia@tools-bastion-12:~$ toolforge webservice logs -f
...
2025-01-14T22:06:23+00:00 [spacemedia-6d7448b76-gskpq]
2025-01-14T22:06:23+00:00 [spacemedia-6d7448b76-gskpq] 2025-01-14T22:06:23.578Z  INFO 22 --- [nPool-worker-15] o.w.c.d.s.s.wikimedia.WikidataService    : Not exactly 1 item when looking for Ã�Â
Traceback (most recent call last):
  File "/usr/bin/toolforge-webservice", line 33, in <module>
    sys.exit(load_entry_point('toolforge-webservice==0.103.15', 'console_scripts', 'toolforge-webservice')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/toolsws/cli/webservice.py", line 619, in main
    for entry in logs:
  File "/usr/lib/python3/dist-packages/toolforge_weld/logs/kubernetes.py", line 66, in query
    for entry in self._get_pod_logs(
  File "/usr/lib/python3/dist-packages/toolforge_weld/logs/kubernetes.py", line 45, in _get_pod_logs
    datetime=parse_date(datetime),
             ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dateutil/parser/_parser.py", line 1368, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dateutil/parser/_parser.py", line 643, in parse
    raise ParserError("Unknown string format: %s", timestr)
dateutil.parser._parser.ParserError: Unknown string format: land

And the tool stops here so it doesn't display the logs after this error.

What should have happened instead?:
Not sure, maybe report an error but at least it should be robust enough to continue to display logs after that?

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):

'toolforge-webservice==0.103.15'