This is probably the valid explanation:
http://www.mailinglistarchive.com/html/derby-...@db.apache.org/2009-12/msg00072.html

<http://www.mailinglistarchive.com/html/derby-...@db.apache.org/2009-12/msg00072.html>
"In fact, I believe the bytecode

spec changed between 1.4 and 1.5. dx's warning is basically saying that
1.4-based code that uses inner classes doesn't provide enough information for a
1.5 runtime to faithfully report about them via reflection. Rather than try to
halfway reconstruct the reflection info in such cases, dx just gives up and
ignores inner classes info entirely. If your code doesn't make reflection calls
to look at inner class stuff, then none of this makes any difference."


Toni

2010/5/4 Karl Pauls <karlpa...@gmail.com>

> we compile for 1.4 by default.
>
> regards,
>
> Karl
>
> 2010/5/4 Toni Menzel <t...@okidokiteam.com>:
> > then there are at least two broken compilers out in the wild
> > ;)
> >
> > 2010/5/4 Justin Edelson <justinedel...@gmail.com>
> >
> >> According to the manifest, Carsten, not Karl, built EventAdmin 1.2.2.
> >>
> >> On 5/4/10 11:49 AM, Toni Menzel wrote:
> >> > But i realized i the warnings just appear when using the stock felix
> >> > 2.0.5 (and other bundles like event admin).
> >> > Self built stuff works just fine.
> >> >
> >> > So Karl, what do you use to build the released artifacts ?
> >> >
> >> >
> >> > On Tue, May 4, 2010 at 5:27 PM, Justin Edelson <
> justinedel...@gmail.com
> >> > <mailto:justinedel...@gmail.com>> wrote:
> >> >
> >> >     On 5/4/10 10:25 AM, Richard S. Hall wrote:
> >> >     > On 5/4/10 10:19, Jackson, Bruce wrote:
> >> >     >> Yes, that's easier said than done!
> >> >     >> I seem to remember that the was no single place where you could
> >> >     set the
> >> >     >> compiler version to use for building Felix. Is that correct?
> >> >     >>
> >> >     >
> >> >     > You should just be able to edit the Event Admin pom.xml file to
> >> >     include
> >> >     > this in its plugins section, no?
> >> >     >
> >> >     > -> richard
> >> >     You can actually do it from the command line:
> >> >
> >> >     mvn package -Dmaven.compiler.compilerVersion=1.4
> >> >     -Dmaven.compiler.executable=[path to javac]
> >> -Dmaven.compiler.fork=true
> >> >     -Dmaven.compiler.verbose=true
> >> >
> >> >     See
> >> >
> >>
> http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#compilerVersion
> >> >
> >> >     Justin
> >> >
> >> >
> >> >     >
> >> >     >>
> >> >     >> On 04/05/2010 12:54, "Karl Pauls"<karlpa...@gmail.com
> >> >     <mailto:karlpa...@gmail.com>>  wrote:
> >> >     >>
> >> >     >>
> >> >     >>> And like before, make sure you don't have other messages like
> >> "class
> >> >     >>> resolved by unexpected dex" in the log ...
> >> >     >>>
> >> >     >>> regards,
> >> >     >>>
> >> >     >>> Karl
> >> >     >>>
> >> >     >>> On Tue, May 4, 2010 at 1:33 PM, Karl Pauls<
> karlpa...@gmail.com
> >> >     <mailto:karlpa...@gmail.com>>  wrote:
> >> >     >>>
> >> >     >>>> Well, this should be easy enough to test, right? Just
> >> >     re-compile the
> >> >     >>>> eventadmin and see whether that fixes the issue or not - if
> it
> >> >     does,
> >> >     >>>> that would be really useful to know :-)
> >> >     >>>>
> >> >     >>>> regards,
> >> >     >>>>
> >> >     >>>> Karl
> >> >     >>>>
> >> >     >>>> On Tue, May 4, 2010 at 1:23 PM, Jackson,
> >> >     Bruce<bru...@qualcomm.com <mailto:bru...@qualcomm.com>>
> >> >     >>>> wrote:
> >> >     >>>>
> >> >     >>>>> Hi All
> >> >     >>>>>
> >> >     >>>>> Some time back, we had a discussion about the default
> compiler
> >> >     >>>>> version used
> >> >     >>>>> to build Felix, and whether this was compatible with the
> >> >     >>>>> requirements of
> >> >     >>>>> Android.
> >> >     >>>>>
> >> >     >>>>> I noted that when you dx the bundle jars produced by the
> >> >     regular Felix
> >> >     >>>>> build, you get a whole collection of warning of the the
> form:
> >> >     >>>>>
> >> >     >>>>> $ dx --dex --output=classes.dex
> >> >     org.apache.felix.eventadmin-1.2.2.jar
> >> >     >>>>> warning: Ignoring InnerClasses attribute for an anonymous
> inner
> >> >     >>>>> class that
> >> >     >>>>> doesn't come with an associated EnclosingMethod attribute.
> >> (This
> >> >     >>>>> class was
> >> >     >>>>> probably produced by a broken compiler.)
> >> >     >>>>>
> >> >     >>>>> ...for example. We debated this, and decided that these were
> >> just
> >> >     >>>>> warning
> >> >     >>>>> and not a real problem. However, now that I have a working
> >> Felix
> >> >     >>>>> framework
> >> >     >>>>> on Android, I find that when I load and start the EventAdmin
> >> >     >>>>> bundle, I find
> >> >     >>>>> that it fails to start with the following message in the
> log:
> >> >     >>>>>
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):
> >> >     >>>>> org.osgi.framework.BundleException: Activator start error in
> >> >     bundle
> >> >     >>>>> org.apache.felix.eventadmin [5].
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> org.apache.felix.framework.Felix.activateBundle(Felix.java:1807)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> org.apache.felix.framework.Felix.startBundle(Felix.java:1682)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> >>
> com.skifta.android.client.SkiftaService.startOSGi(SkiftaService.java:437)
> >> >     >>>>>
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> com.skifta.android.client.SkiftaService.init(SkiftaService.java:174)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> >> com.skifta.android.client.SkiftaService.onCreate(SkiftaService.java:166)
> >> >     >>>>>
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> >> android.app.ActivityThread.handleCreateService(ActivityThread.java:2894)
> >> >     >>>>>
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> android.app.ActivityThread.access$3200(ActivityThread.java:126)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> android.app.ActivityThread$H.handleMessage(ActivityThread.java:1986)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>> android.os.Handler.dispatchMessage(Handler.java:99)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>> android.os.Looper.loop(Looper.java:123)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>> android.app.ActivityThread.main(ActivityThread.java:4595)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>> java.lang.reflect.Method.invokeNative(Native Method)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>> java.lang.reflect.Method.invoke(Method.java:521)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> >>
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:8
> >> >     >>>>>
> >> >     >>>>> 60)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>> dalvik.system.NativeStart.main(Native Method)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682): Caused by:
> >> >     >>>>> java.lang.NoClassDefFoundError:
> >> >     >>>>>
> >> >
> org.apache.felix.eventadmin.impl.handler.BlacklistingHandlerTasks$1
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> >>
> org.apache.felix.eventadmin.impl.handler.BlacklistingHandlerTasks.<init>(Bla
> >> >     >>>>>
> >> >     >>>>> cklistingHandlerTasks.java:223)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> >>
> org.apache.felix.eventadmin.impl.Configuration.start(Configuration.java:293)
> >> >     >>>>>
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >     >>>>>
> >> >     >>
> >> >
> >>
> org.apache.felix.eventadmin.impl.Configuration.<init>(Configuration.java:152>>>
> >> >     >>
> >> >     >> )
> >> >     >>
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> org.apache.felix.eventadmin.impl.Activator.start(Activator.java:65)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> >
> >>
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.jav
> >> >     >>>>>
> >> >     >>>>> a:661)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     at
> >> >     >>>>>
> >> org.apache.felix.framework.Felix.activateBundle(Felix.java:1760)
> >> >     >>>>> 05-04 12:01:26.853: WARN/System.err(4682):     ... 17 more
> >> >     >>>>>
> >> >     >>>>> Looking at the class in question
> (BlacklistingHandlerTasks:223)
> >> I
> >> >     >>>>> see that
> >> >     >>>>> this is a use of an anonymous inner class:
> >> >     >>>>>
> >> >     >>>>> private final EventHandler m_nullEventHandler = new
> >> EventHandler()
> >> >     >>>>>     {
> >> >     >>>>>         /**
> >> >     >>>>>          * This is a null object that is supposed to do
> nothing
> >> at
> >> >     >>>>> this
> >> >     >>>>> point.
> >> >     >>>>>          *
> >> >     >>>>>          * @param event an event that is not used
> >> >     >>>>>          */
> >> >     >>>>>        public void handleEvent(final Event event)
> >> >     >>>>>         {
> >> >     >>>>>             // This is a null object that is supposed to do
> >> >     nothing
> >> >     >>>>> at this
> >> >     >>>>>            // point. This is used once a EventHandler is
> >> requested
> >> >     >>>>> for a
> >> >     >>>>>            // servicereference that is either stale (i.e.,
> >> >     >>>>> unregistered) or
> >> >     >>>>>            // blacklisted.
> >> >     >>>>>        }
> >> >     >>>>>     };
> >> >     >>>>>
> >> >     >>>>> Is this an example of the problem we were discussing a
> couple
> >> of
> >> >     >>>>> weeks ago,
> >> >     >>>>> where dx canšt produce correct copde because the compiler
> >> version
> >> >     >>>>> that was
> >> >     >>>>> used to create the bundle was pre-1.5 do you think?
> >> >     >>>>>
> >> >     >>>>> Thanks
> >> >     >>>>>
> >> >     >>>>> Bruce
> >> >     >>>>>
> >> >     >>>>>
> >> >     >>>>
> >> >     >>>>
> >> >     >>>> --
> >> >     >>>> Karl Pauls
> >> >     >>>> karlpa...@gmail.com <mailto:karlpa...@gmail.com>
> >> >     >>>>
> >> >     >>>>
> >> >     >>>
> >> >     >>>
> >> >     >>
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > Toni Menzel
> >> > Independent Software Developer
> >> > Professional Profile: http://okidokiteam.com
> >> > t...@okidokiteam.com <mailto:t...@okidokiteam.com>
> >> > http://www.ops4j.org     - New Energy for OSS Communities - Open
> >> > Participation Software.
> >> >
> >>
> >>
> >
> >
> > --
> > Toni Menzel
> > Independent Software Developer
> > Professional Profile: http://okidokiteam.com
> > t...@okidokiteam.com
> > http://www.ops4j.org     - New Energy for OSS Communities - Open
> > Participation Software.
> >
>
>
>
> --
> Karl Pauls
> karlpa...@gmail.com
>



-- 
Toni Menzel
Independent Software Developer
Professional Profile: http://okidokiteam.com
t...@okidokiteam.com
http://www.ops4j.org     - New Energy for OSS Communities - Open
Participation Software.

Reply via email to