Giter Site home page Giter Site logo

Comments (5)

wokhan avatar wokhan commented on June 14, 2024

Hi @UltimateEvil, thank you for this report, I'll have a look asap (indeed it's easy to reproduce!).

from wfn.

wokhan avatar wokhan commented on June 14, 2024

At least one reason was that a property of the EventReader was still bound when disposing the object (the "NewMatchingEntriesCount" one). I get way less issues now (will commit that in a few minutes).
I also changed the gridLog source to a regular XAML binding.

Btw, I got a lot of ExecutionEngineException today (it even froze my VS instance until killed, blocking the debugger I guess), I didn't before so something clearly changed (on .NET side or mine) and WFN doesn't like that...
I changed the way I asynchronously set values (using direct memory access through my Wokhan.Core library) so I guess it might all come from there.

I'm not closing this issue for now, I'll wait for your feedback first.

Note: I wrongly included issue #154 in the commit comment, but commit 5867959 is the one concerned by this comment. Binaries should be ready now.

from wfn.

wokhan avatar wokhan commented on June 14, 2024

Confirmed: I updated the GetOrSetValueAsync extension method to use Unsafe methods (to manipulate backing field directly without reflection) and it proved unstable. I'm rolling back. Performance might get a hit though... (will work on that later, stability is way more important here).

from wfn.

UltimateEvil avatar UltimateEvil commented on June 14, 2024

Thanks for the fast response.

Tested while building the latest version of the master branch as of now.

Some ExecutionEngineException have been popping up for me as well. Though I was not able to pin them down to anything specific, so I did not end up amking an issue out of it. Instead reporting the parts which could actually be fixed without voodoo magic.

This did fix a part of the issue. Though now in random intervals - also can be kind of reproduced by refreshing a lot -

Somehow EventLogAsyncReader's property eventLog is null when it is accessed. Any chance Dispose() suld be called before all async events are finished handling?

When I change the dispose() method to not set eventLog to null, I instead end up with the
System.ObjectDisposedException: Cannot access a disposed object. ObjectDisposed_ObjectName_Name exception.

Just feels like we are attempting to destroy the object before references to it are droped in all threads.

from wfn.

wokhan avatar wokhan commented on June 14, 2024

I guess you're absolutely right 🙄 Looking into it.

Update: still not fixed, as I've been working on other issues. But preventing the refresh to occur when it's already processing somehow should help (as would stopping the "anticipated" object disposal / null setter you mentioned).

from wfn.

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.