Coder Social home page Coder Social logo

Comments (8)

remogloor avatar remogloor commented on July 26, 2024

This exception can happen if you are configuring the kernel and at the same time resolving instances.

You should configure the kernel first and once you start to resolve instances the configuration shouldn't be touched anymore. Otherwise the result is unpredictable anyway.

from ninject.extensions.interception.

giulianob avatar giulianob commented on July 26, 2024

I'm fairly sure I am not configuring the kernel after the initial creation. I have a multithreaded application but the kernel is created once before I start launching other threads or doing anything that should cause any of these issues. I'm using an attribute for interception and the problem always happens on a call that would use interception, could that cause any of these issues?

from ninject.extensions.interception.

chillitom avatar chillitom commented on July 26, 2024

Can you post some code?

from ninject.extensions.interception.

giulianob avatar giulianob commented on July 26, 2024

I don't know where to start.. It doesn't happen all the time so let me reproduce it and try to gather as much info as I can.

from ninject.extensions.interception.

chillitom avatar chillitom commented on July 26, 2024

It sounds like what Remo said, are you sure you aren't making any bindings or loading any modules/components/extensions after the initial configuration of the kernel. You could set a few breakpoints to confirm this.

We're using interception 2.2 in anger with attributes and don't see these problems.

from ninject.extensions.interception.

giulianob avatar giulianob commented on July 26, 2024

One of the first things my Main does is load the kernel then I don't touch the Kernel anymore for configuration. I also have it set to not auto load anything and I specify which modules to load. Here's a s/s of the time of the crash with the threads: http://dl.dropbox.com/u/7476/interception%20crash.png

A few notes about what I'm doing with interception

  1. The Lock() method there in the s/s has an interception attribute
  2. The dispose method also has an interception attribute
  3. The lock method does a "return this" which would leak the original object and not the proxy object. Therefore I also have an attribute that changes the returns the proxy if the function is returning the normal object.

I am doing a lot of Get() as I mentioned before and you can see that multiple threads are resolving when the crash occurs. I am doing this until I have everything properly injected.

from ninject.extensions.interception.

remogloor avatar remogloor commented on July 26, 2024

I added this to the backlog to be investigated. It will take some days because other things are currently in process that need to be finished first.

from ninject.extensions.interception.

remogloor avatar remogloor commented on July 26, 2024

Fixed

from ninject.extensions.interception.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.