You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Andrey Davydov (Jira)" <ji...@apache.org> on 2020/03/18 12:56:00 UTC
[jira] [Created] (FELIX-6243) Link to root Felix object leaks to GC
root
Andrey Davydov created FELIX-6243:
-------------------------------------
Summary: Link to root Felix object leaks to GC root
Key: FELIX-6243
URL: https://issues.apache.org/jira/browse/FELIX-6243
Project: Felix
Issue Type: Bug
Affects Versions: framework-6.0.3
Reporter: Andrey Davydov
Attachments: felix.png
Tested on java8.
Felix object creates StatefulResolver and then StatefulResolver get link to Felix.
StatefulResolver creates Executor in getExecutor() using nested class as ThreadFactory (when FelixConstants.RESOLVER_PARALLELISM greater then 1)
So every thread in Executor has link to Executor
Executor has link to ThreadFactory
ThreadFactory has link to StatefulResolver, because it is nested
StatefulResolver has link to Felix
And it is the way from GC root to Felix and GC can't collect Felix after Felix.stop() and all external refs to Felix cut.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)