ApolloAuto / apollo

An open autonomous driving platform
Apache License 2.0
24.72k stars 9.62k forks source link

Have you encountered coredump issues running planning? #15455

Open xuwh9 opened 1 week ago

xuwh9 commented 1 week ago

call stack info: planning_coredump It points the code of "reference_linehistory.pop()" in reference_line_provider.cc -> ReferenceLineProvider::Reset(). I checked this class and find there may be a race condition here: 1、In function UpdateReferenceLine(), if reference_linehistory.size() > kMaxHistoryNum, do reference_linehistory.pop(). And this function is called by a thread function. 2、In function Reset(), if !reference_linehistory.empty(), do reference_linehistory.pop(). And Reset() will be called by OnLanePlanning::RunOnce(), which running in main thread. So what is the truth? many thanks for your reply.

xuwh9 commented 1 week ago

@daohu527