Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java RTE #18

Closed
GoogleCodeExporter opened this issue Mar 22, 2015 · 26 comments
Closed

Java RTE #18

GoogleCodeExporter opened this issue Mar 22, 2015 · 26 comments

Comments

@GoogleCodeExporter
Copy link

Java RuntimeError for correct Java code.
But it works well with C++ and Pascal code.

System Version: Ubuntu 9.10
Java Version: Sun Jdk 1.6.0_20

The code is newly downloaded and compiled.
When I run the command:
-----------------------------------------------------------------
$sudo judged debug
<<=sid=22931===clientid=0==>>

time: 4 mem: 943
judging 
starting 
[ERROR] A Not allowed system call: runid:22931 callid:221

sig=9
MLE:256jvm:256result: 10
Judging solution 22933
-----------------------------------------------------------------

Below is the problem and data I test.



Original issue reported on code.google.com by immoz...@gmail.com on 4 Aug 2010 at 1:34

Attachments:

@GoogleCodeExporter
Copy link
Author

please post your java answer

Original comment by newsc...@gmail.com on 4 Aug 2010 at 10:40

@GoogleCodeExporter
Copy link
Author

and check your settings for java
i can't reproduce this problem on my laptop
$ cat /home/judge/etc/java0.policy 

grant {
    permission java.io.FilePermission "./*", "read";
    permission java.io.FilePermission "./*", "write";
};

Original comment by newsc...@gmail.com on 4 Aug 2010 at 11:43

@GoogleCodeExporter
Copy link
Author

I submit this code:

import java.io.*;
import java.util.*;
public class Main
{
            public static void main(String args[]) throws Exception
            {
                    Scanner cin=new Scanner(System.in);
                    int a=cin.nextInt(),b=cin.nextInt();
                    System.out.println(a+b);
            }
}

And I think the java0.policy is the same as yours.

grant {
    permission java.io.FilePermission "./*", "read";
    permission java.io.FilePermission "./*", "write";
}

Original comment by immoz...@gmail.com on 5 Aug 2010 at 12:39

@GoogleCodeExporter
Copy link
Author

that's strange ,it says AC on my lap.
and works on acm.ajou.ac.kr
http://acm.ajou.ac.kr/JudgeOnline/problem.php?id=1000

are you using and 64bit's system like AMD-64 and ubuntu for 64bits

Original comment by newsc...@gmail.com on 5 Aug 2010 at 2:39

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

if you are setting up a new server, i suggest you try the [HUSTOJ_LiveCD] ,and 
install to hard driver by using the GUI interface
run this in the LiveCD system
sudo ubiquity

Original comment by newsc...@gmail.com on 5 Aug 2010 at 2:44

@GoogleCodeExporter
Copy link
Author

http://code.google.com/p/hustoj/wiki/HUSTOJ_LiveCD

Original comment by newsc...@gmail.com on 5 Aug 2010 at 2:45

@GoogleCodeExporter
Copy link
Author

Thanks for your rapid replies.
I check my system with
----------
$uname -m
i686
----------
And it seems to be 32bit's.

I have tried hustoj_livecd on my virtual machine. And It works well with C++ 
and Java. But there is a problem: the memory used for Java is quite high: 
408944kb for an 'A+B' solution. Is that a bug?


Original comment by immoz...@gmail.com on 5 Aug 2010 at 5:06

@GoogleCodeExporter
Copy link
Author

that can be regarded as a "bug", that's the virtual memory accessed by JVM

because JVM's heap / garbage model, a lot of memory is used for the j2se 
framework

in some way,it is a bug, the memory showed is not only the program's memory, 
but also JVM's as the JVM init heapsize is included

that bug might can be fixed by using jdb-tools, but not on our schedule.

any way, Java is designed for after 1GB times,you can compare LiveCD with your 
own system.

Original comment by newsc...@gmail.com on 5 Aug 2010 at 6:17

@GoogleCodeExporter
Copy link
Author

