Fora

Star Stable Online fails to start after it did a self-update

Error: EINVAL: invalid argument, uv_pipe_open

Autor Odpowiedzi
bernhardu Thursday 19 August 2021 at 18:18
bernharduAnonymous

This was found with a Debian 10 Buster system, running PlayOnLinux 4.3.4-1.

This used to work from the logfile until 08/06/21 20:50:03, there running wine-6.3-staging.

[08/19/21 15:23:43] - Running wine-6.15-staging Star Stable Online.exe (Working directory : /home/user/.PlayOnLinux/wineprefix/starstable/drive_c/Program Files/Star Stable Online)
002c:fixme:winediag:LdrInitializeThunk wine-staging 6.15 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
00f4:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub

00f4:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 07C85C48, 16) stub
00f4:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 0710FC2C, 00000000 0710FC28
00f4:fixme:nls:get_dummy_preferred_ui_language (0x38 0710FC2C 00000000 0710FC28) returning a dummy value (current locale)
00f4:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 0710FC2C, 07C89FF8 0710FC28
00f4:fixme:nls:get_dummy_preferred_ui_language (0x38 0710FC2C 07C89FF8 0710FC28) returning a dummy value (current locale)
00f4:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0114:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFA, 0B7CFEF8
net.js:329
      err = this._handle.open(fd);
                         ^

Error: EINVAL: invalid argument, uv_pipe_open
    at new Socket (net.js:329:26)
    at createWritableStdioStream (internal/bootstrap/switches/is_main_thread.js:67:18)
    at process.getStdout [as stdout] (internal/bootstrap/switches/is_main_thread.js:122:12)
    at Object.<anonymous> (electron/js2c/browser_init.js:185:793)
    at Object../lib/browser/init.ts (electron/js2c/browser_init.js:185:3714)
    at __webpack_require__ (electron/js2c/browser_init.js:1:128)
    at electron/js2c/browser_init.js:1:1200
    at electron/js2c/browser_init.js:1:1267
    at NativeModule.compileForInternalLoader (internal/bootstrap/loaders.js:277:7)
    at NativeModule.compileForPublicLoader (internal/bootstrap/loaders.js:219:10) {
  errno: -4071,
  code: 'EINVAL',
  syscall: 'uv_pipe_open'
}
00f4:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0710F0F0

 

This seems to affect other Electon/Node applications too, when I search the forum for "uv_pipe_open".

 

Workaround 1:

Run the application from the PlayOnLinux shell or wineconsole.

Workaround 2:

I put a cmd file in place that calls the final executable within a wineconsole:

/home/user/.PlayOnLinux/shortcuts/Star Stable Online
-POL_Wine 'Star Stable Online.exe' "$@"
+POL_Wine 'Star Stable Online.cmd' "$@"

/home/user/.PlayOnLinux/wineprefix/starstable/drive_c/Program\ Files/Star\ Stable\ Online/Star\ Stable\ Online.cmd
cd /d "c:\Program Files\Star Stable Online"
cd
start /min wineconsole "Star Stable Online.exe"

 

This could also be reproduced on a different machine,

with a plain electron/node simple example,

without playonlinux but with regular wine (wine-6.15-81-g5e2acff5734):

# https://nodejs.org/en/download/
wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-win-x64.zip
unzip node-v14.17.5-win-x64.zip

git clone https://github.com/electron/simple-samples
cd simple-samples/activity-monitor

export NODE_SKIP_PLATFORM_CHECK=1
wine c:/node-v14.17.5-win-x64/npm.cmd install --scripts-prepend-node-path
wine c:/node-v14.17.5-win-x64/npm.cmd start   --scripts-prepend-node-path





true | (setsid wine c:/node-v14.17.5-win-x64/npm.cmd start   --scripts-prepend-node-path) 2>&1 | cat

or 

wine c:/node-v14.17.5-win-x64/npm.cmd start   --scripts-prepend-node-path | tee -a logfile

 

Because I currently know no way to reproduce this on windows and it looks to depend on the way how the wine process got started, I am reporting this issue here.

At least in native windows following does not show the issue, with the same binaries:

c:\node-v14.17.5-win-x64\npm.cmd start   --scripts-prepend-node-path | more

 

But still, unsure if this should be investigated at wine side or PlayOnLinux maybe changes the wine invocation to be more like an interactive shell, using "script" maybe?

script -c "wine c:/node-v14.17.5-win-x64/npm.cmd start   --scripts-prepend-node-path" -a /dev/stdout | tee -a logfile

 

tester345 Monday 4 October 2021 at 7:23
tester345Anonymous

thank you!

your solution works for another software, also electron-based

net.js:329

      err = this._handle.open(fd);

                         ^


Error: EINVAL: invalid argument, uv_pipe_open

    at new Socket (net.js:329:26)
fixed by creating .cmd file for wine:
cd /d "c:\Program Files\<APP dir>"
cd
start /min wineconsole "APLICATION.exe"
 
 
kubaf Thursday 9 December 2021 at 15:44
kubafAnonymous

Thanks for the wineconsole workaround, allowed me to play Cartel Tycoon on Steam at least with graphic bugs via

protontricks 1220140 shell
cd ~/.local/share/Steam/steamapps/common/Cartel\ Tycoon/
wineconsole 'Cartel Tycoon Launcher.exe'

This site allows content generated by members, and we promptly remove any content that infringes copyright according to our Terms of Service. To report copyright infringement, please send a notice to dmca-notice@playonlinux.com