-
Notifications
You must be signed in to change notification settings - Fork 471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Random VerificationException/TypeLoadException #648
Comments
This might be really difficult, if not impossible, to figure out, especially without a minimally complete and verifiable code example for reproduction.
Where does |
@stakx thanks a lot for the answer! That's true, this looks like a challenge! Interestingly enough, If there would be a bug I would expect the exception to be thrown quite consistently and stopping the "fault" container and stating a new one would not fix the issue, or? It seems that there is something wrong going on at startup somehow. As mentioned previously, we will try to figure out more, but in the meanwhile, I thought of posting it here. Maybe nothing is wrong in Castle.Core and Autofac is doing something out of our control? To be figured out. |
Similar issue here: FakeItEasy/FakeItEasy#1910 (comment) So far I managed to see the pattern in failing. When it fails, the method definition of the generated type looks different from the interface. |
Hi @stakx
public interface IProfile
{
string Code { get; set; }
}
public class FeeProfile : IProfile
{
public string Code { get; set; }
}
public class AssignProfileRequest
{
public virtual string AccountNo { get; set; }
public virtual string ProfileCode { get; set; }
}
public interface IProfileMapService
{
void AssingProfile<T>(AssignProfileRequest assignProfileRequest) where T : IProfile;
}
public class ProfileMapService : IProfileMapService
{
public void AssingProfile<T>(AssignProfileRequest assignProfileRequest) where T : IProfile
{
//Query type T entity, assign profile to member
}
} |
@gokhanabatay – same in your case, without a minimally complete and verifiable code example that actually reproduces the exception, there's not much we can do. |
We have a .NET 6 application exposing APIs and we are building dynamic proxies around all controllers and also around almost all services. Everything works fine, but we experience some issues when we deploy our application to production. The application is containerized and during deployment, which stops some old containers and starts new containers progressively, it randomly throws the following exception for some random methods:
The thing is that this doesn't happen all the time and it never happens locally or on our CI. Recently, this is happening very frequently, almost at every deployment, which is quite frequent. The thing that is changing in this regard might be the number of requests our APIs receive, which is constantly increasing.
To give some more details, here's the definition of the interface
IEntityResolver
:Apparently, there's nothing wrong with the definition of the interfaces and their usages since stopping the container throwing the exceptions and starting a new one works most of the time. Also, such methods are used very frequently in our application from all containers.
I've been thinking to catch this exception and add some more info to the logs, but I'm not sure if we would be able to get something useful out of them.
In the meanwhile, does anyone have any ideas on how to track this down? Does anyone else experience this? Does anyone have an idea what could be the issue?
The text was updated successfully, but these errors were encountered: