From 4f0de837aaa17722e7e3bb33f712012d90d6bcb0 Mon Sep 17 00:00:00 2001 From: bkmashiro Date: Mon, 17 Jul 2023 22:04:46 +0800 Subject: [PATCH 1/3] init --- config/config.toml | 4 +- config/run.sh | 4 ++ package.json | 7 ++-- prepare-docker.sh | 2 + src/Config.ts | 2 +- src/Spawn/Process.ts | 2 + yarn.lock | 95 +++++++++++++++++++++++++++++++++++++------- 7 files changed, 96 insertions(+), 20 deletions(-) create mode 100644 config/run.sh diff --git a/config/config.toml b/config/config.toml index defb396..02e8b4e 100644 --- a/config/config.toml +++ b/config/config.toml @@ -1,7 +1,7 @@ [self] judgeCapability = 4 name = "TestJudger" -port = 8999 +port = 9900 host = "0.0.0.0" trustIp = "127.0.0.1" [language] @@ -17,7 +17,7 @@ tmpdirBase = "/tmp/GP" defaultPidLimit = 64 uid = 1999 gid = 1999 -imageId = "5c802da8a161" +imageId = "e9b5fed0edb1" compileMemoryLimit = 536870912 compileTimeLimit = 10000 fileLimit = 134217728 diff --git a/config/run.sh b/config/run.sh new file mode 100644 index 0000000..3d7c669 --- /dev/null +++ b/config/run.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# sudo docker run --cgroupns private --privileged -it -v $(pwd)/config.toml:/hc/config/config.toml thinkspiritlab/heng-client --net=host +# if you need to connect to host network +sudo docker run --net=host --cgroupns private --privileged -it -v $(pwd)/config.toml:/hc/config/config.toml e9b5fed0edb1 \ No newline at end of file diff --git a/package.json b/package.json index 38d9ed7..7a0b149 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "eslint-plugin-import": "^2.26.0", "eslint-plugin-prettier": "^4.0.0", "prettier": "^2.6.2", - "ts-node-dev": "^1.0.0", + "ts-node-dev": "^2.0.0", "typescript": "^4.6.4", "why-is-node-running": "^2.2.2" }, @@ -41,6 +41,7 @@ "express": "^4.18.2", "lodash": "^4.17.20", "log4js": "^6.4.7", - "reflect-metadata": "^0.1.13" + "reflect-metadata": "^0.1.13", + "ts-node": "^10.9.1" } -} \ No newline at end of file +} diff --git a/prepare-docker.sh b/prepare-docker.sh index 73537ee..5a386ad 100644 --- a/prepare-docker.sh +++ b/prepare-docker.sh @@ -31,6 +31,8 @@ dnf install --enablerepo=PowerTools --assumeyes $pkgs || dnf install --enablerep mkdir /usr/local/lib/GP/nlohmann -p && curl 'https://github.com/nlohmann/json/releases/latest/download/json.hpp' -L -o /usr/local/lib/GP/nlohmann/json.hpp +python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip +python3 -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple python3 -m pip install --no-cache-dir numpy scipy dnf clean all diff --git a/src/Config.ts b/src/Config.ts index 1808d6b..08083b4 100644 --- a/src/Config.ts +++ b/src/Config.ts @@ -171,7 +171,7 @@ export function getConfig(): Config { // logger.fatal(JSON.stringify(config)); if (!tryValidate(config as unknown as Record)) { config = undefined; - throw new Error("Failed to get Config,Please check configToml"); + throw new Error("Failed to get Config, Please check configToml"); } logger.info("Loaded Config from file"); } diff --git a/src/Spawn/Process.ts b/src/Spawn/Process.ts index 013e8b4..cb1e5e7 100644 --- a/src/Spawn/Process.ts +++ b/src/Spawn/Process.ts @@ -7,10 +7,12 @@ import { backOff } from "../Utilities/util"; const CgPath = "/sys/fs/cgroup"; const DockerGroup = "docker"; + enum SubSystem { Cpu = "cpu", Memory = "memory", } + enum CpuFileName { UsageUser = "cpuacct.usage_user", UsageSys = "cpuacct.usage_sys", diff --git a/yarn.lock b/yarn.lock index e80c06b..771c132 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,6 +23,13 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://mirrors.cloud.tencent.com/npm/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -79,6 +86,24 @@ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.1" + resolved "https://mirrors.cloud.tencent.com/npm/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://mirrors.cloud.tencent.com/npm/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://mirrors.cloud.tencent.com/npm/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -100,6 +125,26 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://mirrors.cloud.tencent.com/npm/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://mirrors.cloud.tencent.com/npm/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://mirrors.cloud.tencent.com/npm/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://mirrors.cloud.tencent.com/npm/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + "@types/body-parser@*": version "1.19.2" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" @@ -313,6 +358,16 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://mirrors.cloud.tencent.com/npm/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1: + version "8.10.0" + resolved "https://mirrors.cloud.tencent.com/npm/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + acorn@^8.8.0: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" @@ -1629,7 +1684,7 @@ minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -2009,7 +2064,7 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -source-map-support@^0.5.12, source-map-support@^0.5.17: +source-map-support@^0.5.12: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -2131,32 +2186,39 @@ tree-kill@^1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -ts-node-dev@^1.0.0: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" - integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== +ts-node-dev@^2.0.0: + version "2.0.0" + resolved "https://mirrors.cloud.tencent.com/npm/ts-node-dev/-/ts-node-dev-2.0.0.tgz#bdd53e17ab3b5d822ef519928dc6b4a7e0f13065" + integrity sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w== dependencies: chokidar "^3.5.1" dynamic-dedupe "^0.3.0" - minimist "^1.2.5" + minimist "^1.2.6" mkdirp "^1.0.4" resolve "^1.0.0" rimraf "^2.6.1" source-map-support "^0.5.12" tree-kill "^1.2.2" - ts-node "^9.0.0" + ts-node "^10.4.0" tsconfig "^7.0.0" -ts-node@^9.0.0: - version "9.1.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" - integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== - dependencies: +ts-node@^10.4.0, ts-node@^10.9.1: + version "10.9.1" + resolved "https://mirrors.cloud.tencent.com/npm/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" arg "^4.1.0" create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - source-map-support "^0.5.17" + v8-compile-cache-lib "^3.0.1" yn "3.1.1" tsconfig-paths@^3.14.1: @@ -2257,6 +2319,11 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://mirrors.cloud.tencent.com/npm/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + validator@^13.7.0: version "13.9.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.9.0.tgz#33e7b85b604f3bbce9bb1a05d5c3e22e1c2ff855" From 4933557f960038b0ddfb0d6643ebd4ad6fe98eee Mon Sep 17 00:00:00 2001 From: bkmashiro Date: Mon, 17 Jul 2023 22:05:51 +0800 Subject: [PATCH 2/3] Revert "init" This reverts commit 4f0de837aaa17722e7e3bb33f712012d90d6bcb0. --- config/config.toml | 4 +- config/run.sh | 4 -- package.json | 7 ++-- prepare-docker.sh | 2 - src/Config.ts | 2 +- src/Spawn/Process.ts | 2 - yarn.lock | 95 +++++++------------------------------------- 7 files changed, 20 insertions(+), 96 deletions(-) delete mode 100644 config/run.sh diff --git a/config/config.toml b/config/config.toml index 02e8b4e..defb396 100644 --- a/config/config.toml +++ b/config/config.toml @@ -1,7 +1,7 @@ [self] judgeCapability = 4 name = "TestJudger" -port = 9900 +port = 8999 host = "0.0.0.0" trustIp = "127.0.0.1" [language] @@ -17,7 +17,7 @@ tmpdirBase = "/tmp/GP" defaultPidLimit = 64 uid = 1999 gid = 1999 -imageId = "e9b5fed0edb1" +imageId = "5c802da8a161" compileMemoryLimit = 536870912 compileTimeLimit = 10000 fileLimit = 134217728 diff --git a/config/run.sh b/config/run.sh deleted file mode 100644 index 3d7c669..0000000 --- a/config/run.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -# sudo docker run --cgroupns private --privileged -it -v $(pwd)/config.toml:/hc/config/config.toml thinkspiritlab/heng-client --net=host -# if you need to connect to host network -sudo docker run --net=host --cgroupns private --privileged -it -v $(pwd)/config.toml:/hc/config/config.toml e9b5fed0edb1 \ No newline at end of file diff --git a/package.json b/package.json index 7a0b149..38d9ed7 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "eslint-plugin-import": "^2.26.0", "eslint-plugin-prettier": "^4.0.0", "prettier": "^2.6.2", - "ts-node-dev": "^2.0.0", + "ts-node-dev": "^1.0.0", "typescript": "^4.6.4", "why-is-node-running": "^2.2.2" }, @@ -41,7 +41,6 @@ "express": "^4.18.2", "lodash": "^4.17.20", "log4js": "^6.4.7", - "reflect-metadata": "^0.1.13", - "ts-node": "^10.9.1" + "reflect-metadata": "^0.1.13" } -} +} \ No newline at end of file diff --git a/prepare-docker.sh b/prepare-docker.sh index 5a386ad..73537ee 100644 --- a/prepare-docker.sh +++ b/prepare-docker.sh @@ -31,8 +31,6 @@ dnf install --enablerepo=PowerTools --assumeyes $pkgs || dnf install --enablerep mkdir /usr/local/lib/GP/nlohmann -p && curl 'https://github.com/nlohmann/json/releases/latest/download/json.hpp' -L -o /usr/local/lib/GP/nlohmann/json.hpp -python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip -python3 -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple python3 -m pip install --no-cache-dir numpy scipy dnf clean all diff --git a/src/Config.ts b/src/Config.ts index 08083b4..1808d6b 100644 --- a/src/Config.ts +++ b/src/Config.ts @@ -171,7 +171,7 @@ export function getConfig(): Config { // logger.fatal(JSON.stringify(config)); if (!tryValidate(config as unknown as Record)) { config = undefined; - throw new Error("Failed to get Config, Please check configToml"); + throw new Error("Failed to get Config,Please check configToml"); } logger.info("Loaded Config from file"); } diff --git a/src/Spawn/Process.ts b/src/Spawn/Process.ts index cb1e5e7..013e8b4 100644 --- a/src/Spawn/Process.ts +++ b/src/Spawn/Process.ts @@ -7,12 +7,10 @@ import { backOff } from "../Utilities/util"; const CgPath = "/sys/fs/cgroup"; const DockerGroup = "docker"; - enum SubSystem { Cpu = "cpu", Memory = "memory", } - enum CpuFileName { UsageUser = "cpuacct.usage_user", UsageSys = "cpuacct.usage_sys", diff --git a/yarn.lock b/yarn.lock index 771c132..e80c06b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,13 +23,6 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://mirrors.cloud.tencent.com/npm/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -86,24 +79,6 @@ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.1" - resolved "https://mirrors.cloud.tencent.com/npm/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://mirrors.cloud.tencent.com/npm/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://mirrors.cloud.tencent.com/npm/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -125,26 +100,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://mirrors.cloud.tencent.com/npm/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://mirrors.cloud.tencent.com/npm/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://mirrors.cloud.tencent.com/npm/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://mirrors.cloud.tencent.com/npm/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - "@types/body-parser@*": version "1.19.2" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" @@ -358,16 +313,6 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://mirrors.cloud.tencent.com/npm/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1: - version "8.10.0" - resolved "https://mirrors.cloud.tencent.com/npm/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - acorn@^8.8.0: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" @@ -1684,7 +1629,7 @@ minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -2064,7 +2009,7 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -source-map-support@^0.5.12: +source-map-support@^0.5.12, source-map-support@^0.5.17: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -2186,39 +2131,32 @@ tree-kill@^1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -ts-node-dev@^2.0.0: - version "2.0.0" - resolved "https://mirrors.cloud.tencent.com/npm/ts-node-dev/-/ts-node-dev-2.0.0.tgz#bdd53e17ab3b5d822ef519928dc6b4a7e0f13065" - integrity sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w== +ts-node-dev@^1.0.0: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" + integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== dependencies: chokidar "^3.5.1" dynamic-dedupe "^0.3.0" - minimist "^1.2.6" + minimist "^1.2.5" mkdirp "^1.0.4" resolve "^1.0.0" rimraf "^2.6.1" source-map-support "^0.5.12" tree-kill "^1.2.2" - ts-node "^10.4.0" + ts-node "^9.0.0" tsconfig "^7.0.0" -ts-node@^10.4.0, ts-node@^10.9.1: - version "10.9.1" - resolved "https://mirrors.cloud.tencent.com/npm/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" +ts-node@^9.0.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: arg "^4.1.0" create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" + source-map-support "^0.5.17" yn "3.1.1" tsconfig-paths@^3.14.1: @@ -2319,11 +2257,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://mirrors.cloud.tencent.com/npm/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - validator@^13.7.0: version "13.9.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.9.0.tgz#33e7b85b604f3bbce9bb1a05d5c3e22e1c2ff855" From c796fe2acff6feb3227a391bad82c748f15fc29a Mon Sep 17 00:00:00 2001 From: bkmashiro Date: Mon, 31 Jul 2023 13:53:51 +0800 Subject: [PATCH 3/3] close io before terminating --- src/Utilities/util.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Utilities/util.ts b/src/Utilities/util.ts index 062ffec..07b6b23 100644 --- a/src/Utilities/util.ts +++ b/src/Utilities/util.ts @@ -64,6 +64,9 @@ export function getline(stream: Readable) { export function timeout(process: DockerProcess, ms: number): () => void { let timer: NodeJS.Timer = setTimeout(() => { logger.warn("timeout, killing"); + process.stdin?.destroy(); + process.stdout?.destroy(); + process.stderr?.destroy(); process.terminal(); }, ms); return () => {