You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Yasuhiro Kawame (Created) (JIRA)" <ji...@apache.org> on 2012/03/29 13:10:32 UTC

[jira] [Created] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
--------------------------------------------------------------------------------------------------------

                 Key: FELIX-3411
                 URL: https://issues.apache.org/jira/browse/FELIX-3411
             Project: Felix
          Issue Type: Bug
          Components: Framework
    Affects Versions: framework-4.0.2
            Reporter: Yasuhiro Kawame


I think that the implementation of Changing the Active Start Level is different from Spec.

see:
OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154

Move to requested start level R, active level is A, B is a bundle's start level

Spec:
if (A < R) 
  while (A < R) {
    A = A + 1
    Start All bundles where B = A
  }

Implementation:
if (A < R) 
  Start All bundles where B <= R
A = R

Similarly, if A > R.

Javadoc:
http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Commented] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Richard S. Hall (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253359#comment-13253359 ] 

Richard S. Hall commented on FELIX-3411:
----------------------------------------

Ok, I think I understand your point now, you think it should attempt to restart bundles that are below the current active start level (effectively blacklisting them). I'm not sure this is what the spec means. I'll investigate.
                
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Commented] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Richard S. Hall (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13249976#comment-13249976 ] 

Richard S. Hall commented on FELIX-3411:
----------------------------------------

I have looked at the spec, but I don't see where is says bundles should be blacklisted if they throw an exception during a start level change. Could you point me to where you believe the spec says this?
                
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Commented] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Richard S. Hall (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13241348#comment-13241348 ] 

Richard S. Hall commented on FELIX-3411:
----------------------------------------

Your description of the framework's behavior is not correct. If you check Felix.setActiveStartLevel() you can see that it takes a sorted snapshot of the existing bundles:

                    // Get a sorted snapshot of all installed bundles
                    // to be processed during the start level change.
                    // We also snapshot the start level here, since it
                    // may change and we don't want to consider any
                    // changes since they will be queued for the start
                    // level thread.
                    bundles = getBundles();
                    for (Bundle b : bundles)
                    {
                        m_startLevelBundles.add(
                            new StartLevelTuple(
                                (BundleImpl) b,
                                ((BundleImpl) b).getStartLevel(
                                    getInitialBundleStartLevel())));
                    }

It then processes this list (which is sorted by bundle start level and then bundle ID) in forward or reverse order depending on whether it is raising or lowering:

                    if (lowering)
                    {
                        tuple = m_startLevelBundles.last();
                    }
                    else
                    {
                        tuple = m_startLevelBundles.first();
                    }

And for each bundle processed in order it counts up or down the framework's current active start level depending upon whether we are lowering or raising, e.g.:

                            // Count up the active start level.
                            if (m_activeStartLevel != tuple.m_level)
                            {
                                m_activeStartLevel = tuple.m_level;
                            }

So, while it is possible there are some bugs, it definitely is attempting to implement the spec as described. There is the potential for a bundle to be started/stopped out of order if you are manipulating its state at the same time the start level operation is going on, but it is a small window and will still end up in the proper state.

At any rate, if you experience any bugs, would it be possible to create an example to demonstrate the issue? Thanks.
                
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Issue Comment Edited] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Richard S. Hall (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13249976#comment-13249976 ] 

Richard S. Hall edited comment on FELIX-3411 at 4/9/12 5:19 PM:
----------------------------------------------------------------

I have looked at the spec, but I don't see where it says bundles should be blacklisted if they throw an exception during a start level change. Could you point me to where you believe the spec says this?
                
      was (Author: rickhall):
    I have looked at the spec, but I don't see where is says bundles should be blacklisted if they throw an exception during a start level change. Could you point me to where you believe the spec says this?
                  
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Commented] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Richard S. Hall (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13244411#comment-13244411 ] 

Richard S. Hall commented on FELIX-3411:
----------------------------------------

So, is your issue that the framework should not attempt to start Bundle_02 again?

Perhaps so, but your original issue description didn't says something completely different. If the extra attempt to start the bundle is your concern, we should edit this issue to more clearly state that fact. Let me know. Thanks.
                
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Commented] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Yasuhiro Kawame (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13248389#comment-13248389 ] 

Yasuhiro Kawame commented on FELIX-3411:
----------------------------------------

> So, is your issue that the framework should not attempt to start Bundle_02 again? 
Yes. I do not want Bundle_02 to be started again.

But my issue report is not clearly. So I would like to organize and edit this issue.

Many thanks
                
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Commented] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Yasuhiro Kawame (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253119#comment-13253119 ] 

Yasuhiro Kawame commented on FELIX-3411:
----------------------------------------

I won't say about blacklisting.

I believe that the implementation is different from the the following spec.
R4.3 spec
8.3.1 Changing the Active Start Level

If the requested start level is higher than the active start level, the Framework must increase the start 
level by one and then start all bundles that meet the following criteria:
• Bundles that are persistently marked started, and
• Bundles that have a bundle start level equal to the new active start level.
The Framework continues increasing the active start level and starting the appropriate bundles until 
it has started all bundles with a bundle start level that equals the requested start level.


For example, assume the active start level is 3 and the Framework is requested to transition to start level 
5. 
I think the framework must attempt to start all bundles that have a bundle start level 4 or 5.
So I think Bundle_02 must not be started.
                
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

       

[jira] [Comment Edited] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Richard S. Hall (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253359#comment-13253359 ] 

Richard S. Hall edited comment on FELIX-3411 at 6/16/12 7:00 PM:
-----------------------------------------------------------------

Ok, I think I understand your point now, you think it should not attempt to restart bundles that are below the current active start level (effectively blacklisting them). I'm not sure this is what the spec means. I'll investigate.
                
      was (Author: rickhall):
    Ok, I think I understand your point now, you think it should attempt to restart bundles that are below the current active start level (effectively blacklisting them). I'm not sure this is what the spec means. I'll investigate.
                  
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>             Fix For: framework-4.2.0
>
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Commented] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Yasuhiro Kawame (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13244085#comment-13244085 ] 

Yasuhiro Kawame commented on FELIX-3411:
----------------------------------------

Thank you for your comment.

I am testing exception handling using wrong bundles. 

Conditions:
  B_N is the bundle start level.
  A is an active start level.
  R is a requested start level.

  Bundle_01:
    B_01 = 1

  Bundle_02:
    B_02 = 3 
    This BundleActivator#start method throws an exception.

  Bundle_03:
    B_03 = 5

STEP1. ActiveStartLevel = 1.
   (A = 1)
   Spec and Implementation:
     Bundle_01 is ACTIVE.

STEP2. setStartLevel(3)
   (A = 1, R = 3)
   Spec and Implementation:
     Bundle_02 throws a BundleException.

STEP3. setStartLevel(5)
   (A = 3, R = 5)
  Spec:
     Bundle_03 is ACTIVE.

  Implementation:
     Bundle_02 throws a BundleException.
     Bundle_03 is ACTIVE.
  
  This point is different from Spec.

Best regards.
                
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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

        

[jira] [Updated] (FELIX-3411) The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec

Posted by "Richard S. Hall (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard S. Hall updated FELIX-3411:
-----------------------------------

    Fix Version/s: framework-4.2.0
    
> The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>             Fix For: framework-4.2.0
>
>
> I think that the implementation of Changing the Active Start Level is different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 page154
> Move to requested start level R, active level is A, B is a bundle's start level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int, org.osgi.framework.FrameworkListener...)

--
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