Skip to content

How to determine fopen-filter parameters #26

@reAsOn2010

Description

@reAsOn2010

Hi, Quark.

we(PTA) are trying to run ljudge on new kernel (5.4+, for preparing upgrade OS to ubuntu 20.04), and the fopen-filter is broken when running c# program.

{
  "compilation": {
    "log": "",
    "success": true
  },
  "testcases": [
    {
      "error": "lrun exited with non-zero (14)",
      "result": "INTERNAL_ERROR",
      "stderr": "ERROR: cannot mark path (Invalid argument)\n",
      "stdout": ""
    },
    {
      "error": "lrun exited with non-zero (14)",
      "result": "INTERNAL_ERROR",
      "stderr": "ERROR: cannot mark path (Invalid argument)\n",
      "stdout": ""
    }
  ]
}

the c# lrun args:

--syscalls
!execve,flock,ptrace,sync,fdatasync,fsync,msync,sync_file_range,syncfs,unshare,setns,clone[a&268435456==268435456],query_module,syslog,sysfs
--fopen-filter
m:/proc:.*/(maps|comm)$
a
--fopen-filter
m:/proc:
d
--hostname
ljudge

if I remove all "--fopen-filter" parameters, it will work.

--syscalls
!execve,flock,ptrace,sync,fdatasync,fsync,msync,sync_file_range,syncfs,unshare,setns,clone[a&268435456==268435456],query_module,syslog,sysfs
--hostname
ljudge

All other languages run well on kernel 5.4 +, except C# and VB. They are all compiled by mono and run as *.exe.
The compiler installation Dockerfile is here:

ARG BASE_IMAGE

# install language specified thing
FROM ${BASE_IMAGE}

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
    apt-get install -y tzdata mono-mcs mono-vbnc && \
    apt-get clean && \
    apt-get autoremove -y && \
    rm -rf /var/lib/apt/lists/

I'd like to know how to determine "--fopen-filter" parameters, and why currently only java and mono having these params.
And if I really remove these params for C#, is it safe?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions