Problem/Opportunity
crash in ResourceMonitor thread:
2|0|libc.so.6|__libc_do_syscall|||0x5
2|1|libc.so.6|__pthread_kill_implementation|/usr/src/debug/glibc/2.35-r1/git/nptl/pthread_kill.c|43|0x3
2|2|libc.so.6|raise|/usr/src/debug/glibc/2.35-r1/git/signal/../sysdeps/posix/raise.c|26|0x5
2|3|libc.so.6|abort|/usr/src/debug/glibc/2.35-r1/git/stdlib/abort.c|79|0x5
2|4|libstdc++.so.6.0.29|__gnu_cxx::__verbose_terminate_handler()|/usr/src/debug/gcc-runtime/11.3.0-r0/arm-rdk-linux-gnueabi/libstdc++-v3/libsupc++/../../../../../../../../work-shared/gcc-11.3.0-r0/gcc-11.3.0/libstdc++-v3/libsupc++/vterminate.cc|95|0x3
2|5|libstdc++.so.6.0.29|__cxxabiv1::__terminate(void (*)())|/usr/src/debug/gcc-runtime/11.3.0-r0/arm-rdk-linux-gnueabi/libstdc++-v3/libsupc++/../../../../../../../../work-shared/gcc-11.3.0-r0/gcc-11.3.0/libstdc++-v3/libsupc++/eh_terminate.cc|48|0x1
2|6|libstdc++.so.6.0.29|std::terminate()|/usr/src/debug/gcc-runtime/11.3.0-r0/arm-rdk-linux-gnueabi/libstdc++-v3/libsupc++/../../../../../../../../work-shared/gcc-11.3.0-r0/gcc-11.3.0/libstdc++-v3/libsupc++/eh_terminate.cc|58|0x7
2|7|libstdc++.so.6.0.29|__cxxabiv1::__cxa_pure_virtual|/usr/src/debug/gcc-runtime/11.3.0-r0/arm-rdk-linux-gnueabi/libstdc++-v3/libsupc++/../../../../../../../../work-shared/gcc-11.3.0-r0/gcc-11.3.0/libstdc++-v3/libsupc++/pure.cc|50|0x3
2|8|WPEFramework|WPEFramework::PluginHost::Server::Channel::Received(WPEFramework::Core::ProxyType<WPEFramework::Core::JSON::IElement>&)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h|3586|0x3
2|9|WPEFramework|WPEFramework::PluginHost::Channel::DeserializerImpl::Deserialize(char const*, unsigned short)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../plugins/Channel.h|179|0x7
2|10|libWPEFrameworkPlugins.so.4.4.1|WPEFramework::Web::WebSocketLinkType<WPEFramework::Core::SocketStream, WPEFramework::PluginHost::Request, WPEFramework::Web::Response, WPEFramework::Core::ProxyPoolType<WPEFramework::PluginHost::Request>&>::HandlerType<WPEFramework::Core::SocketStream>::ReceiveData(unsigned char*, unsigned short)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/plugins/../websocket/WebSocketLink.h|656|0x9
2|11|libWPEFrameworkCore.so.4.4.1|WPEFramework::Core::SocketPort::Read()|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/SocketPort.cpp|1219|0xb
2|12|WPEFramework|WPEFramework::Core::ResourceMonitorType<WPEFramework::Core::IResource, WPEFramework::Core::Void>::Worker()|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/ResourceMonitor.h|431|0x5
2|13|libWPEFrameworkCore.so.4.4.1|WPEFramework::Core::Thread::StartThread(WPEFramework::Core::Thread*)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/Thread.cpp|194|0x7
2|14|libc.so.6|start_thread|/usr/src/debug/glibc/2.35-r1/git/nptl/pthread_create.c|442|0x7
2|15|libc.so.6|clone|||0x3e
IPC timeouts happened indicating temporary out of threads (THREADPOOL_COUNT 16) as multiple plugin activation requests were handled in parallel preceding the crash:
2026-01-29T16:30:59.697Z WPEFramework[4029]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0xCCC0, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-01-29T16:30:59.718Z WPEFramework[4029]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x30, Method ID 0x24). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-01-29T16:30:59.924Z WPEFramework[4029]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0xCCC0, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-01-29T16:31:19.698Z WPEFramework[4029]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0xCD70, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-01-29T16:31:19.929Z WPEFramework[4029]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0xCD80, Method ID 0x12). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-01-29T16:31:19.930Z WPEFramework[4029]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x30, Method ID 0x24). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-01-29T16:31:20.409Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.409Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.409Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.410Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.410Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.410Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.410Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.410Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.628Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] which has not been registered!!!
2026-01-29T16:31:20.628Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.628Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] which has not been registered!!!
2026-01-29T16:31:20.628Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] which has not been registered!!!
2026-01-29T16:31:20.628Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] which has not been registered!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] which has not been registered!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] which has not been registered!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] which has not been registered!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] which has not been registered!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.712Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.713Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.833Z WPEFramework[4029]: ====> Unregistering an interface [0x30, 4029] from a non-existing channel!!!
2026-01-29T16:31:20.961Z WPEFramework[4029]: pure virtual method called
(one of the reasons for timeouts - when THREADPOOL_COUNT=N and N plugins activate in parallel, that ends up in ServiceMap deadlock, as there are plugin state listeners and some of them are not direct call (requires more threads)):
...
2026-02-05T15:31:03.750Z WPEFramework[6493]: GetPowerState: 3[SysLog]:[Startup]: Activated plugin [PowerManager]:[org.rdk.PowerManager]
2026-02-05T15:31:03.754Z WPEFramework[6493]: [SysLog]:[Startup]: Activated plugin [AuthService]:[org.rdk.AuthService]
2026-02-05T15:31:03.757Z WPEFramework[6493]: [SysLog]:[Startup]: Activated plugin [FbAsLinchPin]:[org.rdk.FbAsLinchPin]
2026-02-05T15:31:03.798Z WPEFramework[6493]: [SysLog]:[Startup]: Activated plugin [FbMetrics]:[org.rdk.FbMetrics]
2026-02-05T15:31:03.799Z WPEFramework[6493]: [SysLog]:[Startup]: Activated plugin [PlayerInfo]:[PlayerInfo]
2026-02-05T15:31:03.826Z WPEFramework[6493]: [SysLog]:[Startup]: Activated plugin [PersistentStore]:[org.rdk.PersistentStore]
2026-02-05T15:31:03.864Z WPEFramework[6493]: [SysLog]:[Startup]: Activated plugin [FrontPanel]:[org.rdk.FrontPanel]
2026-02-05T15:31:03.939Z WPEFramework[6493]: HdcpProfileImplementation::Register: notification = 0x1df6c4[SysLog]:[Startup]: Activated plugin [HdcpProfile]:[org.rdk.HdcpProfile]
2026-02-05T15:31:23.424Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x31, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:31:23.427Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x30, Method ID 0x1B). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:31:23.463Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0xCCC0, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:31:23.464Z WPEFramework[6493]: [SysLog]:[Startup]: Activated plugin [WifiMetrics]:[org.rdk.WifiMetrics]
2026-02-05T15:31:23.464Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x30, Method ID 0x1B). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:31:23.661Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x800004E1, Method ID 0x4). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:31:23.746Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x22, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:31:43.661Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x800004E1, Method ID 0x6). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:31:43.746Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x22, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:32:03.662Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x800004E1, Method ID 0x5). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:32:03.747Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x22, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:32:23.662Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x800004E1, Method ID 0x6). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:32:23.747Z WPEFramework[6493]: [SysLog]:[Error]: IPC method Invoke failed due to timeout (Interface ID 0x22, Method ID 0x3). Execution of code may or may not have happened. Side effects are to be expected after this message
2026-02-05T15:32:23.747Z WPEFramework[6493]: [SysLog]:[Startup]: Activating plugin [org.rdk.PowerManager] returned 0
2026-02-05T15:32:23.747Z WPEFramework[6493]: [SysLog]:[Startup]: Activating plugin [DeviceInfo] Requested
2026-02-05T15:32:23.756Z WPEFramework[6493]: [SysLog]:[Startup]: Activating plugin [org.rdk.AuthService] returned 0
...
one thread is destructing Service object:
7|0|libc.so.6|__libc_do_syscall|||0x3
7|1|libc.so.6|__futex_abstimed_wait_common|/usr/src/debug/glibc/2.35-r1/git/nptl/futex-internal.c|40|0x3
7|2|libc.so.6|__futex_abstimed_wait_cancelable64|/usr/src/debug/glibc/2.35-r1/git/nptl/futex-internal.c|139|0x9
7|3|libc.so.6|___pthread_cond_timedwait64|/usr/src/debug/glibc/2.35-r1/git/nptl/pthread_cond_wait.c|503|0xd
7|4|libc.so.6|___pthread_cond_timedwait|/usr/src/debug/glibc/2.35-r1/git/nptl/pthread_cond_wait.c|658|0x3
7|5|libWPEFrameworkCore.so.4.4.1|WPEFramework::Core::Event::Lock(unsigned int)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/Sync.cpp|919|0x9
7|6|libWPEFrameworkCOM.so.4.4.1|WPEFramework::Core::IPCChannelType<WPEFramework::Core::SocketPort, WPEFramework::RPC::Communicator::ChannelLink>::Execute(WPEFramework::Core::ProxyType<WPEFramework::Core::IIPC> const&, unsigned int)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/IPCConnector.h|858|0x7
7|7|libWPEFrameworkProxyStubs.so.4.4.1|unsigned int WPEFramework::Core::IPCChannel::Invoke<WPEFramework::Core::IPCMessageType<2u, WPEFramework::RPC::Data::Input, WPEFramework::RPC::Data::Output> >(WPEFramework::Core::ProxyType<WPEFramework::Core::IPCMessageType<2u, WPEFramework::RPC::Data::Input, WPEFramework::RPC::Data::Output> > const&, unsigned int)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/plugins/../core/IPCConnector.h|742|0x9
7|8|libWPEFrameworkProxyStubs.so.4.4.1|WPEFramework::ProxyStub::UnknownProxy::Invoke(WPEFramework::Core::ProxyType<WPEFramework::Core::IPCMessageType<2u, WPEFramework::RPC::Data::Input, WPEFramework::RPC::Data::Output> >&, unsigned int) const|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/plugins/../com/IUnknown.h|330|0x9
7|9|libWPEFrameworkProxyStubs.so.4.4.1|WPEFramework::ProxyStubs::PluginNotificationProxy::Deactivated(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, WPEFramework::PluginHost::IShell*)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/plugins/../com/IUnknown.h|492|0xb
7|10|WPEFramework|WPEFramework::PluginHost::Server::ServiceMap::Deactivated(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, WPEFramework::PluginHost::IShell*)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h|3017|0x9
7|11|WPEFramework|WPEFramework::PluginHost::Server::Service::Deactivate(WPEFramework::PluginHost::IShell::reason)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.cpp|551|0xb
7|12|WPEFramework|WPEFramework::PluginHost::Server::Service::~Service|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h|1234|0x3
7|13|WPEFramework|WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>::~ProxyObject()|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/Proxy.h|119|0x3
7|14|WPEFramework|WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>::~ProxyObject()|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/Proxy.h|119|0x3
7|15|WPEFramework|WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>::Release() const|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/Proxy.h|138|0x3
7|16|WPEFramework|WPEFramework::Core::ThreadPool::Minion::Process()|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/ThreadPool.h|452|0x7
7|17|WPEFramework|WPEFramework::Core::ThreadPool::Executor::Worker()|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/ThreadPool.h|540|0x3
7|18|libWPEFrameworkCore.so.4.4.1|WPEFramework::Core::Thread::StartThread(WPEFramework::Core::Thread*)|/usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/Thread.cpp|194|0x7
7|19|libc.so.6|start_thread|/usr/src/debug/glibc/2.35-r1/git/nptl/pthread_create.c|442|0x7
7|20|libc.so.6|clone|||0x3e
This looks like an issue in Thunder as internal object appears destroyed (pure virtual method called) when still in use. Possibly related to out-of-threads conditions
More analysis, from coredump. Service is "Controller", it gets destroyed from Plugin::Controller::Status :
#7 0xb6a4247a in __cxxabiv1::__cxa_pure_virtual () at ../../../../../../../../work-shared/gcc-11.3.0-r0/gcc-11.3.0/libstdc++-v3/libsupc++/pure.cc:50
#8 0x00070870 in WPEFramework::PluginHost::Server::Channel::Job::Set (service=..., server=0xe23e0, id=7, this=0xb4ce8a58)
at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h:3586
#9 WPEFramework::PluginHost::Server::Channel::JSONElementJob::Set (JSONRPC=true, token=..., element=..., service=..., server=0xe23e0, id=7, this=0xb4ce8a58)
at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h:3785
#10 WPEFramework::PluginHost::Server::Channel::Received (this=0xb4ca2ec8, element=...)
at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h:4206
#11 0x00069740 in WPEFramework::PluginHost::Channel::DeserializerImpl::Deserialize (length=141,
stream=0xb4ca3734 "{\"jsonrpc\":\"2.0\",\"id\":26,\"method\":\"org.rdk.NetworkManager.1.register\",\"params\":{ \"event\": \"onInterfaceStateChange\", \"id\": \"org.rdk.Network\"}}}.NetworkManager.1.register\",\"params\":{ \"event\": \"onWiFiSta"..., this=0xb4ca32d4)
at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../plugins/Channel.h:179
(gdb) p service
$7 = (WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service> &) @0xb4ca3314: {
_refCount = 0x1dc1ec,
_realObject = 0x1dc1e8
}
(gdb) p *service._realObject
_state = WPEFramework::PluginHost::IShell::DEACTIVATION,
_M_p = 0x1dc2ac "Controller"
_reason = WPEFramework::PluginHost::IShell::SHUTDOWN,
_library = {
_refCountedHandle = 0x0,
Thread 37 (LWP 4037):
...
#26 0x00041096 in WPEFramework::RPC::ConnectorController::Revoke (controller=<optimized out>, this=<optimized out>) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../com/ConnectorType.h:65
#27 WPEFramework::Plugin::Controller::Deinitialize (this=0xd5d70, service=0x1dc1ec) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/Controller.cpp:172
#28 0x0005f6cc in WPEFramework::PluginHost::Server::Service::Deactivate (this=this@entry=0x1dc1e8, why=why@entry=WPEFramework::PluginHost::IShell::SHUTDOWN) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.cpp:563
#29 0x0004c656 in WPEFramework::PluginHost::Server::Service::~Service (this=this@entry=0x1dc1e8, __in_chrg=__in_chrg@entry=0, __vtt_parm=__vtt_parm@entry=0x7dde4 <VTT for WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>+4>) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h:1234
#30 0x0004c6ac in WPEFramework::PluginHost::Server::Service::~Service (this=this@entry=0x1dc1e8, __vtt_parm=__vtt_parm@entry=0x7dde4 <VTT for WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>+4>) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h:1245
#31 0x0004c6be in WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>::~ProxyObject (__vtt_parm=0x0, __in_chrg=2, this=this@entry=0x1dc1e8) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/Proxy.h:249
#32 WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>::~ProxyObject (this=this@entry=0x1dc1e8) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/Proxy.h:119
#33 0x0004c6ec in WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>::~ProxyObject (this=this@entry=0x1dc1e8) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/Proxy.h:119
#34 0x00052dfa in WPEFramework::Core::ProxyObject<WPEFramework::PluginHost::Server::Service>::Release (this=0x1dc1e8) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/Proxy.h:138
#35 0x0004a1f0 in WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service>::~ProxyType (this=0xac50c600, __in_chrg=<optimized out>) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/core/../core/Proxy.h:437
#36 0x0004a52c in std::_Destroy<WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service> > (__pointer=0xac50c600) at /usr/include/c++/11.3.0/bits/stl_construct.h:151
#37 std::_Destroy_aux<false>::__destroy<WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service>*> (__last=0xac50c910, __first=0xac50c600) at /usr/include/c++/11.3.0/bits/stl_construct.h:163
#38 std::_Destroy<WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service>*> (__last=0xac50c910, __first=<optimized out>) at /usr/include/c++/11.3.0/bits/stl_construct.h:196
#39 std::_Destroy<WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service>*, WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service> > (__last=0xac50c910, __first=<optimized out>) at /usr/include/c++/11.3.0/bits/alloc_traits.h:848
#40 std::vector<WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service>, std::allocator<WPEFramework::Core::ProxyType<WPEFramework::PluginHost::Server::Service> > >::~vector (this=0xb23f9194, __in_chrg=<optimized out>) at /usr/include/c++/11.3.0/bits/stl_vector.h:680
#41 0x00055f36 in WPEFramework::PluginHost::Server::ServiceMap::GetMetaData (this=0xe2a10, metaData=...) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/PluginServer.h:3269
#42 0x0003efec in WPEFramework::Plugin::Controller::Status (this=<optimized out>, index=..., response=...) at /usr/src/debug/wpeframework/4.4.3-r39/git/Source/WPEFramework/Controller.cpp:1059
(gdb) f 35
(gdb) p *this
$10 = {
_refCount = 0x1dc1ec,
_realObject = 0x1dc1e8
}
Steps to reproduce
No response
Expected Behavior
No crash
Actual Behavior
Crash
Notes (Optional)
No response
Problem/Opportunity
crash in ResourceMonitor thread:
IPC timeouts happened indicating temporary out of threads (THREADPOOL_COUNT 16) as multiple plugin activation requests were handled in parallel preceding the crash:
(one of the reasons for timeouts - when THREADPOOL_COUNT=N and N plugins activate in parallel, that ends up in ServiceMap deadlock, as there are plugin state listeners and some of them are not direct call (requires more threads)):
one thread is destructing Service object:
This looks like an issue in Thunder as internal object appears destroyed (pure virtual method called) when still in use. Possibly related to out-of-threads conditions
More analysis, from coredump. Service is "Controller", it gets destroyed from
Plugin::Controller::Status:Steps to reproduce
No response
Expected Behavior
No crash
Actual Behavior
Crash
Notes (Optional)
No response