[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] fileinstall & equinox solution

Here is why gogo.command can cause file installer to be swept upon the refresh:

gogo.command exports log:

Export-Package: org.osgi.service.log;uses:="org.osgi.framework";version="1.3"

And file installer imports log. So, depending on how the resolution goes, file installer can depend upon gogo.command. So if gogo.command is then refreshed, file installer will also be refreshed. And given the bad locking design in file installer, file installer will deadlock.
--

BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the
OSGi Alliance
hargrave@xxxxxxxxxx

office: +1 386 848 1781
mobile: +1 386 848 3788





From:        Raymond Auge <raymond.auge@xxxxxxxxxxx>
To:        Apache Felix Developers <dev@xxxxxxxxxxxxxxxx>
Cc:        Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
Date:        2014/09/29 15:19
Subject:        Re: [equinox-dev] fileinstall & equinox solution
Sent by:        equinox-dev-bounces@xxxxxxxxxxx





Ok here goes:

Using the following class:

https://gist.github.com/rotty3000/fcd47c42cb0a12141f52

compile and execute with:

java -classpath <latest-equinox> FIAndEquinoxTest

Once running, drop http://archive.apache.org/dist/felix/org.apache.felix.gogo.command-0.12.0.jar into the ${user.home}/osgi-deploydir

Get a stackdump using jstack (get pid from jps)

You'll see the very same result from the earlier dumps I posted.

NOTE: ODDLY, This only seems to happen with org.apache.felix.gogo.command.

On Mon, Sep 29, 2014 at 2:39 PM, Raymond Auge <raymond.auge@xxxxxxxxxxx> wrote:
I've reproduced the issue with a minimal impl. I'll post that shortly.

On Mon, Sep 29, 2014 at 1:53 PM, Jamie G. <jamie.goodyear@xxxxxxxxx> wrote:
FileInstall and Equinox should be able to play nicely together - that
combination has been used in Apache Karaf deployments for a while...

Could you try out your scenario with a Karaf container with Equinox
set as its OSGi core?

--J


On Mon, Sep 29, 2014 at 2:57 PM, Raymond Auge <
raymond.auge@xxxxxxxxxxx> wrote:
> Ok, so I did have:
>
> a) some fileinstall artifact handlers in a bundle being refreshed
> b) config admin bundle being refresh
>
> Both of those would probably have pulled FI into the fresh.
>
> However, I removed those (and delete the equinox state) but still get the
> same exact issue.
>
> On Mon, Sep 29, 2014 at 1:12 PM, Raymond Auge <
raymond.auge@xxxxxxxxxxx>
> wrote:
>
>> Ok, sooo I think I understand the issue.
>>
>> We have a protocol handler deployed for fileinstall's custom artifact
>> handling.
>>
>> I guess that must be pulling FI into the fresh.
>>
>> I'll take that bundle out and see if I get the same problem or not.
>>
>> - Ray
>>
>> On Mon, Sep 29, 2014 at 1:06 PM, Raymond Auge <
raymond.auge@xxxxxxxxxxx>
>> wrote:
>>
>>> Sorry I forgot to mention I'm cross posting to felix list also.
>>>
>>> Anyhow, here is a stacktrace which shows the locking (search for
>>> fileinstall).
>>>
>>> - Ray
>>>
>>> On Mon, Sep 29, 2014 at 12:57 PM, BJ Hargrave <
hargrave@xxxxxxxxxx>
>>> wrote:
>>>
>>>> Is there a bug/issue with the details? I don't know any details here.
>>>> What is the "concurrency issue with package refresh"?
>>>> --
>>>>

>>>>  *BJ Hargrave*
>>>> Senior Technical Staff Member, IBM
>>>> OSGi Fellow and CTO of the *OSGi Alliance* <
http://www.osgi.org/>
>>>> *
hargrave@xxxxxxxxxx* <hargrave@xxxxxxxxxx>
>>>>
>>>> office:
+1 386 848 1781
>>>> mobile:
+1 386 848 3788
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> From:        Raymond Auge <
raymond.auge@xxxxxxxxxxx>
>>>> To:        Equinox development mailing list <
equinox-dev@xxxxxxxxxxx>,
>>>> Apache Felix Developers <
dev@xxxxxxxxxxxxxxxx>
>>>> Date:        2014/09/29 12:52
>>>> Subject:        [equinox-dev] fileinstall & equinox solution
>>>> Sent by:       
equinox-dev-bounces@xxxxxxxxxxx
>>>> ------------------------------
>>>>
>>>>
>>>>
>>>> Will there ever be a solution to the fileinstall on equinox issue?
>>>>
>>>> It seems that fileinstall has not worked on equinox for some time due to
>>>> the concurrency issue with package refresh.
>>>>
>>>> I believe 3.1.10 is the last version that works on equinox.
>>>>
>>>> --
>>>> *Raymond Augé* <
http://www.liferay.com/web/raymond.auge/profile>
>>>>  (@rotty3000)
>>>> Senior Software Architect
>>>> *Liferay, Inc.* <
http://www.liferay.com/> (@Liferay)
>>>> _______________________________________________
>>>> equinox-dev mailing list
>>>>
equinox-dev@xxxxxxxxxxx
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>>
https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>>>
>>>>
>>>> _______________________________________________
>>>> equinox-dev mailing list
>>>>
equinox-dev@xxxxxxxxxxx
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>>
https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>>>
>>>
>>>
>>>
>>> --
>>> *Raymond Augé* <
http://www.liferay.com/web/raymond.auge/profile>
>>>  (@rotty3000)
>>> Senior Software Architect
>>> *Liferay, Inc.* <
http://www.liferay.com> (@Liferay)
>>>
>>>
>>

>>
>> --
>> *Raymond Augé* <
http://www.liferay.com/web/raymond.auge/profile>
>>  (@rotty3000)
>> Senior Software Architect
>> *Liferay, Inc.* <
http://www.liferay.com> (@Liferay)
>>
>>
>
>
> --
> *Raymond Augé* <
http://www.liferay.com/web/raymond.auge/profile>
>  (@rotty3000)
> Senior Software Architect
> *Liferay, Inc.* <
http://www.liferay.com> (@Liferay)



--
Raymond Augé (@rotty3000)
Senior Software Architect
Liferay, Inc. (@Liferay)




--
Raymond Augé (@rotty3000)
Senior Software Architect
Liferay, Inc. (@Liferay)
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev