Skip to content

Very high CPU usage on fish 3.2 when displaying large strings #7837

@henrikhorluck

Description

@henrikhorluck

Hi! I am having an issue with strings in commands that are longer than ~1048 characters is causing 100% CPU usage on 1 or more cores. I have confirmed that it is not an issue with fish 3.1.2, and it reproduces when using sh -c 'env HOME=$(mktemp -d) fish'

Version-stuff (was also a problem on 3.2.0):

> fish --version
fish, version 3.2.1
> echo $version
v3.2.1
> uname -u
Darwin Henriks-Macbook.local 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64

Example of command that triggers high CPU-usage just by being pasted into the terminal, or by being written yourself, it triggers simply being displayed.

touch "qg5e6rnmfzQZh18hMUbgDiwHfN+Abd22mIWuuMYemSvfdetIog4B5HPJgTC5hAkwNMPpn+TuRqJnvn3EVWkZN42ksyH/WawZ6Zq5Z+EwAJLs5dzVuzw6cwI2UfHWIZrew90W4XG8Ad/y+rwPt4iHVRIYaSkIGj6mzsD0w7rJdvHpIbeNDUcggCWlR80wsd4IrhoLFdw7Okhy0vj36tOd9M18uQpFJENEd1zFWUaKiV9PFBZepS71rqEeuUZ8K5JgGBqlOoX3qePy9ryd+AMGAsBKi/ivxekj05qFSOuHgGWBabNlyQJfGhQt81QD3s8DRS+QH2fUaiTrLDfWhwu1qg5e6rnmfzQZh18hMUbgDiwHfN+Abd22mIWuuMYemSvfdetIog4B5HPJgTC5hAkwNMPpn+TuRqJnvn3EVWkZN42ksyH/WawZ6Zq5Z+EwAJLs5dzVuzw6cwI2UfHWIZrew90W4XG8Ad/y+rwPt4iHVRIYaSkIGj6mzsD0w7rJdvHpIbeNDUcggCWlR80wsd4IrhoLFdw7Okhy0vj36tOd9M18uQpFJENEd1zFWUaKiV9PFBZepS71rqEeuUZ8K5JgGBqlOoX3qePy9ryd+AMGAsBKi/ivxekj05qFSOuHgGWBabNlyQJfGhQt81QD3s8DRS+QH2fUaiTrLDfWhwu1qg5e6rnmfzQZh18hMUbgDiwHfN+Abd22mIWuuMYemSvfdetIog4B5HPJgTC5hAkwNMPpn+TuRqJnvn3EVWkZN42ksyH/WawZ6Zq5Z+EwAJLs5dzVuzw6cwI2UfHWIZrew90W4XG8Ad/y+rwPt4iHVRIYaSkIGj6mzsD0w7rJdvHpIbeNDUcggCWlR80wsd4IrhoLFdw7Okhy0vj36tOd9M18uQpFJENEd1zFWUaKiV9PFBZepS71rqEeuUZ8K5JgGBqlOoX3qePy9ryd+AMGAsBKi/ivxekj05qFSOuHgGWBabNlyQJfGhQt81QD3s8DRS+QH2fUaiTrLDfWhwu132TuRqJnvn3EVWkZN42ksyH/w

If you have one less character in the string it does not cause the high CPU-usage. One thing I noticed when testing fish 3.1.2 was that it didn't add line breaks to the commands, while 3.2.1 had it over multiple lines.

Please let me know if something is unclear, you need any more information to reproduce it, or debug information I can supply

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething that's not working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions