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

Windows client keeps crashing when connecting and updating memory elements for radio #656

Open
knmcguire opened this issue Feb 15, 2023 · 6 comments

Comments

@knmcguire
Copy link
Member

So my client on windows 11 keeps crashing everytime I want to connect to a crazyflie. Usually things like that could be fixed by clearing out the config but I can't due to this issue: #618

The terminal gives no distinctive error why it is caused, other than the usual QT warning:

WARNING:vispy:QObject::connect: Cannot queue arguments of type 'QList<QPersistentModelIndex>'
(Make sure 'QList<QPersistentModelIndex>' is registered using qRegisterMetaType().)

But this happens on Linux as well and there it connects just fine.

@knmcguire knmcguire changed the title Windows client keeps crashing when connecting Windows client keeps crashing when connecting depended on configuration Feb 21, 2023
@knmcguire
Copy link
Member Author

So on somebody else's windows, the latest master seems to work with no issue... So probably it's related to whatever configuration my machine is in (although it worked before)

@knmcguire knmcguire changed the title Windows client keeps crashing when connecting depended on configuration Windows client keeps crashing when connecting Mar 3, 2023
@knmcguire knmcguire changed the title Windows client keeps crashing when connecting Windows client keeps crashing when connecting and updating memory elements for radio Mar 3, 2023
@knmcguire
Copy link
Member Author

So I've managed to dig in deeper and found out that my client crashes on these lines:

self._radio_channel.setValue(mem.elements["radio_channel"])
self._radio_speed.setCurrentIndex(mem.elements["radio_speed"])
if "radio_address" in mem.elements:
self._radio_address.setValue(mem.elements["radio_address"])
else:
self._radio_address.setValue(int("0xE7E7E7E7E7", 0))

If I comment them out, I don't get crashes upon connecting anymore.

This is a bit worrying, since this is depended on the cflib and the memory part of the crazyflie... But I haven't seen this happening before on linux so I'm not sure.

@knmcguire
Copy link
Member Author

@ataffanel mentioned that it might be the USB driver, however changing the zadig driver from libusb0 to libusbK didn't resolve the problem.

@knmcguire
Copy link
Member Author

Someone else came across this same issue in discussions: https://github.com/orgs/bitcraze/discussions/831.

@knmcguire
Copy link
Member Author

The mystery continues. I've tried to debug it with PDB but that even closes without an issue which makes me think that the issue is even more deeply rooted. It does sometimes connect without issues but upon reconnects it doesn't anymore. It is more often than not that it connects.

I've at least determined that this happens in QT6.dll

Log Name:      Application
Source:        Windows Error Reporting
Date:          10/16/2023 10:28:15 AM
Event ID:      1001
Task Category: None
Level:         Information
Keywords:      
User:          KIM-LEGION\kimbe
Computer:      kim-legion
Description:
Fault bucket 1440814076933254355, type 5
Event Name: MoAppCrash
Response: Not available
Cab Id: 0

Problem signature:
P1: PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0
P2: praid:Python
P3: 3.10.11150.1013
P4: 642cc42e
P5: Qt6Core.dll
P6: 6.5.2.0
P7: 64a70dcf
P8: c0000005
P9: 000000000008106b
P10: 

@knmcguire
Copy link
Member Author

At least it seems to 'crash less' with QT6... so that is at least a workable situation. Not ideal, but workable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant