debt - unset DYLD_LIBRARY_PATH before forking (#106211)
This commit is contained in:
parent
baeae888a7
commit
7458d313c3
2 changed files with 8 additions and 1 deletions
|
@ -14,6 +14,7 @@ import { isRemoteConsoleLog, log } from 'vs/base/common/console';
|
|||
import { CancellationToken } from 'vs/base/common/cancellation';
|
||||
import * as errors from 'vs/base/common/errors';
|
||||
import { VSBuffer } from 'vs/base/common/buffer';
|
||||
import { isMacintosh } from 'vs/base/common/platform';
|
||||
|
||||
/**
|
||||
* This implementation doesn't perform well since it uses base64 encoding for buffers.
|
||||
|
@ -197,6 +198,12 @@ export class Client implements IChannelClient, IDisposable {
|
|||
forkOpts.execArgv = ['--nolazy', '--inspect-brk=' + this.options.debugBrk];
|
||||
}
|
||||
|
||||
if (isMacintosh && forkOpts.env) {
|
||||
// Unset `DYLD_LIBRARY_PATH`, as it leads to process crashes
|
||||
// See https://github.com/microsoft/vscode/issues/105848
|
||||
delete forkOpts.env['DYLD_LIBRARY_PATH'];
|
||||
}
|
||||
|
||||
this.child = fork(this.modulePath, args, forkOpts);
|
||||
|
||||
const onMessageEmitter = new Emitter<VSBuffer>();
|
||||
|
|
|
@ -172,7 +172,7 @@ export class LocalProcessExtensionHost implements IExtensionHost {
|
|||
}
|
||||
|
||||
const opts = {
|
||||
env: env,
|
||||
env,
|
||||
// We only detach the extension host on windows. Linux and Mac orphan by default
|
||||
// and detach under Linux and Mac create another process group.
|
||||
// We detach because we have noticed that when the renderer exits, its child processes
|
||||
|
|
Loading…
Reference in a new issue