PATCH: Handle the cross type of debugging (context & in-context) on same function at the same time - Mailing list pgadmin-hackers

From Ashesh Vashi
Subject PATCH: Handle the cross type of debugging (context & in-context) on same function at the same time
Date
Msg-id CAG7mmowBe=nSt5HUGqfeYnZySgWp5PhM7UrOG1Mzj_Fneab71A@mail.gmail.com
Whole thread Raw
Responses Re: PATCH: Handle the cross type of debugging (context & in-context) on same function at the same time  (Dave Page <dpage@pgadmin.org>)
List pgadmin-hackers
Hi Dave,

During testing of the debugger, our (EnterpriseDB's) QA found an issue.
Please found the scenario:

1. Start a global (in-context) debugging session on a function (by clicking on Debugging -> Set breakpoint)
2. And, then start the direct debugging session on the same function (by clicking on Debugging -> Debug)

As the global debugging session is already waiting for this function, the debugging will start in that environment.
Now - if we try to close the direct debugging session, pgAdmin will throw an error saying pldbg_abort_target() does not exist.

Because - the direct debugging session has not yet started, we do not have the session-id in that environment.
Hence, we need to inform only the execution connection to get terminated, and that resolved the issue.

But - other problem came up, when we once again close the direct debugging session. As we're already in the closing operation,
it once again try to close the execution connection, which is not write and this time the pgAdmin became unresponsive.

In order to resolve this problem, we need to introduce the flag to let know the debugger frame that we're already in process of stopping
the session.

Please find the patch, which will resolve this issue.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA:
Enterprise PostgreSQL Company

 

http://www.linkedin.com/in/asheshvashi

Attachment

pgadmin-hackers by date:

Previous
From: Dinesh Kumar
Date:
Subject: Re: pgAdmin Event Trigger Compatibility
Next
From: Ashesh Vashi
Date:
Subject: PATCH: Handling too many notices from the debugging function