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

Richard S. Hall reopened FELIX-2378:
------------------------------------


On second thought, I think I will address this a different way.

> Deadlock in Felix Shell implementation
> --------------------------------------
>
>                 Key: FELIX-2378
>                 URL: https://issues.apache.org/jira/browse/FELIX-2378
>             Project: Felix
>          Issue Type: Bug
>          Components: Shell
>    Affects Versions: shell-1.4.2
>         Environment: Felix Framework Version 2.0.5
> SunOS castor 5.10 Generic_138888-06 sun4u sparc SUNW,Sun-Fire-V890
> java version "1.6.0_12"
> Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
> Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)
>            Reporter: Alexander Berger
>            Assignee: Richard S. Hall
>             Fix For: shell-1.6.0
>
>         Attachments: Activator.patch
>
>
> The class org.apache.felix.shell.impl.Activator$ShellServiceImpl makes heavy 
> use of synchronized methods which synchronized on the ShellServiceImpl 
> itself. This causes a deadlock if a refresh/resolve (PackageAdmin) cycle is 
> initiated using the shell and some Commands are about to be removed from the 
> OSGi service registry (as a result of the refresh/resolve).
> This happens because executeCommand locks the ShellServiceImpl instance and 
> later on when the PackageAdmin indirectly triggers the removal of some 
> registered Commands ShellServiceImpl.removeCommand(...) will try to lock the 
> same ShellServiceImpl instance which is still locked by the executeCommand.
> I have created a patch for org.apache.felix.shell.impl.Activator (see 
> Attachment) for a possible solution of this problem.

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

Reply via email to