For instance, all but "traci.close()" and "traci.simulationStep()" are duplicated in the second run
On Fri, Mar 5, 2021 at 8:27 AM Marcelo Andrade Rodrigues D Almeida < [email protected]> wrote: > Hi Jakob > > Both "trace_file_label.txt" and "trace_file_new_label.txt" should have the > same information since they execute the same code > > Currently (in the updated version), they don't. > > Something else might be interfering in the trace file generation > > > Sincerely, > > Marcelo d'Almeida > > > On Thu, Mar 4, 2021 at 6:34 PM Marcelo Andrade Rodrigues D Almeida < > [email protected]> wrote: > >> Thank you >> >> Tomorrow I'll start new tests with the new development version to debug >> the original issue >> >> On Thu, Mar 4, 2021, 6:06 PM Jakob Erdmann <[email protected]> wrote: >> >>> Thanks for the example. The problem was due to >>> https://github.com/eclipse/sumo/issues/8320 >>> >>> Am Do., 4. März 2021 um 20:16 Uhr schrieb Marcelo Andrade Rodrigues D >>> Almeida <[email protected]>: >>> >>>> I could reproduce the trace file problem >>>> >>>> See attached files >>>> >>>> >>>> >>>> >>>> >>>> On Thu, Mar 4, 2021 at 3:29 PM Marcelo Andrade Rodrigues D Almeida < >>>> [email protected]> wrote: >>>> >>>>> Just to clarify >>>>> >>>>> The attached file is one of the finished tests from the last batch >>>>> (traceGetters False) >>>>> >>>>> But both (this one and the previously traceGetters True) were >>>>> presenting zero simulation step entries in the trace files. >>>>> >>>>> >>>>> >>>>> On Thu, Mar 4, 2021 at 3:21 PM Marcelo Andrade Rodrigues D Almeida < >>>>> [email protected]> wrote: >>>>> >>>>>> I'm redoing the tests with traceGetters set to False to reduce the >>>>>> (huge) file size. Also, I had to restart the tests because someone or >>>>>> something turned off the remote machine overnight. >>>>>> >>>>>> >>>>>> What I could find so far: >>>>>> >>>>>> I could retrieve a trace file in the remote server (the huge one) and >>>>>> I found something very odd. >>>>>> >>>>>> In my trivial test, I found a regular trace file >>>>>> >>>>>> "traci.start(['/home/marcelo/code/sumo/bin/sumo-gui', '-n', >>>>>> '/home/marcelo/temp2/temp/temp/temp/regular-intersection__right_on_red.net.xml', >>>>>> '-r', '/home/marcelo/temp2/temp/temp/temp/regular-intersection.rou.xml', >>>>>> '--start', 'True'], port=None, label='default') >>>>>> traci.trafficlight.setPhase('gneJ0', 0) >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.trafficlight.setPhase('gneJ0', 0) >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.simulationStep() >>>>>> traci.trafficlight.setPhase('gneJ0', 0) >>>>>> " >>>>>> >>>>>> In my actual experiment (with multi_processing set to False), all >>>>>> 'traci.simulationStep()' commands are gone (see file attached for >>>>>> complete >>>>>> trace): >>>>>> " >>>>>> traci.trafficlight.setRedYellowGreenState('231', >>>>>> 'rrrrGGggrrrGGGgyyyyrrrrGGGGggrrrrrrrrrrrrGGg') >>>>>> traci.trafficlight.setRedYellowGreenState('231', >>>>>> 'rrrrGGggrrryyyyyyyyrrrrGGGGggrrrrrrrrrrrrGGg') >>>>>> traci.trafficlight.setRedYellowGreenState('233', 'rryyyyrrrryy') >>>>>> traci.trafficlight.setRedYellowGreenState('282', 'rrryyyrrryyy') >>>>>> traci.trafficlight.setRedYellowGreenState('221', >>>>>> 'yyyrrrryyyyyyyrrrrryyy') >>>>>> traci.trafficlight.setRedYellowGreenState('220', 'GGGrrrrryyyrr') >>>>>> traci.trafficlight.setRedYellowGreenState('209', 'ryrGGrr') >>>>>> traci.trafficlight.setRedYellowGreenState('210', >>>>>> 'rrrGGGGGrrrrrrrryyyy') >>>>>> traci.trafficlight.setRedYellowGreenState('273', 'yyyrrrryy') >>>>>> traci.vehicle.subscribe('Prati_Capraia_100_70', [66, 64, 122, 86, >>>>>> 183, 76, 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Borgo_20_56', [66, 64, 122, 86, 183, 76, 72, >>>>>> 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Malvasia_100_70', [66, 64, 122, 86, 183, 76, >>>>>> 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Pertini_20_159', [66, 64, 122, 86, 183, 76, >>>>>> 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Costa_700_126', [66, 64, 122, 86, 183, 76, >>>>>> 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Pepoli_10_199', [66, 64, 122, 86, 183, 76, >>>>>> 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Gandhi_40_219', [66, 64, 122, 86, 183, 76, >>>>>> 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Audinot_3_16', [66, 64, 122, 86, 183, 76, >>>>>> 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Pepoli_10_200', [66, 64, 122, 86, 183, 76, >>>>>> 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.vehicle.subscribe('Silvani_7_145', [66, 64, 122, 86, 183, 76, >>>>>> 72, 68, 81, 71, 77, 67, 181]) >>>>>> traci.trafficlight.setRedYellowGreenState('231', >>>>>> 'rrrrGGggrrryyyyrrrrGGrrGGGGggrrrrrrrrrrrrGGg') >>>>>> traci.trafficlight.setRedYellowGreenState('231', >>>>>> 'rrrrGGggrrrrrrrrrrrGGrrGGGGggrrrrrrrrrrrrGGg') >>>>>> traci.trafficlight.setRedYellowGreenState('282', 'GGgrrrGGgrrr') >>>>>> traci.trafficlight.setRedYellowGreenState('220', 'GGGrrrrGrrrrr') >>>>>> traci.trafficlight.setRedYellowGreenState('209', 'GrGGGrr') >>>>>> traci.trafficlight.setRedYellowGreenState('210', >>>>>> 'rrrGGGGGrrrrrrGGrrrr') >>>>>> traci.trafficlight.setRedYellowGreenState('273', 'rrrGGGGrr') >>>>>> traci.trafficlight.setRedYellowGreenState('233', 'GGrrrrGGGgrr') >>>>>> traci.trafficlight.setRedYellowGreenState('221', >>>>>> 'rrrGGGGrrrrrrrGGGGGrrr') >>>>>> " >>>>>> >>>>>> This was the reported crash from this execution: >>>>>> #0 0x000055d660c7cf86 in MSVehicle::getBoundingBox() const () >>>>>> #1 0x000055d660cfa5b1 in MSLane::detectCollisions(long long, >>>>>> std::__cxx11::basic_string<char, std::char_traits<char>, >>>>>> std::allocator<char> > const&) () >>>>>> #2 0x000055d660cd8b54 in MSEdgeControl::detectCollisions(long long, >>>>>> std::__cxx11::basic_string<char, std::char_traits<char>, >>>>>> std::allocator<char> > const&) () >>>>>> #3 0x000055d660c34294 in MSNet::simulationStep() () >>>>>> #4 0x000055d660c344a6 in MSNet::simulate(long long, long long) () >>>>>> #5 0x000055d660c1c37d in main () >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- >>>>>> >>>>>> What I could find about the trace file generation problem >>>>>> >>>>>> The problem is that (without multi-processing) traci is discarding >>>>>> the first run trace file info and keeping traces for the following runs. >>>>>> When running with multi-processing, all traci simulations are handled >>>>>> as first-run (i.e., new processes) and everything is thrown away. >>>>>> >>>>>> It doesn't matter if it is a regular or a debug build >>>>>> >>>>>> I'm don't know why the first run is discarded. I'll keep looking >>>>>> >>>>>> >>>>>> Any new information, I post here >>>>>> >>>>>> >>>>>> On Wed, Mar 3, 2021 at 10:08 AM Jakob Erdmann <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi Harald, >>>>>>> the loop with the AnyVehicleIterator should never yield nullptrs. >>>>>>> Hence the real bug is someplace else. >>>>>>> The 4 worker threads in the stacktrace are due to >>>>>>> --device.rerouting.threads', '4', which doesn't really help to explain >>>>>>> this >>>>>>> (parallel routing typically doesn't cause premature vehicle deletion). >>>>>>> Had the threads come from option --threads, that would have been a >>>>>>> likely cause of the issue since we have far fewer tests for this. >>>>>>> >>>>>>> neverthless @marcello: Please try running without option >>>>>>> --device.rerouting.threads and see if you can still trigger the crash. >>>>>>> >>>>>>> Either way, I will probably need a traci-traceFile to fix this. >>>>>>> >>>>>>> regards, >>>>>>> Jakob >>>>>>> >>>>>>> Am Mi., 3. März 2021 um 13:55 Uhr schrieb Harald Schaefer < >>>>>>> [email protected]>: >>>>>>> >>>>>>>> Hi Marcelo, hi Jakob, >>>>>>>> >>>>>>>> thanks for the backtraces (looks good) >>>>>>>> >>>>>>>> The problem in this scenario is that MSVehicle::getBoundingBox >>>>>>>> (this=0x0) is called with a null-Object from this loop: >>>>>>>> >>>>>>>> for (AnyVehicleIterator veh = anyVehiclesBegin(); veh != >>>>>>>> anyVehiclesEnd(); ++veh) { >>>>>>>> MSVehicle* collider = const_cast<MSVehicle*>(*veh); >>>>>>>> //std::cout << " collider " << collider->getID() << >>>>>>>> "\n"; >>>>>>>> PositionVector colliderBoundary = >>>>>>>> collider->getBoundingBox(); >>>>>>>> >>>>>>>> Thread 1 (Thread 0x7fb4974cd780 (LWP 12544)): >>>>>>>> #0 0x0000561970425dcc in MSVehicle::getBoundingBox (this=0x0) at >>>>>>>> /app/sumo-git/src/microsim/MSVehicle.cpp:5925 >>>>>>>> #1 0x00005619704c23f5 in MSLane::detectCollisions >>>>>>>> (this=0x561972d88020, timestep=947000, stage="move") at >>>>>>>> /app/sumo-git/src/microsim/MSLane.cpp:1358 >>>>>>>> Regards, Harald >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>> 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 >>>> >>> _______________________________________________ >>> 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
