Rubberduck: Startup error in 2.1.0.2251 and 2253

Created on 28 Sep 2017  路  9Comments  路  Source: rubberduck-vba/Rubberduck

When opening the VBE I can see the startup windows with yellow rubber duck, but otherwise there are no observable features of RubberDuck. Version 2.1.0.2245 is working without troubles.

Same issue in both 2010 and 2016 versions of Excel, Access and Word (I have not tried anything else)

Log information:

2017-09-28 14:09:27.7455;FATAL-;Rubberduck._Extension;Startup sequence threw an unexpected exception.;Ninject.ActivationException: Error activating ConditionBlockToInspect
No matching bindings are available, and the type is not self-bindable.
Activation path:
  2) Injection of dependency ConditionBlockToInspect into parameter BlockToInspect of constructor of type EmptyConditionBlockInspection
  1) Request for IParseTreeInspection

Suggestions:
  1) Ensure that you have defined a binding for ConditionBlockToInspect.
  2) If the binding was defined in a module, ensure that the module has been loaded into the kernel.
  3) Ensure you have not accidentally created more than one kernel.
  4) If you are using constructor arguments, ensure that the parameter name matches the constructors parameter name.
  5) If you are using automatic module loading, ensure the search path and filters are correct.

   at Ninject.KernelBase.Resolve(IRequest request)
   at Ninject.Planning.Targets.Target`1.GetValue(Type service, IContext parent)
   at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
   at Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target)
   at Ninject.Activation.Providers.StandardProvider.<>c__DisplayClass4.<Create>b__2(ITarget target)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
   at Ninject.Activation.Context.ResolveInternal(Object scope)
   at Ninject.Activation.Context.Resolve()
   at Ninject.KernelBase.<>c__DisplayClass15.<Resolve>b__f(IBinding binding)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   at Ninject.ResolutionExtensions.Get(IResolutionRoot root, Type service, String name, IParameter[] parameters)
   at Rubberduck.Root.RubberduckModule.<>c__DisplayClass16_1.<BindCodeInspectionTypes>b__3(IContext c) in C:\projects\rubberduck\RetailCoder.VBE\Root\RubberduckModule.cs:line 315
   at Ninject.Activation.Providers.CallbackProvider`1.CreateInstance(IContext context)
   at Ninject.Activation.Provider`1.Create(IContext context)
   at Ninject.Activation.Context.ResolveInternal(Object scope)
   at Ninject.Activation.Context.Resolve()
   at Ninject.KernelBase.<>c__DisplayClass15.<Resolve>b__f(IBinding binding)
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.<CastIterator>d__94`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Rubberduck.Inspections.Rubberduck.Inspections.Inspector..ctor(IGeneralConfigService configService, IEnumerable`1 inspections)
   at DynamicInjectorf1ef2d6c8b6c419b8d7be08652795560(Object[] )
   at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
   at Ninject.Activation.Context.ResolveInternal(Object scope)
   at Ninject.Activation.Context.Resolve()
   at Ninject.KernelBase.<>c__DisplayClass15.<Resolve>b__f(IBinding binding)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at Ninject.Planning.Targets.Target`1.GetValue(Type service, IContext parent)
   at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
   at Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target)
   at Ninject.Activation.Providers.StandardProvider.<>c__DisplayClass4.<Create>b__2(ITarget target)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
   at Ninject.Activation.Context.ResolveInternal(Object scope)
   at Ninject.Activation.Context.Resolve()
   at Ninject.KernelBase.<>c__DisplayClass15.<Resolve>b__f(IBinding binding)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at Ninject.Planning.Targets.Target`1.GetValue(Type service, IContext parent)
   at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
   at Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target)
   at Ninject.Activation.Providers.StandardProvider.<>c__DisplayClass4.<Create>b__2(ITarget target)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
   at Ninject.Activation.Context.ResolveInternal(Object scope)
   at Ninject.Activation.Context.Resolve()
   at Ninject.KernelBase.<>c__DisplayClass15.<Resolve>b__f(IBinding binding)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at Ninject.Planning.Targets.Target`1.GetValue(Type service, IContext parent)
   at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
   at Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target)
   at Ninject.Activation.Providers.StandardProvider.<>c__DisplayClass4.<Create>b__2(ITarget target)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
   at Ninject.Activation.Context.ResolveInternal(Object scope)
   at Ninject.Activation.Context.Resolve()
   at Ninject.KernelBase.<>c__DisplayClass15.<Resolve>b__f(IBinding binding)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at Ninject.Planning.Targets.Target`1.GetValue(Type service, IContext parent)
   at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
   at Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target)
   at Ninject.Activation.Providers.StandardProvider.<>c__DisplayClass4.<Create>b__2(ITarget target)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
   at Ninject.Activation.Context.ResolveInternal(Object scope)
   at Ninject.Activation.Context.Resolve()
   at Ninject.KernelBase.<>c__DisplayClass15.<Resolve>b__f(IBinding binding)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at Ninject.Planning.Targets.Target`1.GetValue(Type service, IContext parent)
   at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
   at Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target)
   at Ninject.Activation.Providers.StandardProvider.<>c__DisplayClass4.<Create>b__2(ITarget target)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
   at Ninject.Activation.Context.ResolveInternal(Object scope)
   at Ninject.Activation.Context.Resolve()
   at Ninject.KernelBase.<>c__DisplayClass15.<Resolve>b__f(IBinding binding)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.<CastIterator>d__94`1.MoveNext()
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   at Ninject.ResolutionExtensions.Get[T](IResolutionRoot root, IParameter[] parameters)
   at Rubberduck.Root.RubberduckModule.GetRubberduckMenuItems() in C:\projects\rubberduck\RetailCoder.VBE\Root\RubberduckModule.cs:line 510
   at Rubberduck.Root.RubberduckModule.ConfigureRubberduckMenu() in C:\projects\rubberduck\RetailCoder.VBE\Root\RubberduckModule.cs:line 358
   at Rubberduck.Root.RubberduckModule.Load() in C:\projects\rubberduck\RetailCoder.VBE\Root\RubberduckModule.cs:line 169
   at Ninject.Modules.NinjectModule.OnLoad(IKernel kernel)
   at Ninject.KernelBase.Load(IEnumerable`1 m)
   at Rubberduck._Extension.Startup() in C:\projects\rubberduck\RetailCoder.VBE\Extension.cs:line 214

