[jbosstools-issues] [JBoss JIRA] (JBIDE-20670) LiveReload, BrowserSim and CordovaSim broken after TP changes (Jetty)

Xavier Coulon (JIRA) issues at jboss.org
Tue Sep 15 11:10:00 EDT 2015


    [ https://issues.jboss.org/browse/JBIDE-20670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13108774#comment-13108774 ] 

Xavier Coulon edited comment on JBIDE-20670 at 9/15/15 11:09 AM:
-----------------------------------------------------------------

Even thought the tests pass with PDE and Maven (incl. on Jenkins), LiveReload does not start in an Eclipse runtime because of the following error:
{code}


    !ENTRY org.jboss.tools.livereload.core 4 0 2015-09-15 13:49:31.458
    !MESSAGE FrameworkEvent ERROR
    !STACK 0
    org.osgi.framework.BundleException: Could not resolve module: org.jboss.tools.livereload.core [1088]
      Bundle was not resolved because of a uses contraint violation.
      org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.jboss.tools.livereload.core [osgi.identity; osgi.identity="org.jboss.tools.livereload.core"; type="osgi.bundle"; version:Version="1.3.0.qualifier"; singleton:="true"] because it is exposed to package 'org.eclipse.jetty.util.thread' from resources org.eclipse.jetty.util [osgi.identity; osgi.identity="org.eclipse.jetty.util"; type="osgi.bundle"; version:Version="9.2.10.v20150310"] and org.eclipse.jetty.util [osgi.identity; osgi.identity="org.eclipse.jetty.util"; type="osgi.bundle"; version:Version="9.2.13.v20150730"] via two dependency chains.
     
    Chain 1:
      org.jboss.tools.livereload.core [osgi.identity; osgi.identity="org.jboss.tools.livereload.core"; type="osgi.bundle"; version:Version="1.3.0.qualifier"; singleton:="true"]
        require: (&(osgi.wiring.bundle=org.eclipse.jetty.util)(&(bundle-version>=9.2.10)(!(bundle-version>=9.2.11))))
        |
        provide: osgi.wiring.bundle: org.eclipse.jetty.util
      org.eclipse.jetty.util [osgi.identity; osgi.identity="org.eclipse.jetty.util"; type="osgi.bundle"; version:Version="9.2.10.v20150310"]
     
    Chain 2:
      org.jboss.tools.livereload.core [osgi.identity; osgi.identity="org.jboss.tools.livereload.core"; type="osgi.bundle"; version:Version="1.3.0.qualifier"; singleton:="true"]
        require: (&(osgi.wiring.bundle=org.eclipse.jetty.servlets)(&(bundle-version>=9.2.10)(!(bundle-version>=9.2.11))))
        |
        provide: osgi.wiring.bundle; bundle-version:Version="9.2.10.v20150310"; osgi.wiring.bundle="org.eclipse.jetty.servlets"
      org.eclipse.jetty.servlets [osgi.identity; osgi.identity="org.eclipse.jetty.servlets"; type="osgi.bundle"; version:Version="9.2.10.v20150310"]
        import: (&(osgi.wiring.package=org.eclipse.jetty.util)(&(version>=9.2.0)(!(version>=10.0.0))))
        |
        export: osgi.wiring.package: org.eclipse.jetty.util; uses:=org.eclipse.jetty.util.thread
        export: osgi.wiring.package=org.eclipse.jetty.util.thread
      org.eclipse.jetty.util [osgi.identity; osgi.identity="org.eclipse.jetty.util"; type="osgi.bundle"; version:Version="9.2.13.v20150730"]
    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
{code}

applying [~nickboldt]'s PR from JBIDE-20671 alone brings another problem:
{code}
!ENTRY org.jboss.tools.livereload.core 4 0 2015-09-15 14:27:40.937
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.jboss.tools.livereload.core [1081]
  Unresolved requirement: Require-Bundle: org.eclipse.jetty.websocket.server; bundle-version="9.2.13"
    -> Bundle-SymbolicName: org.eclipse.jetty.websocket.server; bundle-version="9.2.13.v20150730"
       org.eclipse.jetty.websocket.server [556]
         Unresolved requirement: Require-Capability: osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)"
         Unresolved requirement: Import-Package: org.eclipse.jetty.websocket.servlet; version="[9.0.0,10.0.0)"
           -> Export-Package: org.eclipse.jetty.websocket.servlet; bundle-symbolic-name="org.eclipse.jetty.websocket.servlet"; bundle-version="9.2.13.v20150730"; version="9.2.13"
              org.eclipse.jetty.websocket.servlet [557]
                Unresolved requirement: Require-Capability: osgi.serviceloader; filter:="(osgi.serviceloader=org.eclipse.jetty.websocket.servlet.WebSocketServletFactory)"; cardinality:="multiple"
                  -> Provide-Capability: osgi.serviceloader; osgi.serviceloader="org.eclipse.jetty.websocket.servlet.WebSocketServletFactory"

	at org.eclipse.osgi.container.Module.start(Module.java:434)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)


{code}

This problem can be solved by adding {{asm-all-5.0.4.jar}} (unless we already have it), {{org.apache.aries.util-1.1.1.jar}} and {{org.apache.aries.spifly.dynamic.bundle-1.0.2.jar}} into the TP as well.




