Commit graph

245 commits

Author SHA1 Message Date
dependabot[bot]
a7cfccc745
Merge 55e5d6cde7 into 1d55a41a2d 2025-03-26 09:33:57 +00:00
Omar Brikaa
1d55a41a2d
Explicitly provide env vars instead of inheriting them from parent (#703) 2025-02-08 20:46:46 +02:00
Omar Brikaa
6ef0cdf7b4
Provide HOME in sandbox (#702) 2025-02-08 15:10:50 +02:00
Omar Brikaa
24c5c05308 Give friendlier messages when cgroup v2 is not enabled 2024-10-04 19:31:12 +03:00
Omar Brikaa
47661343da
Downgrade base docker images because some packages were built on the previous image version (#687) 2024-09-17 22:32:23 +03:00
Omar Brikaa
c4afd97a38 Use pkgdir inside isolate sandbox to account for packages that have been built with a custom PREFIX
closes #686
2024-09-15 20:48:45 +03:00
Omar Brikaa
ecdced9ee7 Add SIGKILL signal for output limits and timeout, add status for output limits 2024-09-13 16:19:09 +03:00
Omar Brikaa
a99ce9ae47 Remove nosocket, update security principles in docs 2024-09-13 15:14:16 +03:00
Omar Brikaa
bd42fe3357
Improve isolation, execution limits and execution metrics by using Isolate (#683)
* Initial: use Isolate for isolation

* Continue: use Isolate for isolation

* Bug fixes

* timeout is wall-time for backward compatibility

* Documentation, signal names, reported time in ms

* Report memory usage in bytes

* Add privileged flags where needed

* Remove tmpfs

* Remove tmpfs

* Fix package installation

* Fix path, fix Zig: CRLF -> LF
2024-09-08 13:58:40 +12:00
Ahmed Wael
647bc3a7c7
handle stdout and stderr limits properly (#643)
* handle stdout and stderr limits proberly

Co-authored-by: Omar Brikaa <brikaaomar@gmail.com>

* added environment to docker compose

---------

Co-authored-by: Omar Brikaa <brikaaomar@gmail.com>
2024-01-26 19:41:28 +13:00
Shubham Sahai
d8af1ee301 Try-Catch process kills to handle dead processes 2023-10-30 20:09:01 +08:00
Shubham Sahai
dc4bb294b6 bugfix: catch error - "e is not defined" 2023-10-26 02:42:28 +08:00
Thomas Hobson
37141e87f6
Merge pull request #624 from Brikaa/fix-job-cleanup-evasion-vulnerability
Fix job cleanup evasion vulnerability, improve job execution error handling
2023-10-09 10:49:47 +13:00
Omar Brikaa
fef00b96f1 Improve containers stopping performance by handling SIGTERM 2023-10-03 13:59:23 +03:00
Omar Brikaa
6a47869578 Comments explaining the try-catch flow 2023-09-16 21:37:09 +03:00
Omar Brikaa
040e19fdc2 Interactive execution: run job cleanup regardless of errors 2023-09-15 20:39:15 +03:00
Omar Brikaa
fe2fc374aa Improve normal execution error handling
- Properly differentiate between bad requests and internal server errors
- Avoid clean up evasion by putting the cleanup in the finally block
2023-09-15 20:26:10 +03:00
Pablo Pozo
11841b3202 Backport engineer-man#519 parallel requests fix 2023-07-14 13:55:40 +03:00
dependabot[bot]
55e5d6cde7
build(deps): bump node-fetch from 2.6.1 to 2.6.7 in /api
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-12 02:21:52 +00:00
Luka Barbić
e86c19b007 return 200 and piston ver on /, fix empty content-type header validation 2023-01-11 18:59:29 +01:00
dependabot[bot]
5ae85c383f
build(deps): bump express from 4.17.1 to 4.17.3 in /api
Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.17.3.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.1...4.17.3)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-13 22:59:05 +00:00
Neysan Foo
52dd07ce20 fixed try catch 2022-07-04 15:24:10 +08:00
Thomas Hobson
0c0be54505
Fix #495 2022-07-02 01:46:44 +12:00
Omar Brikaa
5526071f00 Set jobs permissions on startup 2022-06-30 13:19:44 +02:00
Thomas Hobson
81e315609d
Use timeout as fallback for killing process 2022-04-27 03:05:29 +12:00
Thomas Hobson
0ab66f4f5f
Cleanup all zombie processes
Prevents process table exhaustion
2022-04-27 02:51:10 +12:00
Thomas Hobson
9276aa1109
Revert "build(deps): bump node-fetch from 2.6.1 to 3.1.1 in /api" 2022-03-02 19:20:55 +13:00
Thomas Hobson
c3678b9bce
Merge pull request #426 from engineer-man/dependabot/npm_and_yarn/api/node-fetch-3.1.1
build(deps): bump node-fetch from 2.6.1 to 3.1.1 in /api
2022-02-26 10:22:36 +13:00
Thomas Hobson
f113a18cef
Merge pull request #425 from Brikaa/checksum-app-use
checksum fail message undefined, app.use() duplicate
2022-02-26 10:20:55 +13:00
Omar Brikaa
9760f8fcf9 config.js: index by key, bug fix and more refactoring 2022-01-30 13:35:16 +02:00
Omar Brikaa
416ade1b76 Refactor config.js 2022-01-28 17:58:00 +02:00
dependabot[bot]
54cf8f6403
build(deps): bump node-fetch from 2.6.1 to 3.1.1 in /api
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 3.1.1.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v3.1.1)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-22 19:58:40 +00:00
Omar Brikaa
3372ca1954 checksum fail message undefined, app.use() duplicate 2022-01-22 18:56:33 +02:00
Thomas Hobson
142e7912fa
api(config): respect $PORT as used by heroku if no explicit bind address provided 2021-11-26 02:32:28 +13:00
Thomas Hobson
c091c117c7
api(job): Decrease safe_call CPU time
By increasing the niceness value of child processes, the scheduler gives less CPU Time to them.
This allows the node process to get more CPU time, and can work through the event queue faster.
2021-11-11 21:34:30 +13:00
Thomas Hobson
c7efa5372a
api(job): Switch process cleanup to sync
The system used to use async.
This would result in execution is handed off to other processes.
In the case of a forkbomb was used, it could circumvent the janitor as it consumed more CPU time which would prevent the process janitor from reading the process information in.
2021-11-11 19:27:54 +13:00
Brikaa
19252467cb Use some() instead of filter() in v2.js 2021-10-16 11:50:07 +02:00
Brikaa
64833a0408 pkg(file-0.0.1): Run executable 2021-10-16 11:49:59 +02:00
Brikaa
6ca9606f81 Adhere to project let, const practices in my code 2021-10-16 11:01:17 +02:00
Thomas Hobson
7e5844bcb1
require arleast 1 utf-8 encoded file 2021-10-15 16:14:06 +13:00
Thomas Hobson
0faea205db
Only compile/run files in utf8 encoding 2021-10-14 01:36:29 +13:00
Thomas Hobson
24a352699d
Support for uploading files in base64/hex format 2021-10-14 00:46:49 +13:00
Thomas Hobson
94a5568121
Merge pull request #371 from Brikaa/timeout
-1 for no timeout (infinite timeout)
2021-10-13 23:15:29 +13:00
Thomas Hobson
e97b6d426d
Merge pull request #367 from Brikaa/constraints-bug
Fix important constraints bug
2021-10-13 06:43:26 +13:00
Brikaa
afd71cc82d Fix env_val bug 2021-10-10 22:08:55 +02:00
Brikaa
2f114d6e54 Fix important constraints bug 2021-10-10 19:20:17 +02:00
Brikaa
f973ecf281 Add infinite timeout 2021-10-10 17:18:31 +02:00
Brikaa
f2c91acbe6 Piston lint 2021-10-09 18:10:58 +02:00
Brikaa
adae6fde2f pkg(dotnet-5.0.201): Added F#.net, F# interactive and VB.net 2021-10-04 17:25:11 +02:00
Brikaa
a5c3858100 Add per-language constraint overrides 2021-10-04 17:11:46 +02:00