Hi,

great, I'm sure those details will help narrow it down :-)

regards, Achim


2017-03-16 19:59 GMT+01:00 Eben Stewart <[email protected]>:

> I don't have a patch, but I added a bunch more detail in Jira (
> https://ops4j1.jira.com/browse/PAXWEB-1077) that I think greatly narrows
> it down - I see what is going on that is causing the problem, but not
> exactly sure what the best solution is.
>
> On Thursday, March 16, 2017 at 5:02:26 AM UTC-4, Achim Nierbeck wrote:
>>
>> Hi
>>
>> thanks for the details ... will look at it most likely around weekend.
>>
>> regards, Achim
>>
>>
>> 2017-03-16 2:50 GMT+01:00 Eben Stewart <[email protected]>:
>>
>>> I'll add this to Jira, but I was trying to narrow this down even more....
>>>
>>> In my own test code, I split it into 2 separate bundles - 1 containing
>>> the ServletContextHelper, the other containing the Servlet, both using
>>> DS/Whiteboard
>>>
>>> if I stop and start the servlet bundle only, I see this:
>>>
>>> g! stop 22
>>> [Gogo shell] DEBUG TestCoreServlet.coreServlet - BundleEvent STOPPING -
>>> TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG TestCoreServlet.coreServlet - ServiceEvent
>>> UNREGISTERING - [javax.servlet.Servlet] - TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.whi
>>> teboard.internal.tracker.AbstractTracker - Service removed
>>> [javax.servlet.Servlet]
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.war.internal.Activator -
>>> Starting destruction process for bundle TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.war.internal.Activator -
>>> Not an extended bundle or destruction of extension already finished for
>>> TestCoreServlet.coreServlet.
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.war.internal.Activator -
>>> Starting destruction process for bundle TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.war.internal.Activator -
>>> Not an extended bundle or destruction of extension already finished for
>>> TestCoreServlet.coreServlet.
>>> [Gogo shell] DEBUG TestCoreServlet.coreServlet - BundleEvent STOPPED -
>>> TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.war.internal.Activator -
>>> Starting destruction process for bundle TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.war.internal.Activator -
>>> Not an extended bundle or destruction of extension already finished for
>>> TestCoreServlet.coreServlet.
>>> g! start 22
>>> [Gogo shell] DEBUG TestCoreServlet.coreServlet - BundleEvent STARTING -
>>> TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG TestCoreServlet.coreServlet - BundleEvent STARTED -
>>> TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG TestCoreServlet.coreServlet - ServiceEvent REGISTERED
>>> - [javax.servlet.Servlet] - TestCoreServlet.coreServlet
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.whi
>>> teboard.internal.tracker.AbstractTracker - Service available
>>> [javax.servlet.Servlet]
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.whi
>>> teboard.internal.tracker.ServletTracker - Creating web element for
>>> service 45 [javax.servlet.Servlet] (TestCore.Servlet.Example@9211a24).
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.whi
>>> teboard.internal.WebApplication - de-registering 0 servlet filters
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.whi
>>> teboard.internal.WebApplication - de-registering 0 welcomefilemappings
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.whi
>>> teboard.internal.WebApplication - registering
>>> weblement:ServletWebElement{mapping=DefaultServletMapping{ht
>>> tpContextId=CustomContext,urlPatterns=[/web],initParams={},
>>> servlet=TestCore.Servlet.Example@9211a24, alias=null,
>>> servletNameExample1}}
>>> [Gogo shell] DEBUG org.ops4j.pax.web.service.internal.HttpServiceStarted
>>> - Using context [ContextModel{id=org.ops4j.pax
>>> .web.service.spi.model.ContextModel-2,name=context,httpConte
>>> xt=org.ops4j.pax.web.extender.whiteboard.internal.WebApplica
>>> tion$1@373185f1,contextParams={httpContext.shared=true,
>>> webapp.context=context},virtualHosts={},connectors={}}]
>>> [Gogo shell] DEBUG org.ops4j.pax.web.service.internal.ServletEventDispatcher
>>> - Sending web event ServletEvent [replay=false, type=1,
>>> bundle=21-TestCoreServlet.context, timestamp=1489628772443, alias=null,
>>> servletName=Example1, urlParameter=[Ljava.lang.String;@47984949,
>>> servletClass=TestCore.Servlet.Example], httpContext=org.ops4j.pax.web.
>>> extender.whiteboard.internal.WebApplication$1@373185f1] for bundle
>>> TestCoreServlet.context
>>> [ServletEventDispatcher: 3] DEBUG org.ops4j.pax.web.pax-web-jetty-bundle
>>> - org/osgi/service/web/DEPLOYING
>>> [ServletEventDispatcher: 2] DEBUG org.ops4j.pax.web.pax-web-runtime -
>>> org/osgi/service/web/DEPLOYING
>>> [Gogo shell] DEBUG org.ops4j.pax.web.service.jetty.internal.JettyServerImpl
>>> - Adding servlet [ServletModel{id=org.ops4j.pax
>>> .web.service.spi.model.ServletModel-4,name=Example1,urlPatte
>>> rns=[/web],alias=null,servlet=TestCore.Servlet.Example@
>>> 9211a24,initParams={},context=ContextModel{id=org.ops4j.pax.
>>> web.service.spi.model.ContextModel-2,name=context,
>>> httpContext=org.ops4j.pax.web.extender.whiteboard.internal.
>>> WebApplication$1@373185f1,contextParams={httpContext.shared=true,
>>> webapp.context=context},virtualHosts={},connectors={}}}]
>>> [Gogo shell] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle
>>> - org.ops4j.pax.web.service.jetty.internal.HttpServiceServletH
>>> andler@6e9175d8 added {Example1@77578027==TestCore.S
>>> ervlet.Example,-1,true,UNMANAGED}
>>> [Gogo shell] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle
>>> - org.ops4j.pax.web.service.jetty.internal.HttpServiceServletH
>>> andler@6e9175d8 added {[/web]=>Example1,POJO}
>>> [Gogo shell] DEBUG org.ops4j.pax.web.service.internal.ServletEventDispatcher
>>> - Sending web event ServletEvent [replay=false, type=5,
>>> bundle=21-TestCoreServlet.context, timestamp=1489628772446, alias=null,
>>> servletName=Example1, urlParameter=[Ljava.lang.String;@53e3ff33,
>>> servletClass=TestCore.Servlet.Example], httpContext=org.ops4j.pax.web.
>>> extender.whiteboard.internal.WebApplication$1@373185f1] for bundle
>>> TestCoreServlet.context
>>> [ServletEventDispatcher: 1] DEBUG org.ops4j.pax.web.pax-web-jetty-bundle
>>> - org/osgi/service/web/FAILED
>>> [ServletEventDispatcher: 3] DEBUG org.ops4j.pax.web.pax-web-runtime -
>>> org/osgi/service/web/FAILED
>>> [Gogo shell] ERROR org.ops4j.pax.web.extender.whi
>>> teboard.internal.WebApplication - Registration skipped for
>>> [ServletWebElement{mapping=DefaultServletMapping{httpContext
>>> Id=CustomContext,urlPatterns=[/web],initParams={},servlet=
>>> TestCore.Servlet.Example@9211a24, alias=null, servletNameExample1}}]
>>> due to error during registration
>>> java.lang.IllegalStateException: Multiple servlets map to path: /web:
>>> Example1,Example1
>>>
>>> It looks like the WebElement is never destroyed and removed when
>>> stopping the Servlet Bundle - what makes this worse is that the WebElement 
>>> *is
>>> still accessible* via the original web path
>>>
>>> if I just stop/start the Context bundle, this is where the original
>>> warning is coming from, after which, the context is no longer available:
>>>
>>> g! start 21
>>> [Gogo shell] DEBUG TestCoreServlet.context - BundleEvent STARTING -
>>> TestCoreServlet.context
>>> [Gogo shell] DEBUG TestCoreServlet.context - BundleEvent STARTED -
>>> TestCoreServlet.context
>>> [Gogo shell] DEBUG TestCoreServlet.context - ServiceEvent REGISTERED -
>>> [org.osgi.service.http.context.ServletContextHelper] -
>>> TestCoreServlet.context
>>> [Gogo shell] DEBUG org.ops4j.pax.web.extender.whi
>>> teboard.internal.tracker.AbstractTracker - Service available
>>> [org.osgi.service.http.context.ServletContextHelper]
>>> [Gogo shell] DEBUG org.ops4j.pax.web.service.internal.HttpServiceProxy
>>> - Unregistering servlet [TestCore.Servlet.Example@66d3eec0]
>>> [Gogo shell] WARN org.ops4j.pax.web.service.internal.HttpServiceStopped
>>> - Http service has already been stopped
>>> [Gogo shell] WARN org.ops4j.pax.web.service.internal.HttpServiceStopped
>>> - Http service has already been stopped
>>> [Gogo shell] DEBUG org.ops4j.pax.web.service.internal.HttpServiceProxy
>>> - Setting context paramters [{httpContext.shared=true,
>>> webapp.context=context}] for http context [org.ops4j.pax.web.extender.wh
>>> iteboard.internal.WebApplication$1@7cd8fcb5]
>>> [Gogo shell] WARN org.ops4j.pax.web.service.internal.HttpServiceStopped
>>> - Http service has already been stopped
>>> [Gogo shell] WARN org.ops4j.pax.web.service.internal.HttpServiceStopped
>>> - Http service has already been stopped
>>>
>>>
>>>
>>>
>>> On Wednesday, March 15, 2017 at 10:06:07 AM UTC-4, Eben Stewart wrote:
>>>>
>>>> I'd certainly like get to know the Pax code base better , but right now
>>>> I'm not even sure where to look :D
>>>>
>>>> On Wednesday, March 15, 2017 at 3:30:36 AM UTC-4, Achim Nierbeck wrote:
>>>>>
>>>>> Thanks for the jira ... will see when I have some time,
>>>>> through we really love contributions ;)
>>>>>
>>>>> regards, Achim
>>>>>
>>>>>
>>>>> 2017-03-15 1:19 GMT+01:00 Eben Stewart <[email protected]>:
>>>>>
>>>>>> https://ops4j1.jira.com/browse/PAXWEB-1077
>>>>>>
>>>>>>
>>>>>> On Tuesday, March 14, 2017 at 8:10:16 PM UTC-4, Eben Stewart wrote:
>>>>>>>
>>>>>>> same thing - I'll open a Jira for it.
>>>>>>>
>>>>>>> Makes development really challenging every time you make a change to
>>>>>>> have to restart the whole framework :D
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, March 14, 2017 at 6:53:00 PM UTC-4, Achim Nierbeck wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> in fact there is :-)
>>>>>>>> for a maven project it's
>>>>>>>>
>>>>>>>>         <!-- OPS4J SNAPSHOT repository -->
>>>>>>>>         <repository>
>>>>>>>>             <id>ops4j.sonatype.snapshots.deploy</id>
>>>>>>>>             <name>OPS4J snapshot repository</name>
>>>>>>>>             <url>https://oss.sonatype.org/
>>>>>>>> content/repositories/ops4j-snapshots/</url>
>>>>>>>>             <releases>
>>>>>>>>                 <enabled>false</enabled>
>>>>>>>>             </releases>
>>>>>>>>             <snapshots>
>>>>>>>>                 <enabled>true</enabled>
>>>>>>>>             </snapshots>
>>>>>>>>         </repository>
>>>>>>>>
>>>>>>>> regards, Achim
>>>>>>>>
>>>>>>>> 2017-03-14 21:53 GMT+01:00 Eben Stewart <[email protected]>:
>>>>>>>>
>>>>>>>>> thanks :)
>>>>>>>>>
>>>>>>>>> tested and recreated with 6.0.3-SNAPSHOT bundles
>>>>>>>>>
>>>>>>>>> However, I am getting build error for pax-web-jetty-bundle (all
>>>>>>>>> other artifacts built fine from a fresh git clone), so I can't be 
>>>>>>>>> sure if
>>>>>>>>> the 6.0.2 version of that is valid to test with.  Is there a compiled
>>>>>>>>> version of pax-web-jetty-bundle artifact available somewhere?
>>>>>>>>>
>>>>>>>>> I'll make sure to backtrack and do a fresh install of Karaf to get
>>>>>>>>> steps to recreate for Jira purposes
>>>>>>>>>
>>>>>>>>> On Tuesday, March 14, 2017 at 10:26:34 AM UTC-4, Achim Nierbeck
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> You should have received an invitation for jira.
>>>>>>>>>> Welcome aboard.
>>>>>>>>>>
>>>>>>>>>> regards, Achim
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2017-03-14 15:19 GMT+01:00 Eben Stewart <[email protected]>:
>>>>>>>>>>
>>>>>>>>>>> Will do.  Do I need to make a separate request for Jira access?
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> --
>>>>>>>>>>> ------------------
>>>>>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>>>>>
>>>>>>>>>>> ---
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "OPS4J" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>>> Apache Member
>>>>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
>>>>>>>>>> Committer & Project Lead
>>>>>>>>>> blog <http://notizblog.nierbeck.de/>
>>>>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>>>>>>>>
>>>>>>>>>> Software Architect / Project Manager / Scrum Master
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> --
>>>>>>>>> ------------------
>>>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "OPS4J" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> Apache Member
>>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
>>>>>>>> Committer & Project Lead
>>>>>>>> blog <http://notizblog.nierbeck.de/>
>>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>>>>>>
>>>>>>>> Software Architect / Project Manager / Scrum Master
>>>>>>>>
>>>>>>>> --
>>>>>> --
>>>>>> ------------------
>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "OPS4J" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Apache Member
>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
>>>>> Committer & Project Lead
>>>>> blog <http://notizblog.nierbeck.de/>
>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>>>
>>>>> Software Architect / Project Manager / Scrum Master
>>>>>
>>>>> --
>>> --
>>> ------------------
>>> OPS4J - http://www.ops4j.org - [email protected]
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "OPS4J" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>>
>> Apache Member
>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer
>> & Project Lead
>> blog <http://notizblog.nierbeck.de/>
>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>
>> Software Architect / Project Manager / Scrum Master
>>
>> --
> --
> ------------------
> OPS4J - http://www.ops4j.org - [email protected]
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OPS4J" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master

-- 
-- 
------------------
OPS4J - http://www.ops4j.org - [email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to