problem connecting to jobe

problem connecting to jobe

by Lars Mehnen -
Number of replies: 1

Hello to everone,

I've got some problems to connect to jobe (Version: 1.7.0, 27 November 2022) from moodle 4.01 with the coderunnerplugin (Version: 5.1.1 9 November 2022)

the jobeserver is simply called "jobe" and is reachable in the network:

root@moodle:/var/www/html/jobe# ping jobe
PING jobe (192.168.2.188) 56(84) bytes of data.
64 bytes from jobe (192.168.2.188): icmp_seq=1 ttl=64 time=0.285 ms
64 bytes from jobe (192.168.2.188): icmp_seq=2 ttl=64 time=0.217 ms

the moodle server is also simply called "moodle" in this testsetup.

root@moodle:/var/www/html/jobe# ping moodle
PING moodle (192.168.2.37) 56(84) bytes of data.
64 bytes from moodle (192.168.2.37): icmp_seq=1 ttl=64 time=0.082 ms
64 bytes from moodle (192.168.2.37): icmp_seq=2 ttl=64 time=0.084 ms


1) I can connect with the testscript:

root@moodle:/var/www/html/jobe# python3 testsubmit.py --host=jobe --port=80
Supported languages:
    c: 10.2.1
    cpp: 10.2.1
    java: 11.0.16
    nodejs: 12.22.12
    octave: 6.2.0
    pascal: 3.2.0
    php: 7.4.33
    python3: 3.9.2

Valid Python3 OK
Python3 with stdin OK
Syntactically invalid Python3 OK
Python3 runtime error OK
Python3 file I/O OK
Testing use of interpreter args with Python3 OK
Testing use of runargs args with Python3 OK
Python3 program with customised timeout OK
Python3 program with support files OK

***************** FAILED TEST ******************

{'run_id': None, 'outcome': 15, 'cmpinfo': '', 'stdout': '------------------------------------\n', 'stderr': ''}
Valid Python3/pylint program
Jobe result: Successful run

Output:
------------------------------------


************************************************

Invalid Python3/pylint program OK
UTF-8 output from Python3 (will fail unless Jobe set up for UTF-8) OK
Test good C hello world OK
Test compile error C hello world OK
Test use of compileargs with C OK
Test runtime error C hello world OK
Test timelimit on C OK
Test outputlimit on C OK
Memory limit exceeded in C (seg faults) OK
Infinite recursion (stack error) on C OK
C program controlled forking OK
A C program with ASCII non-UTF-8-compatible output OK
Valid Octave OK
octave with stdin OK
Syntactically invalid Octave (treated as runtime error) OK
Syntactically valid Nodejs hello world OK
Syntactically invalid Nodejs OK
Correct Php program  OK
Syntactically incorrect Php program  OK
Syntactically incorrect Php program  OK
Correct Java program  OK
Correct Java program without supplied sourcefilename  OK
Syntactically incorrect Java program  OK
Java program with a support class (.java) OK

***************** FAILED TEST ******************

{'run_id': None, 'outcome': 11, 'cmpinfo': 'Test.java:4: error: unmappable character (0xC3) for encoding US-ASCII\n        System.out.println("Un r??le d??l??t??re");\n                                ^\nTest.java:4: error: unmappable character (0xB4) for encoding US-ASCII\n        System.out.println("Un r??le d??l??t??re");\n                                 ^\nTest.java:4: error: unmappable character (0xC3) for encoding US-ASCII\n        System.out.println("Un r??le d??l??t??re");\n                                      ^\nTest.java:4: error: unmappable character (0xA9) for encoding US-ASCII\n        System.out.println("Un r??le d??l??t??re");\n                                       ^\nTest.java:4: error: unmappable character (0xC3) for encoding US-ASCII\n        System.out.println("Un r??le d??l??t??re");\n                                         ^\nTest.java:4: error: unmappable character (0xA9) for encoding US-ASCII\n        System.out.println("Un r??le d??l??t??re");\n                                          ^\nTest.java:4: error: unmappable character (0xC3) for encoding US-ASCII\n        System.out.println("Un r??le d??l??t??re");\n                                            ^\nTest.java:4: error: unmappable character (0xA8) for encoding US-ASCII\n        System.out.println("Un r??le d??l??t??re");\n                                             ^\n8 errors\n', 'stdout': '', 'stderr': ''}
Java program with Unicode output (will fail unless Jobe set up for UTF-8)
Jobe result: Compile error

