Dear Maintainer,
* What led up to the situation?
There's no feedback from the GUI at the crash time, so I have to assume it
crashes at process exit, from Kodi menu/OSD (no playback). The attached
file is about the same crash, the kodi created crash dump log and the other
one, a full callstack with symbols
* What exactly did you do (or not do) that was effective (or
ineffective)?
N/A
* What was the outcome of this action?
N/A
* What outcome did you expect instead?
N/A
(gdb) bt
#0 0x000055676dc8b417 in CJobQueue::CJobPointer::operator==(CJob const*)
const (this=<optimized out>, this=0x7f5988004a20, job=<optimized out>) at
./xbmc/utils/JobManager.h:82
#1 __gnu_cxx::__ops::_Iter_equals_val<CJob*
const>::operator()<__gnu_cxx::__normal_iterator<CJobQueue::CJobPointer*,
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
(__it=, this=<synthetic pointer>)
at /usr/include/c++/11/bits/predefined_ops.h:270
#2 std::__find_if<__gnu_cxx::__normal_iterator<CJobQueue::CJobPointer*,
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
std::random_access_iterator_tag)Python Exception <class 'gdb.error'> value
has been optimized out:
(__first=, __last=__last@entry={m_job = 0x7f595c1161e0, m_id = 69},
__pred=__pred@entry=...) at /usr/include/c++/11/bits/stl_algobase.h:2099
#3 0x000055676dc8d22c in
std::__find_if<__gnu_cxx::__normal_iterator<CJobQueue::CJobPointer*,
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
<class 'gdb.error'> value has been optimized out:
Python Exception <class 'gdb.error'> value has been optimized out:
(__pred=..., __last=, __first=) at
/usr/include/c++/11/bits/stl_algobase.h:2112
#4 std::find<__gnu_cxx::__normal_iterator<CJobQueue::CJobPointer*,
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
std::vector<CJobQueue::CJobPointer, std::allocator<CJobQueue::CJobPointer>
Exception <class 'gdb.error'> value has been optimized out:
{m_job = 0x7f595c1161e0, m_id = 69}, __first=)
at /usr/include/c++/11/bits/stl_algo.h:3884
#5 CJobQueue::AddJob(CJob*) (this=this@entry=0x5567700da488,
job=<optimized out>) at ./xbmc/utils/JobManager.cpp:115
#6 0x000055676e254d13 in
CJobQueue::Submit<CEventSource<PVR::PVREvent>::Publish<PVR::PVREvent>(PVR::PVREvent)::{lambda()#1}>(CEventSource<PVR::PVREvent>::Publish<PVR::PVREvent>(PVR::PVREvent)::{lambda()#1}&&)
(f=..., this=0x5567700da488) at ./xbmc/utils/JobManager.h:119
#7 CEventSource<PVR::PVREvent>::Publish<PVR::PVREvent>(PVR::PVREvent)
(this=0x5567700da440, event=PVR::PVREvent::EpgItemUpdate) at
./xbmc/utils/EventStream.h:80
#8 0x000055676e2579e7 in
PVR::CPVREpg::UpdateEntry(std::shared_ptr<PVR::CPVREpgInfoTag> const&,
EPG_EVENT_STATE) (this=0x5567700da2e0, tag=
std::shared_ptr<PVR::CPVREpgInfoTag> (use count 1, weak count 1) =
{...}, newState=<optimized out>) at ./xbmc/pvr/epg/Epg.cpp:245
#9 0x000055676e251274 in PVR::CEpgTagStateChange::Deliver()
(this=0x7f59583e6d70) at /usr/include/c++/11/bits/shared_ptr_base.h:1295
#10 0x000055676e25359e in PVR::CPVREpgContainer::Process()
(this=0x55676f302580) at ./xbmc/pvr/epg/EpgContainer.cpp:397
#11 0x000055676dd210b5 in CThread::Action() (this=0x55676f302580) at
./xbmc/threads/Thread.cpp:282
#12 0x000055676dd227c0 in operator()(CThread*, std::promise<bool>)
(pThread=0x55676f302580, promise=..., __closure=<optimized out>) at
./xbmc/threads/Thread.cpp:140
#13 0x000055676dd22c59 in std::__invoke_impl<void,
CThread::Create(bool)::<lambda(CThread*, std::promise<bool>)>, CThread*,
std::promise<bool> > (__f=<optimized out>)
at /usr/include/c++/11/bits/unique_ptr.h:172
#14 std::__invoke<CThread::Create(bool)::<lambda(CThread*,
std::promise<bool>)>, CThread*, std::promise<bool> > (__fn=<optimized out>)
at /usr/include/c++/11/bits/invoke.h:96
#15
std::thread::_Invoker<std::tuple<CThread::Create(bool)::<lambda(CThread*,
std::promise<bool>)>, CThread*, std::promise<bool> > >::_M_invoke<0, 1, 2>
(this=<optimized out>)
at /usr/include/c++/11/bits/std_thread.h:253
#16
std::thread::_Invoker<std::tuple<CThread::Create(bool)::<lambda(CThread*,
std::promise<bool>)>, CThread*, std::promise<bool> > >::operator()
(this=<optimized out>)
at /usr/include/c++/11/bits/std_thread.h:260
#17
std::thread::_State_impl<std::thread::_Invoker<std::tuple<CThread::Create(bool)::<lambda(CThread*,
std::promise<bool>)>, CThread*, std::promise<bool> > > >::_M_run(void)
(this=<optimized out>) at /usr/include/c++/11/bits/std_thread.h:211
#18 0x00007f59b934b8f4 in std::execute_native_thread_routine(void*)
(__p=0x7f5974004f00) at
../../../../../src/libstdc++-v3/src/c++11/thread.cc:82
#19 0x00007f59bccf5d80 in start_thread (arg=0x7f59583e8640) at
pthread_create.c:481
#20 0x00007f59b9580b6f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95