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

develop: multiple flightpath dockingwidget updates only local new flighpathes #2269

Open
ReimarBauer opened this issue Mar 6, 2024 · 10 comments · May be fixed by #2313 or #2358
Open

develop: multiple flightpath dockingwidget updates only local new flighpathes #2269

ReimarBauer opened this issue Mar 6, 2024 · 10 comments · May be fixed by #2313 or #2358
Milestone

Comments

@ReimarBauer
Copy link
Member

When starting with local fligtpathes and the multiple flightpath dockingwidget a traceback occures when you then login.
Also the new operation is not shown.

problem

@ReimarBauer ReimarBauer added this to the 9.0.0 milestone Mar 6, 2024
@rohit2p
Copy link
Contributor

rohit2p commented Mar 8, 2024

So, I tried debugging the errors I've been encountering while switching between operations.

I was able to consistently reproduce the errors (e.g., KeyError: 10, AttributeError: 'NoneType' object has no attribute 'all_waypoint_data', WARNING: Failed to load XML content for op_id: 9) by creating or deleting operations, followed by attempting to switch operations. Sometimes the error does occurs but sometimes if i do sometime differently it doesn't occurs.

So far i think that the dict_operations dictionary, which stores information about the operations, might be out of sync with the server-side state. This could happen due to:

  • Issues with how the application adds/removes entries upon creation/deletion of operations.
  • Potential timing problems where the code tries to use operation data before the server-side changes are fully reflected.

I'll be digging deeper into the operationsAdded and operationRemoved functions to ensure they properly update dict_operations.
their might be a race conditions idk.

I'm still unsure of the exact cause of the synchronization issue or what i think is correct or not, but I'll continue investigating and provide further updates. what do you think?

@ReimarBauer
Copy link
Member Author

ReimarBauer commented Mar 12, 2024

You can write a test which reproduces the problem.

In tests/_test_msui/test_mscolab.py are examples for login etc.

@ReimarBauer
Copy link
Member Author

ReimarBauer commented Mar 12, 2024

An other problem I look at
#2278

@rohit2p
Copy link
Contributor

rohit2p commented Mar 12, 2024

You can write a test which reproduces the problem.

In tests/_test_msui/test_mscolab.py are examples for login etc.

yes i have been trying to figure out that

@rohit2p
Copy link
Contributor

rohit2p commented Mar 12, 2024

An other problem I look at #2278

okey

@ReimarBauer
Copy link
Member Author

The issue shows two bugs, the list of operations in the widget gots not extended and it crashes with selection of the not listed operation.

@ReimarBauer
Copy link
Member Author

ReimarBauer commented May 15, 2024

The previous changes have not fixed it. I assume that not updating the list is the major issue

problem_repeated

@rohit2p
Copy link
Contributor

rohit2p commented May 16, 2024

Are you going to work on this now?

@ReimarBauer
Copy link
Member Author

ReimarBauer commented May 16, 2024

There are two ways how we can get new operations in the list, one is to add an operation the other is someone adds you to an operation. In both cases the docking widget needs to update its list.

This means always when the UI reloads the operation list because of an event the docking widgets list needs to become updated too.

Both ways currently are not working when we have the case described above.

A workaround is to cycle login.

@ReimarBauer
Copy link
Member Author

ReimarBauer commented May 17, 2024

Are you going to work on this now?

No, I want to make a 9.0.0 release, and the work on this likly get's continued by you :)
after the release.

I provided a test which currently uses the add_operation which is a second path to get to new operations and some infra structure so it could become implemented. The create "new", or "delete" operation is not covered by that test yet. I also set it to xfail because we know that it fails. The two other features can become derived from the test.
Once the problem is solved the test will succeed.

@ReimarBauer ReimarBauer modified the milestones: 9.0.0, 10.0.0 May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants