Skip to content

pi crashes on reading specific characters #371

@HACKE-RC

Description

@HACKE-RC

Steps to reproduce

  1. run
$ node -e "process.stdout.write('\u0600\u0601\u0602\u0603\u0604')" > x.bin
  1. open pi, ask it to cat x.bin
  2. get the crash
↑946 ↓67 R43 $0.000 0.5%/203k (auto)                         ↑946 ↓67 R43 $0.000 0.5%/203k (auto)                                                                                                           z-ai/glm-4.7file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/get-east-asian-width/index.js:5
                throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
                      ^

TypeError: Expected a code point, got `undefined`.
    at validate (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/get-east-asian-width/index.js:5:9)
    at eastAsianWidth (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/get-east-asian-width/index.js:16:2)
    at stringWidth (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/string-width/index.js:82:12)
    at visibleWidth (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-tui/dist/utils.js:7:12)
    at wrapSingleLine (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-tui/dist/utils.js:317:27)
    at wrapTextWithAnsi (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-tui/dist/utils.js:307:24)
    at Text.render (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-tui/dist/components/text.js:55:30)
    at truncateToVisualLines (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/dist/modes/interactive/components/visual-truncate.js:24:37)
    at ToolExecutionComponent.renderBashContent (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/dist/modes/interactive/components/tool-execution.js:188:59)
    at ToolExecutionComponent.updateDisplay (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/dist/modes/interactive/components/tool-execution.js:135:18)

Node.js v20.19.6                                                                                  z-ai/glm-4.7file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/get-east-asian-width/index.js:5
                throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
                      ^

TypeError: Expected a code point, got `undefined`.
    at validate (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/get-east-asian-width/index.js:5:9)
    at eastAsianWidth (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/get-east-asian-width/index.js:16:2)
    at stringWidth (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/string-width/index.js:82:12)
    at visibleWidth (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-tui/dist/utils.js:7:12)
    at wrapSingleLine (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-tui/dist/utils.js:317:27)
    at wrapTextWithAnsi (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-tui/dist/utils.js:307:24)
    at Text.render (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-tui/dist/components/text.js:55:30)
    at truncateToVisualLines (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/dist/modes/interactive/components/visual-truncate.js:24:37)
    at ToolExecutionComponent.renderBashContent (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/dist/modes/interactive/components/tool-execution.js:188:59)
    at ToolExecutionComponent.updateDisplay (file:///home/rc/.nvm/versions/node/v20.19.6/lib/node_modules/@mariozechner/pi-coding-agent/dist/modes/interactive/components/tool-execution.js:135:18)

Node.js v20.19.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions