joaofazolo / boca-docker

A dockerized version of the BOCA Online Contest Administrator
GNU General Public License v3.0
21 stars 18 forks source link

Erro Autojudge - Java #49

Closed irajamuller closed 8 months ago

irajamuller commented 8 months ago

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

rlaiola commented 8 months ago

Olá, @irajamuller

Se possível, favor testar com a seguinte imagem do online judge: ghcr.io/rlaiola/boca-docker/boca-jail:java-fix

Obrigado!

irajamuller commented 8 months ago

Olá @rlaiola, Obrigado pelo retorno. Com a nova imagem que você disponibilizou, a compilação e execução ocorreram com sucesso, porém, o resultado não está indo para o score. Segue imagem do processo de validação do problema A. JavaAutoJudge

Segue imagem do autojudge com o resultado correto, porém sem atualização do status: ProcessAutoJudge

Segue tela do Score: Score

Tentei fazer um teste submetendo o mesmo problema em python, mas está ocorrendo aquele erro anterior (já resolvido com a imagem ghcr.io/rlaiola/boca-docker/boca-jail:teste).

Avante

irajamuller commented 8 months ago

Olá @rlaiola, Refiz os testes e agora está funcionando... Eu excluí todas as imagens do docker e só utilizei a sua! Acho que temos fechado! Podes ignorar a mensagem acima.

Obrigado

rlaiola commented 7 months ago

@irajamuller subi na branch principal todas as alterações. Se possível, favor remover as imagens no seu ambiente local, baixar as novas do repositório principal (https://github.com/joaofazolo/boca-docker) usando umas das tags (latest, 1.2 ou 1.2.2) e verificar se o problema do Java e do Python foram resolvidos.

Obrigado!

irajamuller commented 7 months ago

Ola @rlaiola, Apaguei o post anterior, pois percebi que o "jail:latest" estava apontando para outro link. Fiz teste com 3 linguagens e todas estão executando 100%. Segue imagem do score: Score

Muitíssimo obrigado. Será muito útil aqui na UNISINOS. Avante