It seems great!

Thank you!!

On Fri, Mar 5, 2021 at 9:48 AM Jakob Erdmann <[email protected]> wrote:

> I think we're getting closer and closer to make tracing work in your use
> case: https://github.com/eclipse/sumo/issues/8323
>
> Am Fr., 5. März 2021 um 12:34 Uhr schrieb Marcelo Andrade Rodrigues D
> Almeida <[email protected]>:
>
>> 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
>>
> _______________________________________________
> 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

Reply via email to