bug critical feature-inspection-quickfixes feature-inspections

All 9 comments

Ping @IvenBach . Pretty sure that this is on you, #3376

Code review fail: that constructor parameter completely doesn't belong there. Apologies.

The merge has been reverted, the new release shouldn't exhibit this problem anymore. Can you confirm @lkavicky ?

I get the same behaviour when I try with the latest version (v2.1.0.2284-pre)

@tomhumphrey question: are you uninstalling the previous version from control panel > add/remove programs? Does the splash screen and/or about box say v2.1.0.2284?

If an older version# is showing and a newer install overwrite the files but left the registry keys in place, you'll have to repair your installation by re-running the old installers and performing a clean uninstall for each registered version.

And we might need to tweak the installer script to uninstall a previous version (not sure it does that).

It was a clean install. Tried to install it twice. Once selecting 'Don't install Menu button' and once with. Same behaviour in both. Both times was a fresh install. I uninstalled using Programs and Features in Control Panel, and then manually cleaned up the left over folder in /ProgramData/RubberDuck

If you're still getting the exact same error, then you have an old Rubberduck.Inspections.dll somewhere. Perhaps the library was in use when the installer tried to remove it? If the contents of `%programdata\rubberduck% wasn't removed on uninstall, it's possible you had an EXCEL.EXE (or other VBA host) process in Task Manager that prevented the deletion (just ran into that exact problem myself trying to replicate the error).

Please confirm the following:

  • About box is showing version 2.1.0.2287
  • Exception at startup is exactly as above (ActivationException resolving ConditionBlockToInspect the constructor parameter of EmptyConditionBlockInspection following a request for IParseTreeInspection)

I hereby confirm that build 2.1.0.2287 does not have that problem.

Also, ref. #3411.

Can confirm this works with latest version (v2.1.0.2289-pre)

2.1.0.2294 not having the problem. Thanks for fixing!
Sorry for late reply.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

SteGriff picture SteGriff  路  3Comments

bclothier picture bclothier  路  3Comments

susnick picture susnick  路  3Comments

eteichm picture eteichm  路  4Comments

connerk picture connerk  路  3Comments