DMOJ Judge v2.1.0
This minor release contains a number of features and stability improvements. Upgrading from 2.0.0 is strongly recommended.
The full changelog is available here.
Features
- Full support for running the judge in Docker
- New
bridged
checker for interfacing with e.g.testlib
checkers - New
bridged
grader for interfacing with e.g.testlib
graders - Python:
SyntaxError
is now mapped to a compilation error, throughpy_compile
- New
--skip-self-test
flag to skip self-tests at startup - Support for the Zig programming language (0.6.0) has been added
- OCaml: compile with JSC Base/Core/Stdio and Zarith
- Chicken Scheme: add support for Chicken 5
Fixes
Sandbox
- Properly validate null file paths
- Reject open requests to overly long paths
- More robustly reject invalid Unicode with
ENOENT
and logging - Globally allow the
pread64
syscall - Globally allow
PR_SET_THP_DISABLE
prctl
- Wait for process to spawn before returning from
TracedPopen
constructor, fixing a possible race - Adjust OOM score for compilers to maximal badness; #599
- Adjust OOM score for submissions to maximal badness; #649
- Hold GIL when spawning submission process; #588
Runtimes
- ARM GAS: fix when running in ARM64 Docker
- Ruby 2: allow
eventfd2
syscall - Ruby 2: support autoconf for Ruby 2.8
- Java: don't display exception details
- V8 JavaScript: increase stack limit to 128mb
- Go: allow
package main
; #582 - Go: allow
mlock
syscall (needed as of go 1.14.1) - Mono: allow
clock_nanosleep
- Brain***: better bracket validation; #625
- COBOL: detect new capitalization formats for error/note/warning; #656
- Allow C11 to be signature graded
- Properly suffix extensions in CLI
Others
- Avoid slow filesystem scans on testcase location resolution (for network-mounted problem directories)
- Handle MLEs during linking more gracefully by notifying user
- Limit number of digits interactor accepts; #606
- Fix
TypeError
in site when judge sendsNone
case points; #659
Miscellaneous
- The
cptbox
sandbox is now built with-O3
and-march=native
- Syscall list has been updated for Linux 5.6
- Feedback is no longer processed on TLE/MLE/OLE
- Multi-judge support has been removed; #654