Thank you for your report. The problem has been fixed with
https://github.com/eclipse/sumo/commit/7a244ce77231ea4cc2fce67f25458d49aabfbc2a

Am Fr., 4. Juni 2021 um 16:24 Uhr schrieb Marcelo Andrade Rodrigues D
Almeida <m...@id.uff.br>:

> Hi everyone
>
> I'm starting multiple processes (with 'spawn' method) to run libsumo in
> parallel.
>
> I'm receiving the following error after commit 5b0fcc6 (a similar error
> also occurs when using traci directly - logs below).
>
> *libsumo:*
>
> "
> start sumo
> succeed in start sumo
> SUMO VERSION SUMO v1_9_2+0094-5b0fcc6acd
> start sumo
> start sumo
> succeed in start sumo
> SUMO VERSION SUMO v1_9_2+0094-5b0fcc6acd
> succeed in start sumo
> SUMO VERSION SUMO v1_9_2+0094-5b0fcc6acd
> time: 0.0, action: 1, reward: 0
> time: 0.0, action: 0, reward: 0
> start sumo
> start sumo
> start sumo
> start sumo
> succeed in start sumo
> SUMO VERSION SUMO v1_9_2+0094-5b0fcc6acd
> time: 10.0, action: 1, reward: 0
> Process Error
> Process Error
> succeed in start sumo
> SUMO VERSION SUMO v1_9_2+0094-5b0fcc6acd
> time: 10.0, action: 0, reward: 0
> Error: Unknown program 'online' for traffic light 'gneJ0'
> concurrent.futures.process._RemoteTraceback:
> """
> Traceback (most recent call last):
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 239, in _process_worker
>     r = call_item.fn(*call_item.args, **call_item.kwargs)
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 198, in _process_chunk
>     return [fn(*args) for args in chunk]
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 198, in <listcomp>
>     return [fn(*args) for args in chunk]
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/planning_only_agent.py",
> line 190, in _run_simulation_possibility
>     raise e
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/planning_only_agent.py",
> line 175, in _run_simulation_possibility
>     _, next_action = env.reset_for_planning(execution_name)
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/sumo_env.py",
> line 152, in reset_for_planning
>     raise e
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/sumo_env.py",
> line 149, in reset_for_planning
>     traci.start(sumo_cmd_str)
>   File "/home/marcelo/code/sumo/tools/libsumo/__init__.py", line 160, in
> start
>     simulation.load(args[1:])
>   File "/home/marcelo/code/sumo/tools/libsumo/libsumo.py", line 3434, in
> load
>     return _libsumo.simulation_load(args)
> libsumo.libsumo.TraCIException: Process Error
>
> During handling of the above exception, another exception occurred:
>
> Traceback (most recent call last):
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 205, in _sendback_result
>     exception=exception))
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/multiprocessing/queues.py",
> line 358, in put
>     obj = _ForkingPickler.dumps(obj)
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/multiprocessing/reduction.py",
> line 51, in dumps
>     cls(buf, protocol).dump(obj)
> TypeError: can't pickle SwigPyObject objects
> """
>
> The above exception was the direct cause of the following exception:
>
> Traceback (most recent call last):
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/example7.py",
> line 76, in <module>
>     example.run()
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/example7.py",
> line 58, in run
>     action = self.agent.choose_action(step, one_state,
> intersection_index=index)
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/planning_only_agent.py",
> line 44, in choose_action
>     action = self._choose_action(step, state, intersection_index)
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/planning_only_agent.py",
> line 105, in _choose_action
>     possible_actions, planning_step_list, previous_planning_actions_list,
> save_state_filepath_list
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 483, in _chain_from_iterable_of_lists
>     for element in iterable:
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/_base.py",
> line 598, in result_iterator
>     yield fs.pop().result()
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/_base.py",
> line 435, in result
>     return self.__get_result()
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/_base.py",
> line 384, in __get_result
>     raise self._exception
> TypeError: can't pickle SwigPyObject objects
> Error: Unknown program 'online' for traffic light 'gneJ0'
>
> Process finished with exit code 1
> "
>
> *traci:*
>
> "start sumo
>  Retrying in 1 seconds
> succeed in start sumo
> SUMO VERSION SUMO v1_9_2+0094-5b0fcc6acd
> start sumo
> start sumo
>  Retrying in 1 seconds
>  Retrying in 1 seconds
> succeed in start sumo
> SUMO VERSION SUMO v1_9_2+0094-5b0fcc6acd
> succeed in start sumo
> SUMO VERSION SUMO v1_9_2+0094-5b0fcc6acd
> time: 0.0, action: 1, reward: 0
> time: 0.0, action: 0, reward: 0
> Step #10.00 (0ms ?*RT. ?UPS, TraCI: 6ms, vehicles TOT 14 ACT 14 BUF 0)
>
> Step #10.00 (0ms ?*RT. ?UPS, TraCI: 5ms, vehicles TOT 14 ACT 14 BUF 0)
>
> start sumo
> start sumo
> start sumo
> start sumo
>  Retrying in 1 seconds
>  Retrying in 1 seconds
>  Retrying in 1 seconds
>  Retrying in 1 seconds
> succeed in start sumosucceed in start sumo
>
> SUMO VERSIONSUMO VERSION  SUMO v1_9_2+0094-5b0fcc6acdSUMO
> v1_9_2+0094-5b0fcc6acd
>
> Not connected.
> Not connected.
> Error: Unknown program 'online' for traffic light 'gneJ0'
> Quitting (on error).
> Error: Unknown program 'online' for traffic light 'gneJ0'
> Quitting (on error).
> concurrent.futures.process._RemoteTraceback:
> """
> Traceback (most recent call last):
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/sumo_env.py",
> line 155, in reset_for_planning
>     traci.start(sumo_cmd_str, label=self.execution_name, doSwitch=False)
>   File "/home/marcelo/code/sumo/tools/traci/main.py", line 170, in start
>     return init(sumoPort, numRetries, "localhost", label, sumoProcess,
> doSwitch)
>   File "/home/marcelo/code/sumo/tools/traci/main.py", line 140, in init
>     return _connections[label].getVersion()
>   File "/home/marcelo/code/sumo/tools/traci/connection.py", line 369, in
> getVersion
>     result = self._sendCmd(command, None, None)
>   File "/home/marcelo/code/sumo/tools/traci/connection.py", line 181, in
> _sendCmd
>     return self._sendExact()
>   File "/home/marcelo/code/sumo/tools/traci/connection.py", line 91, in
> _sendExact
>     raise FatalTraCIError("connection closed by SUMO")
> traci.exceptions.FatalTraCIError: connection closed by SUMO
>
> During handling of the above exception, another exception occurred:
>
> Traceback (most recent call last):
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 239, in _process_worker
>     r = call_item.fn(*call_item.args, **call_item.kwargs)
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 198, in _process_chunk
>     return [fn(*args) for args in chunk]
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 198, in <listcomp>
>     return [fn(*args) for args in chunk]
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/planning_only_agent.py",
> line 190, in _run_simulation_possibility
>     raise e
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/planning_only_agent.py",
> line 175, in _run_simulation_possibility
>     _, next_action = env.reset_for_planning(execution_name)
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/sumo_env.py",
> line 157, in reset_for_planning
>     traci.close()
>   File "/home/marcelo/code/sumo/tools/traci/main.py", line 268, in close
>     raise FatalTraCIError("Not connected.")
> traci.exceptions.FatalTraCIError: Not connected.
> """
>
> The above exception was the direct cause of the following exception:
>
> Traceback (most recent call last):
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/example7.py",
> line 76, in <module>
>     example.run()
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/example7.py",
> line 58, in run
>     action = self.agent.choose_action(step, one_state,
> intersection_index=index)
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/planning_only_agent.py",
> line 44, in choose_action
>     action = self._choose_action(step, state, intersection_index)
>   File
> "/home/marcelo/code/urban-semaphore-optimization/traffic-light-optimization/test/planning_only_agent.py",
> line 105, in _choose_action
>     possible_actions, planning_step_list, previous_planning_actions_list,
> save_state_filepath_list
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/process.py",
> line 483, in _chain_from_iterable_of_lists
>     for element in iterable:
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/_base.py",
> line 598, in result_iterator
>     yield fs.pop().result()
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/_base.py",
> line 435, in result
>     return self.__get_result()
>   File
> "/home/marcelo/anaconda3/envs/urban-semaphore-optimization/lib/python3.7/concurrent/futures/_base.py",
> line 384, in __get_result
>     raise self._exception
> traci.exceptions.FatalTraCIError: Not connected.
> time: 10.0, action: 0, reward: 0
> time: 10.0, action: 1, reward: 0
> Step #20.00 (0ms ?*RT. ?UPS, TraCI: 9ms, vehicles TOT 27 ACT 27 BUF 0)
>
> Step #20.00 (1ms ~= 1000.00*RT, ~27000.00UPS, TraCI: 5ms, vehicles TOT 27
> ACT 27 BUF 0)
> Error: tcpip::Socket::recvAndCheck @ recv: peer shutdown
> Quitting (on error).
> Step #0.00
> Process finished with exit code 1"
>
> Thank you in advance
>
>
> Sincerely,
>
> Marcelo d'Almeida
>
>
>
> _______________________________________________
> sumo-user mailing list
> sumo-user@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
>
_______________________________________________
sumo-user mailing list
sumo-user@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-user

Reply via email to