Compiler output:
Test.java:4: error: unmappable character (0xC3) for encoding US-ASCII
        System.out.println("Un r??le d??l??t??re");
                                ^
Test.java:4: error: unmappable character (0xB4) for encoding US-ASCII
        System.out.println("Un r??le d??l??t??re");
                                 ^
Test.java:4: error: unmappable character (0xC3) for encoding US-ASCII
        System.out.println("Un r??le d??l??t??re");
                                      ^
Test.java:4: error: unmappable character (0xA9) for encoding US-ASCII
        System.out.println("Un r??le d??l??t??re");
                                       ^
Test.java:4: error: unmappable character (0xC3) for encoding US-ASCII
        System.out.println("Un r??le d??l??t??re");
                                         ^
Test.java:4: error: unmappable character (0xA9) for encoding US-ASCII
        System.out.println("Un r??le d??l??t??re");
                                          ^
Test.java:4: error: unmappable character (0xC3) for encoding US-ASCII
        System.out.println("Un r??le d??l??t??re");
                                            ^
Test.java:4: error: unmappable character (0xA8) for encoding US-ASCII
        System.out.println("Un r??le d??l??t??re");
                                             ^
8 errors



************************************************

Test good C++ hello world OK
Test compile error C++ hello world OK
Good Hello world Pascal test OK
Fail Hello world Pascal test OK

39 tests, 37 passed, 2 failed, 0 exceptions

Checking parallel submissions in C
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
All done

Testing a submission with an excessive cputime parameter
OK
root@moodle:/var/www/html/jobe#

2) I can connect to the standard testserver in NZ :

root@moodle:/var/www/html/jobe# python3 testsubmit.py --host='jobe2.cosc.canterbury.ac.nz' --port=80
Supported languages:
    c: 9.4.0
    cpp: 9.4.0
    java: 14.0.2
    nodejs: 10.19.0
    octave: 5.2.0
    pascal: 3.0.4
    php: 7.4.3
    python3: 3.9.1

Valid Python3 OK
Python3 with stdin OK
Syntactically invalid Python3 OK
Python3 runtime error OK
Python3 file I/O OK
Testing use of interpreter args with Python3 OK
Testing use of runargs args with Python3 OK
Python3 program with customised timeout OK
Python3 program with support files OK
Valid Python3/pylint program OK
Invalid Python3/pylint program OK
UTF-8 output from Python3 (will fail unless Jobe set up for UTF-8) OK
Test good C hello world OK
Test compile error C hello world OK
Test use of compileargs with C OK
Test runtime error C hello world OK
Test timelimit on C OK
Test outputlimit on C OK
Memory limit exceeded in C (seg faults) OK
Infinite recursion (stack error) on C OK
C program controlled forking OK
A C program with ASCII non-UTF-8-compatible output OK
Valid Octave OK
octave with stdin OK
Syntactically invalid Octave (treated as runtime error) OK
Syntactically valid Nodejs hello world OK
Syntactically invalid Nodejs OK
Correct Php program  OK
Syntactically incorrect Php program  OK
Syntactically incorrect Php program  OK
Correct Java program  OK
Correct Java program without supplied sourcefilename  OK
Syntactically incorrect Java program  OK
Java program with a support class (.java) OK
Java program with Unicode output (will fail unless Jobe set up for UTF-8)  OK
Test good C++ hello world OK
Test compile error C++ hello world OK
Good Hello world Pascal test OK
Fail Hello world Pascal test OK

39 tests, 39 passed, 0 failed, 0 exceptions

Checking parallel submissions in C
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
Test good C hello world OK
All done

Testing a submission with an excessive cputime parameter
OK
root@moodle:/var/www/html/jobe#

3) but I do get an "Jobe server request failed. URL is blocked." if I try to run the python 3 sqr example within moodle.

In the moodle-coderunner-plugin section I tried already:

jobe

jobe:80

http://jobe:80

and even the direct IP address ... nothing worked

but funnily if I try the testserver jobe2.cosc.canterbury.ac.nz everything works perfectly.

I would really appreciate any advice

thanx a lot

Lars


In reply to Lars Mehnen

Re: problem connecting to jobe

by Lars Mehnen -

Found the problem :)

In the HTTP security options on the moodle-server (site administration -> General -> security -> http security) the "private" network had been blocked

therefor for everyone who wants to test this in their home network

hint: change cURL blocked hosts list to

10.0.0.0/8
172.16.0.0/12
0.0.0.0
169.254.169.254
0000::1