-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Failing tests with Spyder 5.3.x and Debian unstable #17651
Comments
Having now tried uploading Spyder 5.3.0 to Debian, two more tests failed. Again, these seem to be somewhat flaky, as they both passed for me. On amd64, we had the following error:
(As in a previous report, debugpy is not yet packaged for Debian, and is proving to be quite challenging. But that is not the cause of this failure.) On arm64, a different test had a different error, which is very similar:
If you have any clue why we might be getting these errors, or whether just marking them as flaky would be good enough, I'd very much appreciate it! |
Hey @juliangilbey, thanks for reporting. About the failures you found:
That depends on the main window being properly closed, as far as I know, but @dalthviz could know more. In any case, I don't know how we could fix it because it's passing fine here on Github.
That depends on the place the cursor is positioned on the screen, which could give problems on headless systems. I wouldn't worry about it and simply skip it because it's not possible to check where the cursor is in CIs.
It seems your CIs are taking too much time to start an IPython console, hence the failure. Not our fault really but of your CIs. |
Thanks @juliangilbey for the feedback! Regarding the spyder/.github/workflows/test-linux.yml Line 127 in 9f292bc
Also, maybe something you can help us with this is running those tests with gdb in your setup (maybe with that we will be able to get some more info of the cause of the segfaults). For that you can run something like this: spyder/.github/workflows/test-linux.yml Line 123 in 9f292bc
Regarding Regarding Regarding
|
Hi @ccordoba12, thanks for your thoughts on this!
OK, will skip it then.
Ah, interesting. So I'll increase the timeouts and see if that helps. |
Hi @dalthviz, thanks! Lots of things to think about here!
Yes, I saw that; I didn't particularly want to do this if I could help it, though!
Here's the output of running this:
I hope there's something useful here.
OK, I tried that, but with no success. So I'll just skip it.
OK; I'm instead extending the timeouts everywhere, as that seems a more robust approach.
I don't think so, as it runs fine on my machine and the error message was about timeouts again. I'm extending the timeout; we'll see if that helps. Best wishes, Julian |
Checking the traceback from gdb seems that the segfault is happening over QtConsole (at initialization of some actions) when creating a new IPython Console when Spyder is starting:
Not totally sure why but maybe trying to run the test suit from QtConsole could help us further debug or maybe even checking if launching a standalone instance of QtConsole shows some error or segfaults could help. |
Hi @dalthviz,
and here's the terminal output:
I get pretty much identical output if I run a plain |
Oh sorry @juliangilbey I think I didn't explain things correctly 😅 I meant to say that maybe running the QtConsole test suit in your setup could help us see if there is something over QtConsole that needs to be fixed (since the Spyder test suit is failing when initializing the console widget which is code located at QtConsole). However, with the test you did, I think is clear that something inside the test suit is somehow faulty when reaching the QtConsole code. Maybe something related with pytest-qt or the creation of the QtApplication that is causing the segfault when the QtConsole code starts creating some actions 🤔 |
Hello, and sorry for the slow reply on this one. Here's an update on this.
Best wishes, Julian |
Hi there! Things are generally better than with 5.3.0! Only two tests are still consistently failing; the first is Here is an example of it (and we still don't have debugpy, but that seems to be unrelated):
And the second test almost always fails: Here is some sample output:
I'm sometimes getting segfaults in On i386, I'm still excluding Best wishes, Julian |
Ah, I may have spoken in too much haste: |
Thanks for the feedback @juliangilbey ! Just in case, we are currently working fixing some things related to the tests here: #18106 and also we have the idea to add |
Hi @dalthviz, that sounds great, thanks! |
Hi all, here's an update with 5.3.3 on amd64.
Everything else is passing! |
Perhaps the Cython test is failing because you're using a Gcc version that is not compatible with Cython yet. I mean, from the logs you posted it seems that Cython is failing to compile the code passed to it. So I'd skip it for now and retry it in a month or so, when a new Cython version is out. |
Thanks @ccordoba12! There is definitely something a bit weird about the handling of pyx files, though. Unreproducible experience: I saved a copy of I've tried to follow the source code in spyder to understand what runfile does, and it seems to assume that the script is Python, not Cython. So I'm confused why the stdout at teardown says it is calling runfile at all. Hmm. Even more, if I save a copy of the On the other hand, if I do the following:
|
Following on from the above, I've just investigated and opened #19344 |
Closing because I think most of the problem reported here were already addressed. |
Issue Report Checklist
conda update spyder
(orpip
, if not using Anaconda)jupyter qtconsole
(if console-related)spyder --reset
Problem Description
Thanks all for your great work on getting 5.3.0 released! I'm pleased to say that all of the tests that were failing with 5.2.x now work. There are just a new problematic tests, and I don't know enough to understand what is wrong. But besides these, it looks very good, so I'll upload 5.3.0 to Debian unstable (with these tests disabled) and then submit a further issue if any of them fail on architectures other than amd64.
test_mainwindow.py
segfaultsspyder/app/tests/test_mainwindow.py
regularly segfaults. Here's an example of running this test alone. (Myruntests.py
is a slightly modified version of the official version, introducing the--homedir
option.) I don't know whether there's enough information here to help identify the source of the crash, though.test_get_hints
failsspyder/plugins/editor/widgets/tests/test_hints_and_calltips.py::test_get_hints
fails with all three parameters, both with Python 3.9 and Python 3.10; here's one of the test logs:I do seem to get the expected behaviour when I perform these actions manually.
Versions
Dependencies
The text was updated successfully, but these errors were encountered: