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