[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] debug ouptut with new resolver



>
> I got the equinox download and unziped it over m3.  When I run I get
> reams of debug/scary looking output in the console.  Below is a
> random sampling.  Some comments:
>
> - this sort of output should only be given when asked for.  Users
> are generally freaked out but spew.  I did have -debug on and the
> org.eclipse.core.runtime/debug=true flag set but that should not
> trigger this level of output.


I'm working on getting a build published that fixes this.  In the
current build we have the debug flag on by default which caused the
huge amount of debug output.  The resolver has been updated to use
the eclipse trace support to enable the different trace messages from
the resolver.

>
> - there was alot (alot) of output the first time I ran (with -clean)
>

This is to be expected and will go away with the new trace options
disabled in the resolver.

> - there was some more output when I *exited* from that first run.  
> This surprised me since I did not expect any resolver activity at that time.
>


In Eclipse 3.0 the framework did not take advantage of the incremental resolve
capabilities of the State API.  Each time the state was asked to resolve the
framework would force it to do a full resolve.  This was because the State
API did not understand the removal pending notion of bundles.  In equinox
we have updated the State API to understand removal pending.  This has allowed
us to use incremental resolve and StateDelta which simplified the bundle
dependency code in the framework.

I put an extra resolve step at shutdown to force a full resolve if new bundles
are installed.  The reason I did was to mimic what we had in Eclipse 3.0 where
on restart we would get the resolve info from a fully resolved state because
that is what the framework always did in Eclipse 3.0.  We will have to
re-evaluate whether this is desired or required by the OSGi specification.

> - a reduced (though still considerable) spew was had when I ran the
> *second* time (without -clean and after a successful run).  This is
> quite unexpected.  The second run should not involve any resolution
> or other "work"

I was not able to reproduce this.  Could you startup eclipse with an
empty workspace to see if maybe it is output from PDE?
 
>
> - running a third time (after two successful runs) yielded a still
> smaller amount of spew.  This may have been related to PDE's use of
> the resolver as some of the bundles mentioned in the ouptut were
> definitely only in the workspace.  
>

I suspect it is.
 
> - Curious that the output should be different on the third run. I
> would have expected things to have settled down.
>
> - I thought that PDE was caching its info


I did not find any code in PDE that wrote the state information.

>
> - it would be good to distinguish between the framework uses of the
> resolver and other (PDE) uses.  In the past users have found that
> the errors logged as a result of ill-configured workspaces to be
> quite distracting as they appeared to be related to their dev
> environment.  I seem to remember that we did something like mark
> them as coming from PDE or some such.


I will have to look into this.  I do not remember seeing any code that
does this in Eclipse 3.0

The !ENTRY logs below are a result of passing -debug.  When you do this
Eclipse will log all the unresolved bundles.  In this case all the old
3.1 M3 bundles that have new equinox versions ended up not being resolved
because they are singletons.  I need some help on creating a proper feature
"patch" if that is the right term that will tell update to uninstall the old
versions of these plugins.  Can you help me with that Jeff?

