Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-debug-dev] CRegister deadlock

Please, file a bug.

----- Original Message ----- 
From: "Alexiev, Dobrin" <dalexiev@xxxxxx>
To: "CDT Debug developers list" <cdt-debug-dev@xxxxxxxxxxx>
Cc: "Belyavsky, Baltasar" <bbelyavsky@xxxxxx>; "Chuong, Patrick"
<pchuong@xxxxxx>
Sent: Friday, October 21, 2005 2:38 PM
Subject: [cdt-debug-dev] CRegister deadlock


> Hi Mikhail,
> I am implementing CDT debugger and I stumbled on a deadlock.
> The deadlock happens when I open the register view and step few times.
>
> The deadlock happens when the GUI update thread calls
> synchronized CRegister.InternalVariable.getValue()
> that calls my debugger implementation of
> ICDIRegister.getValue(ICDIStackFrame context).
>
> At that very moment my target fires
> ResumeEvent and during that event
> synchronized CRegister.InternalVariable.setChanged
> tries to enter the method but cannot. The other thread has already
> acquired the lock on the CRegister.InternalVariable object.
>
> If I remove one of the two synchronized in front of one of the methods I
> don't have the deadlock anymore. Of course that is not a fix.
>
> Can you confirm that this is a valid use case and the problem should be
> fixed on the CDT side? I suppose there is no restriction on the debugger
> implementation not to fire events during any API calls.
> If so, I'll file a bug.
>
> Regards
> Dobrin
> _______________________________________________
> cdt-debug-dev mailing list
> cdt-debug-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev



Back to the top