Code Monkey home page Code Monkey logo

Comments (7)

alpencolt avatar alpencolt commented on June 9, 2024 1

@boost1231 thank you for report, looks like something wrong with async finite state machine. We'll check it.

from netcoredbg.

gbalykov avatar gbalykov commented on June 9, 2024 1

@noam-sol we'll try to make new release the next week

from netcoredbg.

boost1231 avatar boost1231 commented on June 9, 2024

Just checking to see if this has been worked on.

from netcoredbg.

gbalykov avatar gbalykov commented on June 9, 2024

We didn't have time to look at this yet. Does it still reproduce on the latest release?

from netcoredbg.

viewizard avatar viewizard commented on June 9, 2024

@gbalykov bug still here, just checked it (-_-).
@boost1231 sorry for the delay, we have a huge amount of work now. Here is the patch, will be in next release in public repo:

From 5d14ea8e30661ecbc3635d8f045ddf1da4074152 Mon Sep 17 00:00:00 2001
From: Mikhail Kurinnoi <[email protected]>
Date: Sun, 9 Apr 2023 15:56:42 +0300
Subject: [PATCH] Fix async stepping for Task<TResult>.

---
 src/debugger/stepper_async.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/debugger/stepper_async.cpp b/src/debugger/stepper_async.cpp
index ef8f0f4..580f5ce 100644
--- a/src/debugger/stepper_async.cpp
+++ b/src/debugger/stepper_async.cpp
@@ -151,7 +151,8 @@ static HRESULT GetAsyncIdReference(ICorDebugThread *pThread, ICorDebugFrame *pFr
     // Call 'ObjectIdForDebugger' property getter.
     ToRelease<ICorDebugFunction> pFunc;
     IfFailRet(pModule->GetFunctionFromToken(mdObjectIdForDebuggerGetter, &pFunc));
-    IfFailRet(pEvalHelpers->EvalFunction(pThread, pFunc, nullptr, 0, pValue.GetRef(), 1, ppValueAsyncIdRef, defaultEvalFlags));
+    // Note, builder (`this` value) could be generic type - Task<TResult>, type must be provided too.
+    IfFailRet(pEvalHelpers->EvalFunction(pThread, pFunc, pType.GetRef(), 1, pValue.GetRef(), 1, ppValueAsyncIdRef, defaultEvalFlags));
 
     return S_OK;
 }
@@ -230,7 +231,8 @@ static HRESULT SetNotificationForWaitCompletion(ICorDebugThread *pThread, ICorDe
     IfFailRet(pModule->GetFunctionFromToken(setNotifDef, &pFunc));
 
     ICorDebugValue *ppArgsValue[] = {pBuilderValue, pNewBoolean};
-    IfFailRet(pEvalHelpers->EvalFunction(pThread, pFunc, nullptr, 0, ppArgsValue, 2, nullptr, defaultEvalFlags));
+    // Note, builder (`this` value) could be generic type - Task<TResult>, type must be provided too.
+    IfFailRet(pEvalHelpers->EvalFunction(pThread, pFunc, pType.GetRef(), 1, ppArgsValue, 2, nullptr, defaultEvalFlags));
 
     return S_OK;
 }
-- 
2.25.1

from netcoredbg.

noam-sol avatar noam-sol commented on June 9, 2024

Thanks @viewizard ! we have come across this bug and this patch seems to solve it. Do you know when the next version with the fix comes out?

from netcoredbg.

gbalykov avatar gbalykov commented on June 9, 2024

This should be fixed in latest release. Feel free to reopen if you see any more related issues.

from netcoredbg.

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.