camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CAMEL-8146) Starting and stopping routes leak threads
Date Thu, 18 Dec 2014 12:22:14 GMT

     [ https://issues.apache.org/jira/browse/CAMEL-8146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Claus Ibsen resolved CAMEL-8146.
--------------------------------
    Resolution: Fixed

> Starting and stopping routes leak threads
> -----------------------------------------
>
>                 Key: CAMEL-8146
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8146
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.14.0
>            Reporter: Bjørn Ellingsen
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 2.14.2, 2.15.0
>
>
> Seems to be identical consequence as with previous issue CAMEL-5677, but perhaps due
to a different cause.
> Having a file or SFTP based route, trying something like:
> {code}
> for (int i = 0; i < 50; i++) {
>     camelContext.startRoute(routeId);
>     camelContext.stopRoute(routeId);
> }
> {code}
> results in 50 orphan threads of this type:
> {code}
> "Camel (camel) thread #231 - sftp://user@host/path" #10170 daemon prio=5 os_prio=0 tid=0x00007fa4b46a5800
nid=0x10fc waiting on condition [0x00007fa452934000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x00000000b83dc900> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
>       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
>       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
>       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
>       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
>       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> {code}
> Switching to suspend/resume solves the problem, however I guess the start/stop issue
should be addressed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message