-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Sorry for the bothering again. We've encountered some problems while running this project and don't know how to solve them.
Describe the issue
The script test_main.py can complete execution smoothly due to its single iteration. However, when switching to scripts like main_baseline.py and main_ga.py, which require long-running processes, the system appears to be unstable. Specifically, after running the scenario several times, it will eventually crash with a segmentation fault error indicated from the shell.
We’ve diagnosed the project using tools like pdb, but still couldn’t find where does the distinct error come from. The screenshot is shown as follow.
Environment
- Hardware configuration
CPU: Intel Core i9 14900K (24-core)
Memory: 128GB
Graphic Card: None - Software configuration
OS: Ubuntu 18.04
Docker-CE: version 24.0.2
Python: version 3.9.18 - Requirements to be met in README.md
To reproduce
- Run python main_ga.py
- Open the Dreamviews in browser
- After several iterations in the Genetic Cycle -> g0s0, g0s1,…, the shell will get stuck
- From the observation in the browser, it seems that there is a potential system freezing whenever one of the ADCs arrives its destination
- Dozens of minutes later, the shell reports “Segmentation fault” and the python script exits
- Command
~$ docker kill $(docker ps -q) - Change the DoppelTest map data to
san_mateoin config.py - Update the
{ApolloROOT}/modules/common/data/global_flagfile.txtas well - Run python main_baseline.py
- Step 2-5 regenerated
Current Result
The script might report an error and exit after running for several generations.
Expected Result
The system shall exit normally after a timeout instructed by RUN_FOR_HOUR parameter defined in config.py.
Debugging Endeavors
- Check if the versions in conda env meet the requirements.txt
- Alter different map asset bundles
- Force containers to restart on each iteration within the main() by moving the ctn starting code into the While loop
Lines 63 to 65 in 264a06e
ctn = ApolloContainer(APOLLO_ROOT, 'ROUTE_0') ctn.start_instance() ctn.start_dreamview() - In framework/scenario/ScenarioRunner.py, disable all applications of MessageBroker using comment sign
#
DoppelTest/framework/scenario/ScenarioRunner.py
Lines 119 to 120 in 264a06e
mbk = MessageBroker(self.__runners) mbk.spin()
mbk.broadcast(Topics.TrafficLight, tld.SerializeToString())
mbk.stop()
