ApolloAuto / apollo

An open autonomous driving platform
Apache License 2.0
25.22k stars 9.72k forks source link

Launch planning module issue #5719

Closed freeclouds closed 5 years ago

freeclouds commented 6 years ago

platform: ubuntu 16.04+apollo 3.0 about module: planning issue: when build pass lanunch planning module ,will failed:

alan@in_dev_docker:/apollo$ bash scripts/planning.sh start /apollo/scripts/apollo_base.sh: line 234: 26879 Segmentation fault (core dumped) nohup /apollo/bazel-bin/modules/planning/planning --flagfile=modules/planning/conf/planning.conf --log_dir=/apollo/data/log < /dev/null > /apollo/data/log/planning.out 2>&1 Could not launch module planning. Is it already built?

we have three PC to run this module, All computers have meet this issue, Is there some meet the same question?

muleisheng commented 6 years ago

You could try to execute /apollo/bazel-bin/modules/planning/planning to check if planning could crash when starting it.

freeclouds commented 6 years ago

issue have fixed,we find in apollo master branch latest code have a bug, file path: apollo-master\apollo-master\modules\planning\planning_base.h

lianglia-apollo commented 6 years ago

@freeclouds Hi, could you let us know more details about the bug in planning_base.h? Thanks!

muleisheng commented 6 years ago

Would you like to commit your solution for others who is suffering this issue?

freeclouds commented 6 years ago

we use gdb tools find in planning_dispatcher.cc, std::string Name() const override { return planningbase->Name(); } =》“return planningbase->Name()”; will cause core dump, because planningbase this class don't have Name()function, we return a string ,this core dump issue don't occur.

lianglia-apollo commented 6 years ago

@freeclouds Name() function is define in ApolloApp class. The pointer will point to either std_planning or navi_planning. Calling ->Name() should work.

poutyface commented 6 years ago

It seems that this problem has occurred since the following commit.

https://github.com/ApolloAuto/apollo/commit/28cd780499342ab7b5dc906dd1d7d497e03a6da6

Because Name() func is called before Init(), the planningbase in Name() is NULL.

lianglia-apollo commented 6 years ago

We will fix it in the next release soon.