• Stan Hu's avatar
    Drop invalid UTF-8 when displaying in job logs · c481f5a6
    Stan Hu authored
    The runner can send invalid UTF-8 job logs. For example, when a job log
    is truncated to the default 4 MB limit, a multi-byte UTF-8 character can
    be cut off prematurely. A similar issue could occur if multi-byte UTF-8
    characters are streamed across chunk boundaries.
    
    To avoid showing a 500 error, we previously forced the data to UTF-8
    mode, but we didn't do anything about invalid UTF-8 characters. We now
    replace the invalid UTF-8 with the default unknown character so the job
    log can be viewed.
    
    Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/330311
    
    Changelog: fixed
    c481f5a6
line.rb 3.3 KB