"...torch/git@developer.sourcefind.cn:OpenDAS/fairscale.git" did not exist on "13445c555aa459bf10b5be9f496937acaca72006"
Unverified Commit e8a66680 authored by Daniel Hiltgen's avatar Daniel Hiltgen Committed by GitHub
Browse files

Merge pull request #5705 from dhiltgen/win_errormode

Enable windows error dialog for subprocess
parents 079b2c3b e12fff88
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#if defined(_WIN32) #if defined(_WIN32)
#include <windows.h> #include <windows.h>
#include <errhandlingapi.h>
#endif #endif
#include <cstddef> #include <cstddef>
...@@ -2737,6 +2738,9 @@ int wmain(int argc, wchar_t **wargv) { ...@@ -2737,6 +2738,9 @@ int wmain(int argc, wchar_t **wargv) {
for (int i = 0; i < argc; ++i) { for (int i = 0; i < argc; ++i) {
argv[i] = wchar_to_char(wargv[i]); argv[i] = wchar_to_char(wargv[i]);
} }
// Adjust error mode to avoid error dialog after we start.
SetErrorMode(SEM_FAILCRITICALERRORS);
#else #else
int main(int argc, char **argv) { int main(int argc, char **argv) {
#endif #endif
......
...@@ -2,7 +2,10 @@ package llm ...@@ -2,7 +2,10 @@ package llm
import ( import (
"embed" "embed"
"syscall"
) )
//go:embed build/darwin/x86_64/*/bin/* //go:embed build/darwin/x86_64/*/bin/*
var libEmbed embed.FS var libEmbed embed.FS
var LlamaServerSysProcAttr = &syscall.SysProcAttr{}
...@@ -2,7 +2,10 @@ package llm ...@@ -2,7 +2,10 @@ package llm
import ( import (
"embed" "embed"
"syscall"
) )
//go:embed build/darwin/arm64/*/bin/* //go:embed build/darwin/arm64/*/bin/*
var libEmbed embed.FS var libEmbed embed.FS
var LlamaServerSysProcAttr = &syscall.SysProcAttr{}
package llm package llm
import "embed" import (
"embed"
"syscall"
)
//go:embed build/linux/*/*/bin/* //go:embed build/linux/*/*/bin/*
var libEmbed embed.FS var libEmbed embed.FS
var LlamaServerSysProcAttr = &syscall.SysProcAttr{}
package llm package llm
import "embed" import (
"embed"
"syscall"
)
// unused on windows // unused on windows
var libEmbed embed.FS var libEmbed embed.FS
const CREATE_DEFAULT_ERROR_MODE = 0x04000000
var LlamaServerSysProcAttr = &syscall.SysProcAttr{
// Wire up the default error handling logic If for some reason a DLL is
// missing in the path this will pop up a GUI Dialog explaining the fault so
// the user can either fix their PATH, or report a bug. Without this
// setting, the process exits immediately with a generic exit status but no
// way to (easily) figure out what the actual missing DLL was.
CreationFlags: CREATE_DEFAULT_ERROR_MODE,
}
...@@ -346,6 +346,7 @@ func NewLlamaServer(gpus gpu.GpuInfoList, model string, ggml *GGML, adapters, pr ...@@ -346,6 +346,7 @@ func NewLlamaServer(gpus gpu.GpuInfoList, model string, ggml *GGML, adapters, pr
s.cmd.Env = os.Environ() s.cmd.Env = os.Environ()
s.cmd.Stdout = os.Stdout s.cmd.Stdout = os.Stdout
s.cmd.Stderr = s.status s.cmd.Stderr = s.status
s.cmd.SysProcAttr = LlamaServerSysProcAttr
envWorkarounds := [][2]string{} envWorkarounds := [][2]string{}
for _, gpu := range gpus { for _, gpu := range gpus {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment