PSF and CREATE_NEW_PROCESS_GROUP

MVP

The application RStudio has issues when packaged together with  R (the launguage).  It is known that R requires the PSF along with FileRedirectionFixup to operate and works quite well. Therefore in this package with both components, the PsfLauncher is being used to launch RStudio's primary application, RGUI.exe, which is an x64-bit Windows32 App.

 

RGUI subsequently launches rconsole.exe which is a 64-bit console app.  When it makes the CreateProcess call (intercepted by PsfRuntime), the dwflags parameter includes CREATE_NEW_PROCESS_GROUP.  PsfRuntime intercept creates this process as suspended (along with the requested flags), and then injects PsfRunTimeX64.dll into the new process before allowing the new process to resume.  Although we can see that the DLL was successfully injected, the dll is unable to properly initialize as no debug output appears in the debug console port.  Subsequently, rconsole does not get the required fixups and fails to locate the required dlls from in the package.

 

The documentation on CREATE_NEW_PROCESS_GROUP was written long before the container, and does not provide information on any relationship between process groups, Jobs, or containers.

 

Is such a program supported in the container/PSF, meaning that the PSF might need adjustments, or is this something that just can't be done?

4 Replies
Hi Timothy,

Thank you for sharing a detailed description of the problem. Can you share this package with me through the Tech Community Inbox? We need to look into this before we can answer definitively.

@Aniket_Banerjee Package size if 352MB.  Need another way to get it to you.

In that case, I'll try to reproduce this issue at our end. I'll get back to you if we're unable to recreate it.
Hi Tim,

If not the package, can you share the config.json file, or any other powershell script(s) that you are running. Also, the manifest file would be helpful.