Skip to content

Platform Difference when launching non-existing Commands #689

@tsmaeder

Description

@tsmaeder

Environment details

  • OS: Linux/Window
  • OS version: Ubuntu 22, Windows 11
  • node-pty version: 1.0.0

Issue description

The following program behaves very differently on Windows vs. Linux:

const pty = require('node-pty');


const process = pty.spawn('gurkensalat', [], {});

console.log(`process pid = ${process.pid}`);

On Windows, this program throws an Error

C:\Users\thomas\code\EclipseSource\theia\node_modules\node-pty\lib\windowsPtyAgent.js:80
            term = this._ptyNative.startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor);
                                   ^

Error: File not found:
    at new WindowsPtyAgent (C:\Users\thomas\code\EclipseSource\theia\node_modules\node-pty\lib\windowsPtyAgent.js:80:36)
    at new WindowsTerminal (C:\Users\thomas\code\EclipseSource\theia\node_modules\node-pty\lib\windowsTerminal.js:51:24)
    at Object.spawn (C:\Users\thomas\code\EclipseSource\theia\node_modules\node-pty\lib\index.js:29:12)
    at Object.<anonymous> (C:\Users\thomas\code\EclipseSource\theia\packages\process\foo.js:4:21)

whereas on Linux it prints a pid.

I think I remember that in previous versions, the spawn call would fail for Linux also. Is there a way to still detect those failures on Linux reliably?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIssue identified by VS Code Team member as probable bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions