You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Alasdair Nottingham (Updated) (JIRA)" <ji...@apache.org> on 2012/02/05 00:15:58 UTC

[jira] [Updated] (ARIES-800) Closing a recursive bundle tracker opens it

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

Alasdair Nottingham updated ARIES-800:
--------------------------------------

    Attachment: ARIES-800-patch.txt

I have a patch for this, it appears that the event on removingBundle will be null when a tracker is closed. We didn't cope with this and falsely assumed a tracker was opened. I've attached a patch for review. I want to run some testing before I commit it down, but thought I would attach a patch so people could review.
                
> Closing a recursive bundle tracker opens it
> -------------------------------------------
>
>                 Key: ARIES-800
>                 URL: https://issues.apache.org/jira/browse/ARIES-800
>             Project: Aries
>          Issue Type: Bug
>          Components: Util
>    Affects Versions: 0.4
>         Environment: Windows 7
>            Reporter: Iain Duncan
>            Assignee: Alasdair Nottingham
>         Attachments: ARIES-800-patch.txt
>
>
> When we close a recursive bundle tracker it closes it then re-opens it causing our customizer to be triggered again.  The stack trace from the Aries part of the code is (from closing to calling our customizer)...
> 	at org.apache.aries.util.tracker.InternalRecursiveBundleTracker.addingBundle(InternalRecursiveBundleTracker.java:70)
> 	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:482)
> 	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
> 	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:262)
> 	at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:185)
> 	at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:163)
> 	at org.apache.aries.util.tracker.InternalRecursiveBundleTracker.openTracker(InternalRecursiveBundleTracker.java:156)
> 	at org.apache.aries.util.tracker.InternalRecursiveBundleTracker.customizedProcessBundle(InternalRecursiveBundleTracker.java:123)
> 	at org.apache.aries.util.tracker.InternalRecursiveBundleTracker.addingBundle(InternalRecursiveBundleTracker.java:65)
> 	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:482)
> 	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
> 	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:262)
> 	at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:185)
> 	at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:163)
> 	at org.apache.aries.util.tracker.InternalRecursiveBundleTracker.openTracker(InternalRecursiveBundleTracker.java:156)
> 	at org.apache.aries.util.tracker.InternalRecursiveBundleTracker.customizedProcessBundle(InternalRecursiveBundleTracker.java:123)
> 	at org.apache.aries.util.tracker.InternalRecursiveBundleTracker.removedBundle(InternalRecursiveBundleTracker.java:102)
> 	at org.osgi.util.tracker.BundleTracker$Tracked.customizerRemoved(BundleTracker.java:508)
> 	at org.osgi.util.tracker.BundleTracker$Tracked.customizerRemoved(BundleTracker.java:1)
> 	at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:352)
> 	at org.osgi.util.tracker.BundleTracker.close(BundleTracker.java:200)
> 	at org.apache.aries.util.tracker.RecursiveBundleTracker.close(RecursiveBundleTracker.java:86)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira