Developers' Forum

help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

by Zonggen Zeng -
Number of replies: 7

Dear Richard:

my moodle website is :      https://mood.nbpt.edu.cn    

your coderunner is wonderful, I install it in a VMware on centos 8.0.1095, it's running well, and have no problem.

but,yesterday, I setup coderunner in a real computer, the jobe server cannot run, when I click check button, I only get this result:


and other information of my pc:

# docker version

Client:

 Version:           18.06.3-ce

 API version:       1.38

 Go version:        go1.10.3

 Git commit:        d7080c1

 Built:             Wed Feb 20 02:26:51 2019

 OS/Arch:           linux/amd64

 Experimental:      false


Server:

 Engine:

  Version:          18.06.3-ce

  API version:      1.38 (minimum version 1.12)

  Go version:       go1.10.3

  Git commit:       d7080c1

  Built:            Wed Feb 20 02:28:17 2019

  OS/Arch:          linux/amd64

  Experimental:     false

# docker images

REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE

trampgeek/jobeinabox   latest              90b74aaa92fd        14 months ago       1.53GB

# docker ps

CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                       NAMES

b0c51bfd1a3d        trampgeek/jobeinabox:latest   "/usr/sbin/apache2ct…"   37 minutes ago      Up 37 minutes       10.211.16.10:1975->80/tcp   jobe


# groups

root docker

this is all information of the pc environment, how do jobe server can not work ?  How can I do , please help me , thanks very much!


In reply to Zonggen Zeng

Re: help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

by Richard Lobb -

Hi Zonggen

It appears the job is being disallowed because the resources required for it exceed the limits set by the runguard sandbox. But I don't know why or how that is happening. I haven't seen this problem before.

Can you confirm please that the problem occurs with all questions, even (say) a trivial python3 question?

Can you also check that the problem does not occur if you switch across to the testing jobe server (jobe2.cosc.canterbury.ac.nz - use the default values in the CodeRunner settings admin page).

Have you tried removing the jobeinabox container (docker rm jobe) and rerunning it?

Richard

In reply to Richard Lobb

Re: help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

by Zonggen Zeng -
yes ,all your suggestions I have tried, problems is there!!!  I'm tired!!!

In windows 10 + Vmware-centos 8 , the same environment like real pc, coderunner is running very well.

use you jobe2.cosc.canterbury.ac.nz , alse have no problem:


can you present me a good key for use  temperorily ? have no times limit ????  till you slove this problem?
my moodle site is   https://mood.nbpt.edu.cn/   

I'll solve this problem these days!!!!

I'm very sad now!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

In reply to Zonggen Zeng

Re: help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

by Richard Lobb -
Hi  Zonggen

I'm sorry you're tired and stressed but please realise that you're using free unsupported open-source software. I'm happy to help users with problems provided (a) it doesn't take too much of my time, for which I'm not paid, and (b) users understand that the problems are theirs, not mine (even if there is a bug in my code, although I don't think that's the case here).

So, with that in mind, let's look more carefully at your problem ...

You have CodeRunner questions that work with the jobe2 server but not with your jobe server, which is a jobeinabox docker container. I just fired up a new clean JobeInAbox as documented here and it ran just fine. Plenty of other people are using it too, so I don't think the problem is with the docker image itself. If I understand correctly, you had a Jobe server running fine before in a VM but when you run it on a real PC it is failing. Since it is apparently failing due to resource limitations, it seems the docker environment in which you're running JobeInABox must be imposing some limits on the container's resource use. I don't know why this is happening, unless you've explicitly imposed such limits yourself or are running in some sort of managed container environment like Kubernetes.

My suggestion is that you first verify the nature of the problem by downloading the Jobe test program 'testsubmit.py' from the git repository here, edit it to reference your own jobeinabox server, and make sure it fails in the expected way (i.e. on just about anything except GET languages).

Assuming that's the case, you should then try running jobeinabox from other simpler docker environments. For example, you could try docker in Windows (if you're currently running it on a Linux host) or vice versa.

If you need another Jobe server as a stopgap measure, I suggest you use a VM from a company like Digital Ocean or Amazon. There is a youtube walkthrough of the process here.

Good luck

Richard



In reply to Richard Lobb

Re: help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

by Zonggen Zeng -

I found the code of error:

in docker container:

/var/www/html/jobe/application/libraries/../../runguard/runguard.c

line 891:


but i cannot how to repair it  

maybe it can leak which is wrong in centos 8.0.1905 for docker...

In reply to Zonggen Zeng

Re: help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

by Richard Lobb -
I'd recommend not using Centos for a Jobe server - it has lots of extra security features that can interfere with Jobe, and it also tends to use older versions of software (e.g. old buggy versions of docker). Have you tried running JobeInABox in a different OS/Docker, as I suggested last time?

If you wish to persist with Centos, the following link might be relevant: https://success.docker.com/article/how-to-reserve-resource-temporarily-unavailable-errors-due-to-tasksmax-setting.  I note that the issue it describes, which is very similar to yours, was resolved by Docker EE 17.06.2-ee-7. What version of Docker are you running?
In reply to Richard Lobb

Re: help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

by Zonggen Zeng -

# uname -a
Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

# rpm -q centos-release
centos-release-8.0-0.1905.0.9.el8.x86_64

# docker version
Client: Docker Engine - Community
 Version:           19.03.4
 API version:       1.39 (downgraded from 1.40)
 Go version:        go1.12.10
 Git commit:        9013bf583a
 Built:             Fri Oct 18 15:52:22 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       4c52b90
  Built:            Wed Jan  9 19:06:30 2019
  OS/Arch:          linux/amd64
  Experimental:     false

========================
I will try the URL you send me today.

my moodle site:     https://mood.nbpt.edu.cn

In reply to Zonggen Zeng

Re: help!!! jobe server cannot run: cannot start `sh': Resource temporarily unavailable

by Zonggen Zeng -
Dear Richard Lobb:
Today, I reinstalled My moodle server use CentOS-7-x86_64-DVD-1908.iso, then installed docker-ce-19 ,then installed jobe, and have no problem, jobe runed very well.

  so  I guess  maybe the 4.18 kernel of centos8 is not match docker!!!
 
  centos 7 's kernel is 3.10, it is frendly to jobe!!!

  my problem is ok now,  thanks for your coderunner !!! it's a very wonderful moodle plugs.  you are great!!!