Bug 848938 - JMX Plugin - Leaking connector threads - com.sun.jmx.remote.internal.ClientCommunicatorAdminClientCommunicatorAdmin$Checker.run
JMX Plugin - Leaking connector threads - com.sun.jmx.remote.internal.ClientCo...
Product: RHQ Project
Classification: Other
Component: Plugins (Show other bugs)
Unspecified Unspecified
high Severity high (vote)
: ---
: RHQ 4.5.0
Assigned To: RHQ Project Maintainer
Mike Foley
Depends On:
Blocks: 871610
  Show dependency treegraph
Reported: 2012-08-16 17:08 EDT by Elias Ross
Modified: 2013-09-01 05:58 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 871610 (view as bug list)
Last Closed: 2013-09-01 05:58:33 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
fixes connection leak patch (6.43 KB, patch)
2012-09-13 18:01 EDT, Elias Ross
no flags Details | Diff
updated patch against master - 9f175839392 (11.18 KB, application/octet-stream)
2012-09-19 12:01 EDT, Elias Ross
no flags Details

  None (edit)
Description Elias Ross 2012-08-16 17:08:32 EDT
Description of problem:

Number of process threads increases over time.

One such example:

"Thread-2461" daemon prio=10 tid=0x000000006103c800 nid=0x5fc0 waiting on condition [0x00002aab178bb000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.run(ClientCommunicatorAdmin.java:154)
        at java.lang.Thread.run(Thread.java:619)

Version-Release number of selected component (if applicable):

RHQ 4.4 version of the plugin running.

How reproducible:

Unclear what specific conditions cause this in my case, but I have seen it almost universally. It could be to discovery failing.

There are obvious code paths which can likely lead to this condition worth exploring.

Additional info:

See: http://stackoverflow.com/questions/564589/dynamic-proxies-with-jmx-can-cause-thread-leaks
> When you do:
> JMXConnectorFactory.connect(url)
> Make sure to close it when you're done using it rather than leaving it up to garbage collection or it seems they can keep piling up...

There are two instances where close is never called:
1) Getting Java version
2) Getting Java PID

** patch forthcoming
Comment 1 Elias Ross 2012-09-13 18:01:15 EDT
Created attachment 612647 [details]
fixes connection leak patch
Comment 2 John Mazzitelli 2012-09-19 06:55:33 EDT
Tried applying the patch - it failed on current master (which is 6887631b) - please correct and re-attach to this BZ. Here's the error I get:

$ git am ~/Downloads/0001-Bug-848938-JMX-Plugin-Leaking-connector-thread.patch
Applying: Bug 848938 - JMX Plugin - Leaking connector thread
error: patch failed: modules/plugins/jmx/src/main/java/org/rhq/plugins/jmx/JMXDiscoveryComponent.java:335
error: modules/plugins/jmx/src/main/java/org/rhq/plugins/jmx/JMXDiscoveryComponent.java: patch does not apply
Patch failed at 0001 Bug 848938 - JMX Plugin - Leaking connector thread
Comment 3 Elias Ross 2012-09-19 12:01:58 EDT
Created attachment 614447 [details]
updated patch against master - 9f175839392
Comment 4 John Mazzitelli 2012-09-19 12:30:42 EDT
git commit to master: 26b37482f90fb01a6771c5c51471e2754dc3cdb4
Comment 5 Charles Crouch 2012-10-30 16:51:33 EDT
Set Target Release correctly.
Comment 6 Heiko W. Rupp 2013-09-01 05:58:33 EDT
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.

Note You need to log in before you can comment on or make changes to this bug.