One of the tests finished
NO_REROUTING_THREADS (see attached trace file)
Reading symbols from ../../sumo-git/bin/sumo...(no debugging
symbols found)...done.
[New LWP 3412]
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `sumo-git/bin/sumo -n
/app/scenario/experimental/Bologna_small-0.29.0/joined/joi'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000055a5cea65826 in MSVehicle::getBoundingBox() const ()
(gdb) bt
#0 0x000055a5cea65826 in MSVehicle::getBoundingBox() const ()
#1 0x000055a5ceae2e61 in MSLane::detectCollisions(long long,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&) ()
#2 0x000055a5ceac13f4 in
MSEdgeControl::detectCollisions(long long,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&) ()
#3 0x000055a5cea1c944 in MSNet::simulationStep() ()
#4 0x000055a5cea1cb56 in MSNet::simulate(long long, long
long) ()
#5 0x000055a5cea045ad in main ()
Still waiting on NO_MULTIPROCESS and
NO_REROUTING_THREADS_NO_MULTIPROCESS
Sincerely,
Marcelo d'Almeida
On Fri, Mar 5, 2021 at 11:03 AM Marcelo Andrade Rodrigues D
Almeida <[email protected] <mailto:[email protected]>> wrote:
It seems great!
Thank you!!
On Fri, Mar 5, 2021 at 9:48 AM Jakob Erdmann
<[email protected] <mailto:[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
<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]
<mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[email protected]>> wrote:
Thanks for the example. The problem
was due to
https://github.com/eclipse/sumo/issues/8320
<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]
<mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[email protected]>
To unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user
<https://www.eclipse.org/mailman/listinfo/sumo-user>
_______________________________________________
sumo-user mailing list
[email protected]
<mailto:[email protected]>
To unsubscribe from this list,
visit
https://www.eclipse.org/mailman/listinfo/sumo-user
<https://www.eclipse.org/mailman/listinfo/sumo-user>
_______________________________________________
sumo-user mailing list
[email protected]
<mailto:[email protected]>
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user
<https://www.eclipse.org/mailman/listinfo/sumo-user>
_______________________________________________
sumo-user mailing list
[email protected] <mailto:[email protected]>
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user
<https://www.eclipse.org/mailman/listinfo/sumo-user>
_______________________________________________
sumo-user mailing list
[email protected] <mailto:[email protected]>
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user
<https://www.eclipse.org/mailman/listinfo/sumo-user>
_______________________________________________
sumo-user mailing list
[email protected] <mailto:[email protected]>
To unsubscribe from this list,
visithttps://www.eclipse.org/mailman/listinfo/sumo-user
<https://www.eclipse.org/mailman/listinfo/sumo-user>