IFRCGo / cbs

Red Cross: Community-Based Surveillance
https://cbsrc.org/
Other
101 stars 110 forks source link

All backends failing with due to exception in doLittle.Assemblies.ICanProvideAssemblies #532

Closed karolikl closed 6 years ago

karolikl commented 6 years ago

All backends running in our dev cluster are currently failing with the following exception:

Application startup exception: Autofac.Core.DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = CommittedEventStreamCoordinator (ReflectionActivator), Services = [doLittle.Runtime.Events.Coordination.ICommittedEventStreamCoordinator], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = EventProcessors (ReflectionActivator), Services = [doLittle.Runtime.Events.Processing.IEventProcessors], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = ApplicationResources (ReflectionActivator), Services = [doLittle.Runtime.Applications.ApplicationResources, doLittle.Runtime.Applications.IApplicationResources], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = ApplicationResourceTypes (ReflectionActivator), Services = [doLittle.Runtime.Applications.ApplicationResourceTypes, doLittle.Runtime.Applications.IApplicationResourceTypes], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = InstancesOf1 (ReflectionActivator), Services = [doLittle.Types.IInstancesOf1[[doLittle.Runtime.Applications.IApplicationResourceType, doLittle.Runtime.Applications, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]]], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = TypeFinder (ReflectionActivator), Services = [doLittle.Types.TypeFinder, doLittle.Types.ITypeFinder], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = Assemblies (ReflectionActivator), Services = [doLittle.Assemblies.Assemblies, doLittle.Assemblies.IAssemblies], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = AssemblyProvider (ReflectionActivator), Services = [doLittle.Assemblies.AssemblyProvider, doLittle.Assemblies.IAssemblyProvider], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An exception was thrown while invoking the constructor 'Void .ctor(System.Collections.Generic.IEnumerable`1[doLittle.Assemblies.ICanProvideAssemblies], doLittle.Assemblies.IAssemblyFilters, doLittle.Assemblies.IAssemblyUtility, doLittle.Assemblies.IAssemblySpecifiers)' on type 'AssemblyProvider'. ---> Could not load file or assembly 'Web.PrecompiledViews, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

einari commented 6 years ago

Interesting. I notice that it is looking for a Web.PrecompiledViewsassembly. Are we doing something on build for precompiling razor pages? That sounds wrong if so - don't think we're supposed to be doing MVC + Razor Views.

Tips on reproduction locally?

karolikl commented 6 years ago

You should be able to reproduce locally if you pull and run one of the following images: karolikl/cbs-vr-backend:1488 karolikl/cbs-admin-backend:1489 karolikl/cbs-usermgmt-backend:1490

Building and running the backends locally (not in a container) works fine though.

We should definitely not use MVC + Razor. I've search the entire repo for "Razor", "ViewCompilation" and "PrecompiledViews" without any results.

einari commented 6 years ago

My hopeful fix did not fix it. I think I have a way of reproducing it locally now - was going to deploy SmsEagle endpoint and got the same error.

karolikl commented 6 years ago

Changes are currently not being deployed to the dev environment automatically (as we're in the process of moving away from vsts). So the changes haven't been deployed yet. I can trigger a deployment now to see if it helps.

karolikl commented 6 years ago

Update: Will have to update the pods later on today. Will post a comment here when done.

karolikl commented 6 years ago

@einari, we pushed a new version last night, but the backends are still failing with the same errors.

einari commented 6 years ago

Yup. Was expecting that to fail. Didn't have time yesterday to fix it - hoping later today / tonight. I have the fix in my head - just needs to be done and tested.

einari commented 6 years ago

Fascinating... Different error - in fact, no error - no nothing. It just doesn't start properly. Investigating.

einari commented 6 years ago

Located and completely makes sense.. My bad; with the new inter bounded context communication system, it tries to hook up for a topic that it is expecting from an environment variable passed into the container.

Well.. I have that - but since it is not something that is set as a requirement, it is not included in the deployment. Weird enough though, it works in development but inside a container it just dies without any message. Found, reproduced, fixed.. PR coming.

Velcrow81 commented 6 years ago

We look forward to the PR šŸ˜Š

karolikl commented 6 years ago

Deployed, and it works!! šŸ„‡