I see.
I compared the 'judged','judge_client' and files under /home/judge.
But they seems to be the same.
Does it come with the difference of java version?
Java Version in virtual machine is 1.6.0_15 .

Anyway, I think I will try the LIVE_CD on a "real" computer later.
Then I may be back with new problems :)

Original comment by immoz...@gmail.com on 5 Aug 2010 at 12:06

@GoogleCodeExporter
Copy link
Author

i've tested it with ubuntu10.4+sunjdk1.6.0_20,still AC.

if you try LiveCD, r301 is recommanded,r288 might has some bugs.

Original comment by newsc...@gmail.com on 6 Aug 2010 at 12:26

@GoogleCodeExporter
Copy link
Author

what's your OJ_RUNNING value in /home/judge/etc/judge.conf

it seems running more than one judge_client for java may cause similiar error 
of syscall 221

Original comment by newsc...@gmail.com on 9 Sep 2010 at 4:27

@GoogleCodeExporter
Copy link
Author

and how much memory do you have?

Original comment by newsc...@gmail.com on 10 Sep 2010 at 5:39

@GoogleCodeExporter
Copy link
Author

should by fixed by r358 
unbelievable, we limited thread number even for JAVA, jvm need a lot of threads

Original comment by newsc...@gmail.com on 10 Sep 2010 at 2:33

@GoogleCodeExporter
Copy link
Author

I have download the r358 and reinstall the whole project. But it doesn't work.

Here is the judge.conf:
OJ_HOST_NAME=localhost
OJ_USER_NAME=root
OJ_PASSWORD=root
OJ_DB_NAME=jol
OJ_PORT_NUMBER=3306
OJ_RUNNING=1
OJ_SLEEP_TIME=5
OJ_TOTAL=1
OJ_MOD=

Original comment by immoz...@gmail.com on 12 Sep 2010 at 1:47

Attachments:

@GoogleCodeExporter
Copy link
Author

how much memory do you have
post "free" output,please

Original comment by newsc...@gmail.com on 13 Sep 2010 at 2:41

@GoogleCodeExporter
Copy link
Author

             total       used       free     shared    buffers     cached
Mem:       2060048     485704    1574344          0      43892     220596
-/+ buffers/cache:     221216    1838832
Swap:      1464312          0    1464312

Original comment by immoz...@gmail.com on 13 Sep 2010 at 7:58

@GoogleCodeExporter
Copy link
Author

it seems you have too much memory :P
let's try r374. only judge_client.cc need update && complie.
core/make.sh can be used with sudo/root

Original comment by newsc...@gmail.com on 14 Sep 2010 at 3:03

@GoogleCodeExporter
Copy link
Author

I will try to remove my memories sometime :)
I have compiled r374 ,put it in /usr/bin/ and re-run it.
RE still.

Original comment by immoz...@gmail.com on 14 Sep 2010 at 11:40

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

what would it say if you using a debug mode like 

#sudo pkill judged
#sudo judged d
and rejudge

and by the way where is you java (bin) ? like

#which java

Original comment by newsc...@gmail.com on 14 Sep 2010 at 1:25

@GoogleCodeExporter
Copy link
Author

Original comment by newsc...@gmail.com on 27 Sep 2010 at 5:14

  • Changed state: Started

@GoogleCodeExporter
Copy link
Author

fixed on r490

Original comment by newsc...@gmail.com on 1 Nov 2010 at 5:56

@GoogleCodeExporter
Copy link
Author

Issue 26 has been merged into this issue.

Original comment by newsc...@gmail.com on 1 Nov 2010 at 5:57

@GoogleCodeExporter
Copy link
Author

take a note here

strace java Main 2>&1|awk -F\( '{print $1}'|sort -u

helps to determine what syscalls made by jvm

Original comment by newsc...@gmail.com on 7 Nov 2010 at 10:49

@GoogleCodeExporter
Copy link
Author

Original comment by newsc...@gmail.com on 13 Jan 2011 at 2:10

  • Changed state: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant