DMOJ / judge-server

Judging backend server for the DMOJ online judge.
https://dmoj.ca
GNU Affero General Public License v3.0
897 stars 256 forks source link

No judge is available for this problem. #1100

Open KarteekAti opened 1 year ago

KarteekAti commented 1 year ago

I have used Docker for the Setup, after posting a problem on dmoj, I can't do a submission.

local_settings.py image

and used - docker run \ --name judge \ -p "$(ip addr show dev enp1s0 | perl -ne 'm@inet (.)/.@ and print$1 and exit')":9998:9998 \ -v /mnt/problems:/problems \ --cap-add=SYS_PTRACE \ -d \ --restart=always \ dmoj/judge-tier1:latest \ run -p "$PORT" -c /problems/judge.yml \ "$IP" "$JUDGE_NAME" "$JUDGE_AUTHENTICATION_KEY"

for docker.

image

KarteekAti commented 1 year ago

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv Self-testing executors seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing AWK: Success [0.003s, 976 KB] awk 1.3.4 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing C: Success [0.003s, 840 KB] gcc 12 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing C11: Success [0.003s, 840 KB] gcc11 12 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing CPP03: Success [0.004s, 1688 KB] g++ 12 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing CPP11: Success [0.004s, 1684 KB] g++11 12 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing CPP14: Success [0.004s, 1688 KB] g++14 12 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing CPP17: Success [0.004s, 1688 KB] g++17 12 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing CPP20: Success [0.003s, 1688 KB] g++20 12 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing JAVA8: Success [0.137s, 31720 KB] javac 1.8.0 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing PAS: Success [0.004s, 4 KB] fpc 3.2.2 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing PERL: Success [0.009s, 5228 KB] perl 5.36.0 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing PY2: Success [0.013s, 5776 KB] python 2.7.18 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing PY3: Success [0.032s, 9652 KB] python3 3.11.1 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing SED: Success [0.003s, 1016 KB] sed 4.8 seccomp_rule_add(..., SCMP_ACT_ALLOW, 403): Bad address Self-testing TEXT: Success [0.003s, 1472 KB] cat 9.1

Running live judge... INFO 2023-01-17 11:00:46,623 82 packet Preparing to connect to [ip] as: karteek INFO 2023-01-17 11:00:46,623 82 packet TLS not enabled. INFO 2023-01-17 11:00:46,623 82 packet Opening connection to: [ip] INFO 2023-01-17 11:00:46,625 82 packet Starting handshake with: [ip] INFO 2023-01-17 11:00:46,625 82 packet Awaiting handshake response: [ip] INFO 2023-01-17 11:00:46,628 82 packet Judge "karteek" online: [ip]

These are my docker logs.

KarteekAti commented 1 year ago

my /mnt/problems folder is empty even after adding problems in site

kiritofeng commented 1 year ago

You need to point PROBLEM_STORAGE_ROOT in your site's local config to a folder where the judge is configured to look.

KarteekAti commented 1 year ago

You need to point PROBLEM_STORAGE_ROOT in your site's local config to a folder where the judge is configured to look.

How can I do that, can you give me an example? Because I believe I did point PROBLEM_STORAGE_ROOT to /mnt/problems and judge is looking for /mnt/problems. And when I add new problem I can’t view the problem in that folder.

Ninjaclasher commented 1 year ago

Did you add test data for the problem? (i.e. from the problem page -> Edit test data)?

KarteekAti commented 1 year ago

No, but even if I don't add the test data, the problem should be in /mnt/problems/ right? image

How can i config judge using docker to look at specific folder for problem_data?

kiritofeng commented 1 year ago

If you are using site-managed data and do not add test data, the folder will not be created.

KarteekAti commented 1 year ago

But i am not getting this in my logs - image

dosoos commented 1 year ago

I also have this problem, unfortunately it has not been resolved

ktikhonov commented 5 months ago

Somehow related. Why dont I have PY2 here among self-testing executors? What determines the entries of the list?

xxx@xxx:~/git/judge/dmoj/executors$ sudo docker logs xxx Self-testing executors Self-testing AWK: Success [0.007s, 2232 KB] awk 1.3.4 Self-testing C: Success [0.006s, 1080 KB] gcc 13 Self-testing CPP03: Success [0.009s, 2028 KB] g++ 13 Self-testing CPP11: Success [0.009s, 2088 KB] g++11 13 Self-testing JAVA: Success [0.407s, 30732 KB] javac 1.8.0 Self-testing OBJC: Failed Traceback (most recent call last): File "/judge/dmoj/executors/baseexecutor.py", line 337, in runself_test executor = cls(cls.test_name, utf8bytes(cls.test_program)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/judge/dmoj/executors/compiled_executor.py", line 66, in __call obj.compile() File "/judge/dmoj/executors/compiled_executor.py", line 219, in compile process = self.create_compile_process(self.get_compile_args()) ^^^^^^^^^^^^^^^^^^^^^^^ File "/judge/dmoj/executors/c_like_executor.py", line 76, in get_compile_args

Running live judge...

Elfsong commented 4 months ago

Somehow related. Why dont I have PY2 here among self-testing executors? What determines the entries of the list?

xxx@xxx:~/git/judge/dmoj/executors$ sudo docker logs xxx Self-testing executors Self-testing AWK: Success [0.007s, 2232 KB] awk 1.3.4 Self-testing C: Success [0.006s, 1080 KB] gcc 13 Self-testing CPP03: Success [0.009s, 2028 KB] g++ 13 Self-testing CPP11: Success [0.009s, 2088 KB] g++11 13 Self-testing JAVA: Success [0.407s, 30732 KB] javac 1.8.0 Self-testing OBJC: Failed Traceback (most recent call last): File "/judge/dmoj/executors/baseexecutor.py", line 337, in runself_test executor = cls(cls.test_name, utf8bytes(cls.test_program)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/judge/dmoj/executors/compiled_executor.py", line 66, in __call obj.compile() File "/judge/dmoj/executors/compiled_executor.py", line 219, in compile process = self.create_compile_process(self.get_compile_args()) ^^^^^^^^^^^^^^^^^^^^^^^ File "/judge/dmoj/executors/c_like_executor.py", line 76, in get_compile_args + self.get_flags() ^^^^^^^^^^^^^^^^ File "/judge/dmoj/executors/OBJC.py", line 30, in get_flags return self.runtime_dict['objc_flags'] + super().get_flags() ~~^~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' Self-testing PERL: Success [0.021s, 5752 KB] perl 5.38.2 Self-testing SED: Success [0.008s, 1100 KB] sed 4.9

Running live judge...

Some here.