joaofazolo / boca-docker Goto Github PK
View Code? Open in Web Editor NEWA dockerized version of the BOCA Online Contest Administrator
License: GNU General Public License v3.0
A dockerized version of the BOCA Online Contest Administrator
License: GNU General Public License v3.0
Hello,
My first time using boca here.
I'm trying to create a contest to test the S4RiS.php admin tool, this is to allow neoSaris (a new scoreboard revealer) to work with boca. But as I'm simulating the contest I'm able to set the problems, set the site, etc. The contests seems to work with runs, autojudges, etc. But I cannot see the scoreboard, it says that the scoreboard is empty!
I'm not sure of why is is happening as the runs and being performed successfully. The score is on level 3 so it should be displayed.
The BOCA logs doesn't show anything special, that tells that something is going wrong with the scoreboard, but when using the misc/Transfer-Scoreboard options it says that the main site URL is invalid. I'm using the local IP (I've tried 127.0.0.1/boca, localhost/boca).
I think that is the expected answer as the main site (1) is itself, and that main site might not be itself when running multi-site contests. So, not sure about what's happening.
Looking at the docker logs, I can find 2023-02-04 19:23:16 [Sat Feb 04 22:23:16.416768 2023] [access_compat:error] [pid 37] [client 172.18.0.1:48364] AH01797: client denied by server configuration: /var/www/boca/favicon.ico, referer: http://localhost:8000/boca/admin/score.php
I've already checked some issues around this, but it seems to be right configured.
Sorry if I'm not providing all the required information about the issue, It's my first time setting BOCA so I'm not familiar with its setup, but I can provide more information that might be required :)
Olá, subi os containers e fiz um contest, porém o serviço de autojudge não está rodando. Como faço para subir o serviço?
Sorry to bother you again. I created users and uploaded an example problem (abacaxi.zip) successfully. However, when submitting a solution, the following error appears on the screen showing the run details: error: internal test script failed (/home/bocajail/tmp/bocaVuBz4N.d/problemdata/tests/c
. It seems to be a problem compiling the script that tests whether autojudge is working. What could I be doing wrong?
Olá,
Estou utilizando o boca-docker e, quando submeto a resolução de um problema, está ocorrendo o seguinte erro do autojudge:
Internal directory is /tmp/bocahqIZ4k.d
./compileit.sh: fork: retry: Resource temporarily unavailable
./compileit.sh: fork: retry: Resource temporarily unavailable
./compileit.sh: fork: retry: Resource temporarily unavailable
./compileit.sh: fork: retry: Resource temporarily unavailable
./compileit.sh: fork: Resource temporarily unavailable
Compilation Error: 8
Current directory is /home/bocajail/tmp/bocahqIZ4k.d
safeexec: starting the job. Parent controller has pid 358, child is 359...
safeexec: PROGRAM EXITED WITH NONZERO CODE ./compileit.sh: 254
safeexec: TOTAL TIME RUNNING ./compileit.sh: 15 sec (0.001614 sec)
safeexec: killing all recent processes from this user/group to avoid possible malicious code... use -K if you don't want this
A resolução está correta e o código submetido está em Py3.
Se puderes dar uma luz, agradeço.
Firstly, congratulations on the initiative. Installing BOCA was much simpler with your docker. However, the website says that the admin user does not exist, while the system user enters with the password boca. Do you have any idea what could be happening?
Hi.
First, congratulations and thanks for the work.
I'm trying to configure the database access variables and it didn't work. Apparently, the system is trying to access BOCA_DB_NAME using BOCA_DB_SUPER_USER:
psql: error: FATAL: database "superuser" does not exist
docker-compose.yml:
version: '3.8'
services:
# web app
boca-web:
environment:
# database configuration
# privileged user password
- BOCA_DB_NAME=boca
- BOCA_DB_SUPER_USER=superuser
- BOCA_DB_SUPER_PASSWORD=superp@ss
ports:
- 8002:80
# online judge
# boca-jail:
# database
boca-db:
image: postgres:14-alpine
environment:
# database configuration
# privileged user password
- POSTGRES_DB=boca
- POSTGRES_USER=superuser
- POSTGRES_PASSWORD=superp@ss
Olá pessoal,
Primeiramente, obrigado pelo suporte do autojudge no python (realizei a maratona nas turmas de programação com sucesso).
Porém, tenho outras turmas que utilizam agora a linguagem Java. Está ocorrendo o erro abaixo quando submeto a resolução de um problema. Para ajudar, vou colocar todas as informações que utilizei, ok? Se precisarem de mais informações, por favor, entrem em contato.
=> Hardware/software
Windows 11 home 23H2
Notebook x64
Docker Desktop 4.26.1
Docker Engine v24.0.7
=> Em anexo, o problema (A.zip) e a solução em Java (Roman.zip). Lembrando que, para executar em Java, precisamos retirar o "package" e colocar o nome do arquivo/classe com o mesmo nome que está em basename, na descrição do problema.
A.zip
Roman.zip
=> Erro gerado no stderr
Exception in thread "main" java.lang.InternalError: Error loading java.security file
at java.base/java.security.Security.initialize(Security.java:94)
at java.base/java.security.Security$1.run(Security.java:79)
at java.base/java.security.Security$1.run(Security.java:77)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.Security.(Security.java:77)
at java.base/sun.security.util.SecurityProperties.getOverridableProperty(SecurityProperties.java:53)
at java.base/sun.security.util.SecurityProperties.privilegedGetOverridable(SecurityProperties.java:44)
at java.base/sun.security.util.FilePermCompat.(FilePermCompat.java:45)
at java.base/java.security.AccessControlContext.(AccessControlContext.java:260)
at java.base/java.security.AccessController.createWrapper(AccessController.java:599)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:430)
at java.base/java.util.ResourceBundle$ResourceBundleProviderHelper.loadResourceBundle(ResourceBundle.java:3602)
at java.base/java.util.ResourceBundle.loadBundle(ResourceBundle.java:1844)
at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1774)
at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1728)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1662)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1582)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1556)
at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:932)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.lambda$add$0(JavacMessages.java:121)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.getBundles(JavacMessages.java:140)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.setCurrentLocale(JavacMessages.java:80)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.(JavacMessages.java:112)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.(JavacMessages.java:89)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.instance(JavacMessages.java:58)
at jdk.compiler/com.sun.tools.javac.util.JCDiagnostic$Factory.(JCDiagnostic.java:71)
at jdk.compiler/com.sun.tools.javac.util.JCDiagnostic$Factory.instance(JCDiagnostic.java:61)
at jdk.compiler/com.sun.tools.javac.util.Log.(Log.java:352)
at jdk.compiler/com.sun.tools.javac.util.Log.(Log.java:255)
at jdk.compiler/com.sun.tools.javac.util.Log.instance(Log.java:235)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:197)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
Exception in thread "main" java.lang.InternalError: Error loading java.security file
at java.base/java.security.Security.initialize(Security.java:94)
at java.base/java.security.Security$1.run(Security.java:79)
at java.base/java.security.Security$1.run(Security.java:77)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.Security.(Security.java:77)
at java.base/sun.security.util.SecurityProperties.getOverridableProperty(SecurityProperties.java:53)
at java.base/sun.security.util.SecurityProperties.privilegedGetOverridable(SecurityProperties.java:44)
at java.base/sun.security.util.FilePermCompat.(FilePermCompat.java:45)
at java.base/java.security.AccessControlContext.(AccessControlContext.java:260)
at java.base/java.security.AccessController.createWrapper(AccessController.java:599)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:430)
at java.base/java.util.ResourceBundle$ResourceBundleProviderHelper.loadResourceBundle(ResourceBundle.java:3602)
at java.base/java.util.ResourceBundle.loadBundle(ResourceBundle.java:1844)
at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1774)
at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1728)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1662)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1582)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1556)
at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:932)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.lambda$add$0(JavacMessages.java:121)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.getBundles(JavacMessages.java:140)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.setCurrentLocale(JavacMessages.java:80)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.(JavacMessages.java:112)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.(JavacMessages.java:89)
at jdk.compiler/com.sun.tools.javac.util.JavacMessages.instance(JavacMessages.java:58)
at jdk.compiler/com.sun.tools.javac.util.JCDiagnostic$Factory.(JCDiagnostic.java:71)
at jdk.compiler/com.sun.tools.javac.util.JCDiagnostic$Factory.instance(JCDiagnostic.java:61)
at jdk.compiler/com.sun.tools.javac.util.Log.(Log.java:352)
at jdk.compiler/com.sun.tools.javac.util.Log.(Log.java:255)
at jdk.compiler/com.sun.tools.javac.util.Log.instance(Log.java:235)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:197)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
Exception in thread "main" java.lang.InternalError: Error loading java.security file
at java.base/java.security.Security.initialize(Security.java:94)
at java.base/java.security.Security$1.run(Security.java:79)
at java.base/java.security.Security$1.run(Security.java:77)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.Security.(Security.java:77)
at java.base/sun.security.util.SecurityProperties.getOverridableProperty(SecurityProperties.java:53)
at java.base/sun.security.util.SecurityProperties.privilegedGetOverridable(SecurityProperties.java:44)
at java.base/sun.security.util.FilePermCompat.(FilePermCompat.java:45)
at java.base/java.security.AccessControlContext.(AccessControlContext.java:260)
at java.base/java.security.AccessController.createWrapper(AccessController.java:599)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:430)
at java.base/java.util.ResourceBundle$ResourceBundleProviderHelper.loadResourceBundle(ResourceBundle.java:3602)
at java.base/java.util.ResourceBundle.loadBundle(ResourceBundle.java:1844)
at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1774)
at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1728)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1662)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1582)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1556)
at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:857)
at jdk.jartool/sun.tools.jar.Main.(Main.java:186)
Compilation Error: 1
Current directory is /home/bocajail/tmp/bocalFvAen.d
safeexec: starting the job. Parent controller has pid 133, child is 134...
safeexec: TOTAL TIME RUNNING ./compileit.sh: 2 sec (0.524778 sec)
safeexec: killing all recent processes from this user/group to avoid possible malicious code... use -K if you don't want this
Another problem (maybe related) is that the `.zip` is not being created using the `http://localhost:8000/boca/admin/buildproblem.php` tool. The error is that the `[...]/doc/problemexamples/[...]` folder is missing in the `boca-web` container. I fixed this problem by copying the `https://github.com/cassiopc/boca/tree/master/doc/problemexamples` folder to `var/www/boca/doc/problemexamples/[...]` in the `boca-web` container. Now, the `.zip` is being created without the `test` scripts (at least it is being created). Even when putting the test scripts manually, the error mentioned above occurs.
Originally posted by @laffernandes in #35 (comment)
This might be a bug in all builds. It can be reproduced by playing the role of a contest admin that creates or updates a problem package within the problems web page. If the Color field in the form is specified, the ballon for that problem will not be colored properly (it will not be created at all) and the form to add a new problem package will not be shown the next time the web page is reloaded.
Why it happens?
R: boca-web lacks the php-gd package
How to solve it?
R: Include the following command in boca-web build
apt-get install -y php-gd
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.