>
> Jeff
>
> =========== sample output ==============
>
> !ENTRY org.eclipse.osgi 2004-11-16 21:50:06.355
> !MESSAGE Bundle update@/d:/3.1m3/eclipse/plugins/org.eclipse.core.
> runtime.compatibility_3.0.0/ [14] was not resolved.
> !SUBENTRY 1 org.eclipse.osgi 2004-11-16 21:50:06.355
> !MESSAGE Bundle <null> was picked instead.
>
> !ENTRY org.eclipse.osgi 2004-11-16 21:50:06.395
> !MESSAGE Bundle update@/d:/3.1m3/eclipse/plugins/org.eclipse.core.
> runtime_3.1.0/ [16] was not resolved.
> !SUBENTRY 1 org.eclipse.osgi 2004-11-16 21:50:06.395
> !MESSAGE Bundle <null> was picked instead.
>
> !ENTRY org.eclipse.osgi 2004-11-16 21:50:06.415
> !MESSAGE Bundle update@/d:/3.1m3/eclipse/plugins/org.eclipse.osgi_3.
> 1.0/ [44] was not resolved.
> !SUBENTRY 1 org.eclipse.osgi 2004-11-16 21:50:06.415
> !MESSAGE Bundle <null> was picked instead.
>
> !ENTRY org.eclipse.osgi 2004-11-16 21:50:06.425
> !MESSAGE Bundle update@/d:/3.1m3/eclipse/plugins/org.eclipse.pde.
> core_3.1.0/ [48] was not resolved.
> !SUBENTRY 1 org.eclipse.osgi 2004-11-16 21:50:06.425
> !MESSAGE Bundle <null> was picked instead.
>
> !ENTRY org.eclipse.osgi 2004-11-16 21:50:06.425
> !MESSAGE Bundle update@/d:/3.1m3/eclipse/plugins/org.eclipse.update.
> core_3.0.0/ [89] was not resolved.
> !SUBENTRY 1 org.eclipse.osgi 2004-11-16 21:50:06.425
> !MESSAGE Bundle <null> was picked instead.
> Starting application: 2063
> *** BEGIN ***
> ** RESOLVING [org.eclipse.core.expressions_3.1.0] **
> Trying to resolve: [org.eclipse.core.expressions_3.1.0], Require-
> Bundle: org.eclipse.core.runtime - version: 0.0.0
> CHECKING: org.eclipse.core.runtime_3.1.0
> Trying to resolve: [org.eclipse.core.runtime_3.1.0], Require-Bundle:
> org.eclipse.osgi - version: 0.0.0
> CHECKING: org.eclipse.osgi_3.1.0
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.osgi.util.tracker
> CHECKING: org.eclipse.osgi_3.1.0, org.osgi.util.tracker
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.osgi.framework
> CHECKING: org.eclipse.osgi_3.1.0, org.osgi.framework
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.osgi.service.packageadmin
> CHECKING: org.eclipse.osgi_3.1.0, org.osgi.service.packageadmin
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.osgi.service.permissionadmin
> CHECKING: org.eclipse.osgi_3.1.0, org.osgi.service.permissionadmin
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.osgi.service.url
> CHECKING: org.eclipse.osgi_3.1.0, org.osgi.service.url
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.osgi.service.startlevel
> CHECKING: org.eclipse.osgi_3.1.0, org.osgi.service.startlevel
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.eclipse.osgi.
> framework.eventmgr
> CHECKING: org.eclipse.osgi_3.1.0, org.eclipse.osgi.framework.eventmgr
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.eclipse.osgi.framework.msg
> CHECKING: org.eclipse.osgi_3.1.0, org.eclipse.osgi.framework.msg
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.eclipse.osgi.service.debug
> CHECKING: org.eclipse.osgi_3.1.0, org.eclipse.osgi.service.debug
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.eclipse.osgi.service.resolver
> CHECKING: org.eclipse.osgi_3.1.0, org.eclipse.osgi.service.resolver
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.eclipse.osgi.
> service.systembundle
> CHECKING: org.eclipse.osgi_3.1.0, org.eclipse.osgi.service.systembundle
> Trying to resolve: [org.eclipse.osgi_3.1.0], org.eclipse.osgi.util
> CHECKING: org.eclipse.osgi_3.1.0, org.eclipse.osgi.util
> [org.eclipse.osgi_3.1.0] RESOLVED
> Found match: org.eclipse.osgi_3.1.0. Wiring
> Trying to resolve: [org.eclipse.core.runtime_3.1.0], org.osgi.service.prefs
> CHECKING: org.eclipse.core.runtime_3.1.0, org.osgi.service.prefs
> Trying to resolve: [org.eclipse.core.runtime_3.1.0], org.eclipse.
> core.runtime.preferences
> CHECKING: org.eclipse.core.runtime_3.1.0, org.eclipse.core.runtime.preferences
> [org.eclipse.core.runtime_3.1.0] RESOLVED
> Found match: org.eclipse.core.runtime_3.1.0. Wiring
> [org.eclipse.core.expressions_3.1.0] RESOLVED
> ** RESOLVING [org.eclipse.core.runtime_3.1.0] **
>   - [org.eclipse.core.runtime_3.1.0] already resolved
> ** RESOLVING [org.eclipse.help_3.0.0] **
> Trying to resolve: [org.eclipse.help_3.0.0], Require-Bundle: org.
> eclipse.core.runtime - version: 0.0.0
> CHECKING: org.eclipse.core.runtime_3.1.0
> Found match: org.eclipse.core.runtime_3.1.0. Wiring
> [org.eclipse.help_3.0.0] RESOLVED
> ** RESOLVING [org.eclipse.jface_3.1.0] **
> Trying to resolve: [org.eclipse.jface_3.1.0], Require-Bundle: org.
> eclipse.swt - version: 0.0.0
> CHECKING: org.eclipse.swt_3.1.0
> [org.eclipse.swt_3.1.0] RESOLVED
> Found match: org.eclipse.swt_3.1.0. Wiring
> Trying to resolve: [org.eclipse.jface_3.1.0], Require-Bundle: org.
> eclipse.core.runtime - version: 0.0.0
> CHECKING: org.eclipse.core.runtime_3.1.0
> Found match: org.eclipse.core.runtime_3.1.0. Wiring
> [org.eclipse.jface_3.1.0] RESOLVED
> ** RESOLVING [org.eclipse.osgi_3.1.0] **
>   - [org.eclipse.osgi_3.1.0] already resolved