Open anita-hu opened 4 years ago
The issue was resolved by setting debug=True in ns3env.Ns3Env(). Would be great if this could be fixed
The issue was resolved by setting debug=True in ns3env.Ns3Env(). Would be great if this could be fixed
I have the same problem when running training on my custom environment, thanks for your solution. Hope this issue would be resolved.
Setting debug = True
does not solve the problem entirely, it shows the error in ns3 simulation script but stays there forever. To handle runtime errors in the simulation script I added
self.socket.RCVTIMEO = 100000
right next to this line
https://github.com/tkn-tub/ns3-gym/blob/19bfe0a583e641142609939a090a09dfc63a095f/src/opengym/model/ns3gym/ns3gym/ns3env.py#L40
This makes sure that the socket request does not last forever and times out after 100000 millliseconds
. The socket request is here
https://github.com/tkn-tub/ns3-gym/blob/19bfe0a583e641142609939a090a09dfc63a095f/src/opengym/model/ns3gym/ns3gym/ns3env.py#L180
@confifu I have the same issue in Ubuntu 18.04. However, when I use the root user to run my script, the problem doesn't happened. Maybe you could use the root user to exec the simulation script again.
I wrote a custom environment following your examples. When running training, sometimes the code will get stuck at env.step(action). From the keyboard interrupt, it seems like an issue with the zmq socket? Is there a way to resolve this so that the training does not get stuck?
^CTraceback (most recent call last): File "./train.py", line 22, in
ddpg.train(max_epochs=2000)
File "/home/sim-user/ns3-gym/scratch/mm1-queue/ddpg_agent.py", line 197, in train
next_state, reward, done, info = self.env.step(action) # perform action on env
File "/home/sim-user/.local/lib/python3.5/site-packages/ns3gym/ns3env.py", line 401, in step
response = self.ns3ZmqBridge.step(action)
File "/home/sim-user/.local/lib/python3.5/site-packages/ns3gym/ns3env.py", line 231, in step
self.rx_env_state()
File "/home/sim-user/.local/lib/python3.5/site-packages/ns3gym/ns3env.py", line 180, in rx_env_state
request = self.socket.recv()
File "zmq/backend/cython/socket.pyx", line 791, in zmq.backend.cython.socket.Socket.recv
File "zmq/backend/cython/socket.pyx", line 827, in zmq.backend.cython.socket.Socket.recv
File "zmq/backend/cython/socket.pyx", line 186, in zmq.backend.cython.socket._recv_copy
File "zmq/backend/cython/checkrc.pxd", line 12, in zmq.backend.cython.checkrc._check_rc
KeyboardInterrupt