felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-2434) DispatchQueue, StartLevel and PacakageAdmin threads holding VM up.
Date Wed, 06 Oct 2010 21:30:30 GMT

    [ https://issues.apache.org/jira/browse/FELIX-2434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12918694#action_12918694

Richard S. Hall commented on FELIX-2434:

You can't set the Event Dispatcher thread to daemon, because it is the only non-daemon thread
created when the framework starts so the VM couldn't stay up otherwise. It will get stopped
when the last framework instance is stopped. Are you sure you aren't experiencing a deadlock?

Could you try this on a more recent version of the framework...at least 3.0.2, but 3.0.3 had
some locking changes, but there was another bug in that so we have a 3.0.4 release under vote
right now so you could also grab that from the staging repo or wait until Thursday when it
is released.

If this is even remotely reproducible, let me know the precise steps to reproduce and I can
check into it, but try a new version of the framework first...the latest should be a drop-in
replacement for 2.0.5.

> DispatchQueue, StartLevel and PacakageAdmin threads holding VM up.
> ------------------------------------------------------------------
>                 Key: FELIX-2434
>                 URL: https://issues.apache.org/jira/browse/FELIX-2434
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-2.0.5
>         Environment: Linux (RHEL 4 32Bit), java 1.6 server vm (14-b08)
> Linux (RHEL 5 32bit & 64Bit) java 1.6 server vm (13)
>            Reporter: Martin Ritchie
>         Attachments: FELIX-EventDispatcher-setDaemon.patch
> Hi, In Qpid we started using Felix more for managing our broker plugins. However we are
having random lockups occur during our test broker shutdown.
> Our PluginManager (https://svn.apache.org/repos/asf/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java)
is shutdown via a VM ShutdownHook where it closes Service Trackers and then calls stop() on
Felix followed by a waitForStop().
> We are frequently seeing the following three Felix threads in a WAITING state that could
be holding the VM up. Looking at the 2.0.5 code the EventDispatcher does not use a Daemon
thread could this be what is holding our VM open?
> Name: FelixDispatchQueue
> State: WAITING on java.util.ArrayList@dc904a
> Total blocked: 21  Total waited: 22
> Stack trace: 
> java.lang.Object.wait(Native Method)
> java.lang.Object.wait(Object.java:485)
> org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:917)
> org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54)
> org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106)
> java.lang.Thread.run(Thread.java:619)
> Name: FelixStartLevel
> State: WAITING on java.util.ArrayList@1c68b20
> Total blocked: 7  Total waited: 8
> Stack trace: 
> java.lang.Object.wait(Native Method)
> java.lang.Object.wait(Object.java:485)
> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:242)
> java.lang.Thread.run(Thread.java:619)
> Name: FelixPackageAdmin
> State: WAITING on org.apache.felix.framework.PackageAdminImpl@1d4ab05
> Total blocked: 0  Total waited: 1
> Stack trace: 
> java.lang.Object.wait(Native Method)
> java.lang.Object.wait(Object.java:485)
> org.apache.felix.framework.PackageAdminImpl.run(PackageAdminImpl.java:316)
> java.lang.Thread.run(Thread.java:619)

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message