As far as I can tell you are starting a single sumo simulation and are trying to use it from multiple threads. The traci operations are not thread safe. This is what works - starting a different sumo simulation for each thread and using them as described in https://sumo.dlr.de/docs/TraCI/Interfacing_TraCI_from_Python.html#controlling_parallel_simulations_from_the_same_traci_script - using your own synchronization so that only one thread is talking to sumo at the same time
regards, Jakob Am So., 25. Apr. 2021 um 22:46 Uhr schrieb Marcelo Andrade Rodrigues D Almeida <[email protected]>: > Hi everyone > > I'm having trouble using multiple simulations in different threads > > The difference can be perceived by changing max_workers to 1 and 2. > " with ThreadPoolExecutor(max_workers=len(possible_actions)) as > executor:" (planning_only_agent.py, line 100) > > [See attached example (a very simplified version of what I'm actually > using)] > > With max_workers=1, it works just fine. > > With 2, it gives all sort of errors: > > "bad char in struct format" > "unpack requires a buffer of [x] bytes" > A lot of times it just hangs > "Received answer 0 for command 211." > > > The easiest way I found to reproduce is to add a breakpoint into a > subscribe call and hit continue several times. It is likely to crash when > threads stop at the same command, although it occurs eventually without > breaking points. > > Tested in version 1.9.0 (specifically v1_9_0+0210-fa53508669) > > Thank you in advance > > > Sincerely, > > Marcelo d'Almeida > _______________________________________________ > sumo-user mailing list > [email protected] > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/sumo-user >
_______________________________________________ sumo-user mailing list [email protected] To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
