Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Triangulate pydev autocomplete bug #7850

Closed
1 task
ThomasLohnert opened this issue Jun 21, 2023 · 8 comments
Closed
1 task

Triangulate pydev autocomplete bug #7850

ThomasLohnert opened this issue Jun 21, 2023 · 8 comments
Assignees
Labels
1 no_release_notes Tickets that do not need release notes, use sparingly! training

Comments

@ThomasLohnert
Copy link
Contributor

ThomasLohnert commented Jun 21, 2023

As a person using IBEX scripting, I would like to be able to make use of the autocomplete function in the client embedded pydev console. At the moment we have disabled autocomplete in absence of a proper fix to #7604. As a preparatory step for implementing a fix, we should investigate at what point this bug was introduced. We should be able to do this by running older releases of the client and checking whether the behaviour is present. This will hopefully allow us to narrow down the source of the bug, or confirm it has been there all along.

Acceptance Criteria

What is the acceptance criteria?

  • We know which version of pydev introduced the autocomplete bug described in the linked issue above.

Extra Information

To reproduce the bug, define a function in the client script console e.g.

def test():
    print("hi")

then type test(). to trigger autocompletion. If the bug is present, it will print "hi" in a tight loop.

How to Test

verbose instructions for reviewer to test changes
(Add before making a PR)

@ThomasLohnert ThomasLohnert added this to Ready in IBEX Project Board via automation Jun 21, 2023
@NikolaRoev NikolaRoev self-assigned this Jun 22, 2023
@NikolaRoev NikolaRoev moved this from Ready to In Progress in IBEX Project Board Jun 22, 2023
@NikolaRoev NikolaRoev added 1 no_release_notes Tickets that do not need release notes, use sparingly! labels Jun 22, 2023
@NikolaRoev NikolaRoev added this to the SPRINT_2023_06_08 milestone Jun 22, 2023
@NikolaRoev
Copy link

NikolaRoev commented Jun 22, 2023

Release 5.0.0 with pydev 5.2.0*: Bug behaviour reproduced, but just a single execution of the function, not continuous.
Release 6.0.0 with pydev 5.9.2: Bug behaviour reproduced.
Release 7.1.0 with pydev 7.5.0: Bug behaviour reproduced.

We can probably assume that the bug was not introduced by a dependency update of pydev.

*Seems to be 6.3.1 in release notes.

@NikolaRoev NikolaRoev moved this from In Progress to Review in IBEX Project Board Jun 22, 2023
@FreddieAkeroyd
Copy link
Member

Hi,

I believe release 5.0.0 used pydev 5.2.0 so just to confirm: did you check 5.0.0 with both its original and an upgraded pydev 6.3.1 ?

@NikolaRoev
Copy link

I just went by what the release notes said https://github.com/ISISComputingGroup/IBEX/blob/master/release_notes/Release-Notes-v5.0.0.md, but you are correct. Double checking the share, IBEX release 5.0.0 has pydev 5.2.0.201608171824.

@FreddieAkeroyd
Copy link
Member

FreddieAkeroyd commented Jun 23, 2023

So it is either:

  • something we changed between 5.0.0 and 6.0.0
  • something that changed in pydev between 5.2.0 and 5.9.2
  • some thing that changed in a dependency of eitehr us or pydev that indirectly causes the issue

To narrow further we would need to try release 5.0.0 with pydev 5.9.2 and release 6.0.0 with pydev 5.2.0 to confirm if it is a gui, pydev, or both issue

@FreddieAkeroyd
Copy link
Member

though given the number of files changed between gui 5.0.0 and 6.0.0 we may want to narrow it down a bit more with the other 5.* gui versions

@NikolaRoev
Copy link

Should have probably been clearer, the bug still happens but it just executes once and the autocomplete UI opens and closes quickly. I am assuming that the slightly different behavior is due to IBEX code.

@FreddieAkeroyd
Copy link
Member

I installed pvdev into a standalone eclipse, the behaviour is definitely there. I noted that:

  • in editor view autocomplete doesn't run the function
  • in the pydev console it does run the function

It may be possible to fix by looking through https://github.com/ISISComputingGroup/Pydev/tree/master/plugins/org.python.pydev.ast/src/org/python/pydev/ast/codecompletion and/or posting a bug report to pydev

@FreddieAkeroyd
Copy link
Member

FreddieAkeroyd commented Jul 3, 2023

It looks like the issue has been there for a while, I am not sure how much further back we can check as it gets harder with older versions. Given it doesn't show in editor view in PyDev itself might explain why it hasn't been noticed/fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 no_release_notes Tickets that do not need release notes, use sparingly! training
Projects
None yet
Development

No branches or pull requests

3 participants