-
Notifications
You must be signed in to change notification settings - Fork 244
Closed
Description
Bug Report
A crash can occur during the shutdown process if IGNITION_OFF is sent during video streaming, specifically if the video streaming app is included in a previous PTU.
Backtrace
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release(std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2> * const this) (/usr/include/c++/9/bits/shared_ptr_base.h:155)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this) (/usr/include/c++/9/bits/shared_ptr_base.h:730)
std::__shared_ptr<application_manager::commands::Command, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr(std::__shared_ptr<application_manager::commands::Command, (__gnu_cxx::_Lock_policy)2> * const this) (/usr/include/c++/9/bits/shared_ptr_base.h:1169)
std::shared_ptr<application_manager::commands::Command>::~shared_ptr(std::shared_ptr<application_manager::commands::Command> * const this) (/usr/include/c++/9/bits/shared_ptr.h:103)
__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<application_manager::commands::Command> > >::destroy<std::shared_ptr<application_manager::commands::Command> >(__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<application_manager::commands::Command> > > * const this, std::shared_ptr<application_manager::commands::Command> * __p) (/usr/include/c++/9/ext/new_allocator.h:153)
std::allocator_traits<std::allocator<std::_List_node<std::shared_ptr<application_manager::commands::Command> > > >::destroy<std::shared_ptr<application_manager::commands::Command> >(std::allocator_traits<std::allocator<std::_List_node<std::shared_ptr<application_manager::commands::Command> > > >::allocator_type & __a, std::shared_ptr<application_manager::commands::Command> * __p) (/usr/include/c++/9/bits/alloc_traits.h:497)
std::__cxx11::_List_base<std::shared_ptr<application_manager::commands::Command>, std::allocator<std::shared_ptr<application_manager::commands::Command> > >::_M_clear(std::__cxx11::_List_base<std::shared_ptr<application_manager::commands::Command>, std::allocator<std::shared_ptr<application_manager::commands::Command> > > * const this) (/usr/include/c++/9/bits/list.tcc:77)
std::__cxx11::_List_base<std::shared_ptr<application_manager::commands::Command>, std::allocator<std::shared_ptr<application_manager::commands::Command> > >::~_List_base(std::__cxx11::_List_base<std::shared_ptr<application_manager::commands::Command>, std::allocator<std::shared_ptr<application_manager::commands::Command> > > * const this) (/usr/include/c++/9/bits/stl_list.h:495)
std::__cxx11::list<std::shared_ptr<application_manager::commands::Command>, std::allocator<std::shared_ptr<application_manager::commands::Command> > >::~list(std::__cxx11::list<std::shared_ptr<application_manager::commands::Command>, std::allocator<std::shared_ptr<application_manager::commands::Command> > > * const this) (/usr/include/c++/9/bits/stl_list.h:823)
application_manager::request_controller::RequestControllerImpl::~RequestControllerImpl(application_manager::request_controller::RequestControllerImpl * const this) (/home/jacobkeeler/sdl_core/src/components/application_manager/src/request_controller_impl.cc:72)
application_manager::request_controller::RequestControllerImpl::~RequestControllerImpl(application_manager::request_controller::RequestControllerImpl * const this) (/home/jacobkeeler/sdl_core/src/components/application_manager/src/request_controller_impl.cc:75)
std::default_delete<application_manager::request_controller::RequestController>::operator()(const std::default_delete<application_manager::request_controller::RequestController> * const this, application_manager::request_controller::RequestController * __ptr) (/usr/include/c++/9/bits/unique_ptr.h:81)
std::unique_ptr<application_manager::request_controller::RequestController, std::default_delete<application_manager::request_controller::RequestController> >::~unique_ptr(std::unique_ptr<application_manager::request_controller::RequestController, std::default_delete<application_manager::request_controller::RequestController> > * const this) (/usr/include/c++/9/bits/unique_ptr.h:292)
application_manager::ApplicationManagerImpl::~ApplicationManagerImpl(application_manager::ApplicationManagerImpl * const this) (/home/jacobkeeler/sdl_core/src/components/application_manager/src/application_manager_impl.cc:232)
application_manager::ApplicationManagerImpl::~ApplicationManagerImpl(application_manager::ApplicationManagerImpl * const this) (/home/jacobkeeler/sdl_core/src/components/application_manager/src/application_manager_impl.cc:261)
main_namespace::LifeCycleImpl::StopComponents(main_namespace::LifeCycleImpl * const this) (/home/jacobkeeler/sdl_core/src/appMain/life_cycle_impl.cc:410)
main(int32_t argc, char ** argv) (/home/jacobkeeler/sdl_core/src/appMain/main.cc:218)
Reproduction Steps
- Connect navigation app
- Perform PTU which includes connected navigation app
- Activate navigation app and start video streaming
- Send IGNITION_OFF from HMI when video streaming starts
Expected Behavior
Core shuts down normally
Observed Behavior
SIGSEGV occurs during shutdown
OS & Version Information
- OS/Version: Ubuntu 20.04
- SDL Core Version: release/8.1.0 (also reproduced in 8.0.0)
- Testing Against: SDL Android Test Suite (develop branch)
Metadata
Metadata
Assignees
Labels
No labels