Skip to content

DMOJ Judge v2.1.0

Compare
Choose a tag to compare
@Xyene Xyene released this 11 May 20:10
· 784 commits to master since this release

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, through py_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 sends None 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