was (Author: xcoulon):
Even thought the tests pass with PDE and Maven (incl. on Jenkins), LiveReload does not start in an Eclipse runtime because of the following error:
{code}


    !ENTRY org.jboss.tools.livereload.core 4 0 2015-09-15 13:49:31.458
    !MESSAGE FrameworkEvent ERROR
    !STACK 0
    org.osgi.framework.BundleException: Could not resolve module: org.jboss.tools.livereload.core [1088]
      Bundle was not resolved because of a uses contraint violation.
      org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.jboss.tools.livereload.core [osgi.identity; osgi.identity="org.jboss.tools.livereload.core"; type="osgi.bundle"; version:Version="1.3.0.qualifier"; singleton:="true"] because it is exposed to package 'org.eclipse.jetty.util.thread' from resources org.eclipse.jetty.util [osgi.identity; osgi.identity="org.eclipse.jetty.util"; type="osgi.bundle"; version:Version="9.2.10.v20150310"] and org.eclipse.jetty.util [osgi.identity; osgi.identity="org.eclipse.jetty.util"; type="osgi.bundle"; version:Version="9.2.13.v20150730"] via two dependency chains.
     
    Chain 1:
      org.jboss.tools.livereload.core [osgi.identity; osgi.identity="org.jboss.tools.livereload.core"; type="osgi.bundle"; version:Version="1.3.0.qualifier"; singleton:="true"]
        require: (&(osgi.wiring.bundle=org.eclipse.jetty.util)(&(bundle-version>=9.2.10)(!(bundle-version>=9.2.11))))
        |
        provide: osgi.wiring.bundle: org.eclipse.jetty.util
      org.eclipse.jetty.util [osgi.identity; osgi.identity="org.eclipse.jetty.util"; type="osgi.bundle"; version:Version="9.2.10.v20150310"]
     
    Chain 2:
      org.jboss.tools.livereload.core [osgi.identity; osgi.identity="org.jboss.tools.livereload.core"; type="osgi.bundle"; version:Version="1.3.0.qualifier"; singleton:="true"]
        require: (&(osgi.wiring.bundle=org.eclipse.jetty.servlets)(&(bundle-version>=9.2.10)(!(bundle-version>=9.2.11))))
        |
        provide: osgi.wiring.bundle; bundle-version:Version="9.2.10.v20150310"; osgi.wiring.bundle="org.eclipse.jetty.servlets"
      org.eclipse.jetty.servlets [osgi.identity; osgi.identity="org.eclipse.jetty.servlets"; type="osgi.bundle"; version:Version="9.2.10.v20150310"]
        import: (&(osgi.wiring.package=org.eclipse.jetty.util)(&(version>=9.2.0)(!(version>=10.0.0))))
        |
        export: osgi.wiring.package: org.eclipse.jetty.util; uses:=org.eclipse.jetty.util.thread
        export: osgi.wiring.package=org.eclipse.jetty.util.thread
      org.eclipse.jetty.util [osgi.identity; osgi.identity="org.eclipse.jetty.util"; type="osgi.bundle"; version:Version="9.2.13.v20150730"]
    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
{code}

applying [~nickboldt]'s PR from JBIDE-20671 alone brings another problem:
{code}
!ENTRY org.jboss.tools.livereload.core 4 0 2015-09-15 14:27:40.937
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.jboss.tools.livereload.core [1081]
  Unresolved requirement: Require-Bundle: org.eclipse.jetty.websocket.server; bundle-version="9.2.13"
    -> Bundle-SymbolicName: org.eclipse.jetty.websocket.server; bundle-version="9.2.13.v20150730"
       org.eclipse.jetty.websocket.server [556]
         Unresolved requirement: Require-Capability: osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)"
         Unresolved requirement: Import-Package: org.eclipse.jetty.websocket.servlet; version="[9.0.0,10.0.0)"
           -> Export-Package: org.eclipse.jetty.websocket.servlet; bundle-symbolic-name="org.eclipse.jetty.websocket.servlet"; bundle-version="9.2.13.v20150730"; version="9.2.13"
              org.eclipse.jetty.websocket.servlet [557]
                Unresolved requirement: Require-Capability: osgi.serviceloader; filter:="(osgi.serviceloader=org.eclipse.jetty.websocket.servlet.WebSocketServletFactory)"; cardinality:="multiple"
                  -> Provide-Capability: osgi.serviceloader; osgi.serviceloader="org.eclipse.jetty.websocket.servlet.WebSocketServletFactory"

	at org.eclipse.osgi.container.Module.start(Module.java:434)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)


{code}

This problem can be solved by adding {{asm-all-5.0.4.jar}} (unless we already have it), {{ org.apache.aries.util-1.1.1.jar}} and {{org.apache.aries.spifly.dynamic.bundle-1.0.2.jar}} into the TP as well.



> LiveReload, BrowserSim and CordovaSim broken after TP changes (Jetty)
> ---------------------------------------------------------------------
>
>                 Key: JBIDE-20670
>                 URL: https://issues.jboss.org/browse/JBIDE-20670
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: browsersim, cordovasim, livereload, target-platform
>    Affects Versions: 4.3.0.CR1
>            Reporter: Xavier Coulon
>            Assignee: Xavier Coulon
>            Priority: Blocker
>              Labels: respin-a
>             Fix For: 4.3.0.CR1
>
>
> After the latest TP changes, the Jetty dependencies were set at a specific range to exclude the latest versions of some Jetty bundles brought as transitive dependencies of other bundles, using {{[9.2.10, 9.3)}}, but the TP itself was wrong and contained Eclipse Neon bundles (see JBIDE-20662). After the TP was fixed, the unwanted Jetty bundles were in version {{9.2.13}} which was caught by the specific range aforementioned, but this causes runtime errors because some classes cannot be resolved ({{org.eclipse.jetty.util.thread.Spinlock}}, for example).



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jbosstools-issues mailing list