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] 
> <javascript:>>:
>
>> 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.whiteboard.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.whiteboard.internal.tracker.AbstractTracker - 
>> Service available [javax.servlet.Servlet]
>> [Gogo shell] DEBUG 
>> org.ops4j.pax.web.extender.whiteboard.internal.tracker.ServletTracker - 
>> Creating web element for service 45 [javax.servlet.Servlet] 
>> (TestCore.Servlet.Example@9211a24).
>> [Gogo shell] DEBUG 
>> org.ops4j.pax.web.extender.whiteboard.internal.WebApplication - 
>> de-registering 0 servlet filters
>> [Gogo shell] DEBUG 
>> org.ops4j.pax.web.extender.whiteboard.internal.WebApplication - 
>> de-registering 0 welcomefilemappings
>> [Gogo shell] DEBUG 
>> org.ops4j.pax.web.extender.whiteboard.internal.WebApplication - registering 
>> weblement:ServletWebElement{mapping=DefaultServletMapping{httpContextId=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,httpContext=org.ops4j.pax.web.extender.whiteboard.internal.WebApplication$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,urlPatterns=[/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.HttpServiceServletHandler@6e9175d8 
>> added {Example1@77578027==TestCore.Servlet.Example,-1,true,UNMANAGED}
>> [Gogo shell] DEBUG org.eclipse.jetty.util.component.ContainerLifeCycle - 
>> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler@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.whiteboard.internal.WebApplication - 
>> Registration skipped for 
>> [ServletWebElement{mapping=DefaultServletMapping{httpContextId=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.whiteboard.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.whiteboard.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] <javascript:>
>>
>> --- 
>> 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] <javascript:>.
>> 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