Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video streaming crash on IGNITION_OFF after PTU #3878

Closed
jacobkeeler opened this issue Mar 11, 2022 · 0 comments
Closed

Video streaming crash on IGNITION_OFF after PTU #3878

jacobkeeler opened this issue Mar 11, 2022 · 0 comments

Comments

@jacobkeeler
Copy link
Contributor

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
  1. Connect navigation app
  2. Perform PTU which includes connected navigation app
  3. Activate navigation app and start video streaming
  4. 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants