felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajini Sivaram" <rajinisiva...@googlemail.com>
Subject Re: Intermittent exception during Felix shutdown
Date Mon, 20 Aug 2007 15:27:50 GMT
Felix,

I have moved to 0.9.0-SNAPSHOT (now using the latest scr bundle you
mentioned below). The same exception still occurs.

There is no 0.9.0-SNAPSHOT for the log bundle (and it is a dependency for
configadmin). Should I continue to use the incubator version for log?

Thank you...

Regards,

Rajini

On 8/20/07, Felix Meschberger <fmeschbe@gmail.com> wrote:
>
> Hi Rajini,
>
> There is not release of this bundle, yet. But, have you tried the latest
> SNAPSHOT 0.9.0-20070814.113621-1. As Felix has graduated the "incubator"
> tag in the version is not required anymore, so the SNAPSHOT version
> should referred to as
>
>    <version>0.9.0-SNAPSHOT</version>
>
> Regards
> Felix
>
>
> Am Montag, den 20.08.2007, 15:48 +0100 schrieb Rajini Sivaram:
> > Felix,
> >
> > I am using org.apache.felix.scr-0.9.0-incubator-20070515.104418-2. I
> > couldn't find a 1.0.0 version of it in the maven repository.
> >
> > There is no multi-threading inside the test. But there are two versions
> of
> > each test bundle installed.
> >
> > Thank you...
> >
> > Regards,
> >
> > Rajini
> >
> > On 8/20/07, Felix Meschberger <fmeschbe@gmail.com> wrote:
> > >
> > > Hi Rajini,
> > >
> > > Just a quick question: What version of the Felix SCR Bundle are you
> > > using ?
> > >
> > > Is there anything special about your test case, like for example
> > > Multi-threadedness in some way or the other ?
> > >
> > > Thanks and Regards
> > > Felix
> > >
> > > Am Montag, den 20.08.2007, 15:18 +0100 schrieb Rajini Sivaram:
> > > > Hello,
> > > >
> > > > One of my testcases intermittently throws an exception during
> shutdown.
> > > I
> > > > have managed to recreate the exception under a debugger, and it
> shows
> > > two
> > > > threads trying to unregister the same service. The test fails only
> when
> > > > declarative services are used. I am using Felix 1.0.0. The test uses
> > > > multiple versions of a bundle, but I am not sure if that has
> anything to
> > > do
> > > > with the exception.
> > > >
> > > > The exception thrown is:
> > > >
> > > >     --- Exception with component : Unexpected problem executing task
> ---
> > > >     java.lang.IllegalStateException: Service already unregistered.
> > > >         at
> org.apache.felix.framework.ServiceRegistrationImpl.unregister
> > > (
> > > > ServiceRegistrationImpl.java:105)
> > > >         at
> > > >
> org.apache.felix.scr.AbstractComponentManager.unregisterComponentService
> > > (
> > > > AbstractComponentManager.java:503)
> > > >         at
> > > org.apache.felix.scr.AbstractComponentManager.deactivateInternal(
> > > > AbstractComponentManager.java:369)
> > > >         at org.apache.felix.scr.AbstractComponentManager.access$200(
> > > > AbstractComponentManager.java:55)
> > > >         at org.apache.felix.scr.AbstractComponentManager$3.run(
> > > > AbstractComponentManager.java:176)
> > > >         at org.apache.felix.scr.ComponentActorThread.run(
> > > > ComponentActorThread.java:81)
> > > >
> > > > Here is the stack trace of the two threads under the debugger (both
> are
> > > > using the same object):
> > > >
> > > >                 Thread [FelixStartLevel] (Suspended (breakpoint at
> line
> > > 97
> > > > in ServiceRegistrationImpl))
> > > >                         ServiceRegistrationImpl.unregister() line:
> 97
> > > >                         ServiceRegistry.unregisterServices(Bundle)
> line:
> > > 119
> > > >                         Felix._stopBundle(FelixBundle, boolean)
> line:
> > > 1946
> > > >                         Felix.stopBundle(FelixBundle, boolean) line:
> > > 1866
> > > >                         Felix.setFrameworkStartLevel(int) line: 1080
> > > >                         StartLevelImpl.run() line: 258
> > > >                         Thread.run() line: 803
> > > >                 Thread [SCR Component Actor] (Suspended (breakpoint
> at
> > > line
> > > > 97 in ServiceRegistrationImpl))
> > > >                         ServiceRegistrationImpl.unregister() line:
> 97
> > > >
> > > >
> > >
> ImmediateComponentManager(AbstractComponentManager).unregisterComponentService()
> > > > line: 503
> > > >
> > > >
> ImmediateComponentManager(AbstractComponentManager).deactivateInternal()
> > > > line: 369
> > > >
> > > > AbstractComponentManager.access$200(AbstractComponentManager)
> > > > line: 55
> > > >                         AbstractComponentManager$3.run() line: 176
> > > >                         ComponentActorThread.run() line: 81
> > > >
> > > >
> > > > The exception thrown is the IllegalStateException from
> > > >     public void unregister()
> > > >     {
> > > >         if (m_svcObj != null)
> > > >         {
> > > >             m_registry.unregisterService(m_bundle, this);
> > > >             m_svcObj = null;
> > > >             m_factory = null;
> > > >         }
> > > >         else
> > > >         {
> > > >            * throw new IllegalStateException("Service already
> > > > unregistered.");
> > > > *        }
> > > >     }
> > > >
> > > >
> > > >
> > > > Thank you...
> > > >
> > > > Regards,
> > > >
> > > > Rajini
> > >
> > >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message