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

test_profiler_config_dialog.py inconsistently throws a fatal error: segfault #17083

Closed
5 of 10 tasks
juliangilbey opened this issue Dec 23, 2021 · 1 comment
Closed
5 of 10 tasks
Assignees
Milestone

Comments

@juliangilbey
Copy link
Contributor

Issue Report Checklist

  • Searched the issues page for similar reports
  • Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
  • Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
  • Could not reproduce inside jupyter qtconsole (if console-related)
  • Tried basic troubleshooting (if a bug/error)
    • Restarted Spyder
    • Reset preferences with spyder --reset
    • Reinstalled the latest version of Anaconda
    • Tried the other applicable steps from the Troubleshooting Guide
  • Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description

We're getting closer! (And BTW, I should have said: I'm working on getting Spyder 5.2.x into Debian. That's why I'm so keen to get the package test suite passing. There is a new show-stopping bug, though, which is beyond Spyder's control: jupyter/nbconvert#1685)

Anyway, test_profiler_config_dialog.py does something really strange which I can't fathom. It sometimes passes and sometimes throws a segfault. I just ran it several times, with xvfb-run and without, using plain pytest and runtests.py, in a chroot and not, and the behaviour seems quite random.

What steps reproduce the problem?

Here it's working:

euler:~/debian/spyder-packages/spyder/build-area/spyder-5.2.1+dfsg1 $ xvfb-run -a -s "-screen 0 1024x768x24 +extension GLX" python3.9 -m pytest spyder/plugins/profiler/tests/test_profiler_config_dialog.py 
============================= test session starts ==============================
platform linux -- Python 3.9.9, pytest-6.2.5, py-1.10.0, pluggy-0.13.0
PyQt5 5.15.6 -- Qt runtime 5.15.2 -- Qt compiled 5.15.2
rootdir: /home/jdg/debian/spyder-packages/spyder/build-area/spyder-5.2.1+dfsg1, configfile: pytest.ini
plugins: typeguard-2.11.1, lazy-fixture-0.6.3, hypothesis-5.43.3, order-1.0.0, anyio-3.4.0, xvfb-2.0.0, mock-3.6.1, xdist-2.4.0, timeout-2.0.1, cov-3.0.0, forked-1.3.0, qt-4.0.2, dependency-0.5.1, flaky-3.7.0
collected 1 item                                                               

spyder/plugins/profiler/tests/test_profiler_config_dialog.py .           [100%]

============================== 1 passed in 1.74s ===============================

and here it's not:

euler:~/debian/spyder-packages/spyder/build-area/spyder-5.2.1+dfsg1 $ xvfb-run -a -s "-screen 0 1024x768x24 +extension GLX" python3.9 -m pytest spyder/plugins/profiler/tests/test_profiler_config_dialog.py 
============================= test session starts ==============================
platform linux -- Python 3.9.9, pytest-6.2.5, py-1.10.0, pluggy-0.13.0
PyQt5 5.15.6 -- Qt runtime 5.15.2 -- Qt compiled 5.15.2
rootdir: /home/jdg/debian/spyder-packages/spyder/build-area/spyder-5.2.1+dfsg1, configfile: pytest.ini
plugins: typeguard-2.11.1, lazy-fixture-0.6.3, hypothesis-5.43.3, order-1.0.0, anyio-3.4.0, xvfb-2.0.0, mock-3.6.1, xdist-2.4.0, timeout-2.0.1, cov-3.0.0, forked-1.3.0, qt-4.0.2, dependency-0.5.1, flaky-3.7.0
collected 1 item                                                               

spyder/plugins/profiler/tests/test_profiler_config_dialog.py .           [100%]

============================== 1 passed in 1.73s ===============================
Fatal Python error: Segmentation fault

Current thread 0x00007fd233367740 (most recent call first):
<no Python frame>
Segmentation fault

(Annoyingly, it still says the test passed, even though there was a segfault. It took a while to track this one down!)

And with no sort of backtrace, it's going to be hard to find the source of this behaviour. So for now I'll just exclude it.

Versions

  • Spyder version: 5.2.1
  • Python version: 3.9 and 3.10
  • Qt version: 5.15.2
  • PyQt version: 5.15.6+dfsg-1+b1
  • Operating System name/version:

Dependencies

# Mandatory:
atomicwrites >=1.2.0          :  1.4.0 (OK)
chardet >=2.0.0               :  4.0.0 (OK)
cloudpickle >=0.5.0           :  2.0.0 (OK)
cookiecutter >=1.6.0          :  1.7.3 (OK)
diff_match_patch >=20181111   :  20200713 (OK)
intervaltree >=3.0.2          :  3.0.2 (OK)
IPython >=7.6.0               :  7.27.0 (OK)
jedi >=0.17.2;<0.19.0         :  0.18.0 (OK)
jellyfish >=0.7               :  0.8.9 (OK)
jsonschema >=3.2.0            :  3.2.0 (OK)
keyring >=17.0.0              :  23.3.0 (OK)
nbconvert >=4.0               :  6.1.0 (OK)
numpydoc >=0.6.0              :  1.1.0 (OK)
parso >=0.7.0;<0.9.0          :  0.8.1 (OK)
pexpect >=4.4.0               :  4.8.0 (OK)
pickleshare >=0.4             :  0.7.5 (OK)
psutil >=5.3                  :  5.8.0 (OK)
pygments >=2.0                :  2.7.1 (OK)
pylint >=2.5.0                :  2.12.2 (OK)
pyls_spyder >=0.4.0           :  0.4.0 (OK)
pylsp >=1.3.2;<1.4.0          :  1.3.3 (OK)
pylsp_black >=1.0.0           :  1.0.1 (OK)
qdarkstyle =3.0.2             :  3.0.2 (OK)
qstylizer >=0.1.10            :  0.2.1 (OK)
qtawesome >=1.0.2             :  1.1.1 (OK)
qtconsole >=5.2.1;<5.3.0      :  5.2.1 (OK)
qtpy >=1.5.0                  :  1.9.0 (OK)
rtree >=0.9.7                 :  0.9.7 (OK)
setuptools >=49.6.0           :  58.2.0 (OK)
sphinx >=0.6.6                :  4.3.2 (OK)
spyder_kernels >=2.2.0;<2.3.0 :  2.2.0 (OK)
textdistance >=4.2.0          :  4.2.2 (OK)
three_merge >=0.1.1           :  0.1.1 (OK)
watchdog >=0.10.3             :  2.1.6 (OK)
xdg >=0.26                    :  0.27 (OK)
zmq >=17                      :  22.3.0 (OK)

# Optional:
cython >=0.21                 :  0.29.24 (OK)
matplotlib >=2.0.0            :  3.3.4 (OK)
numpy >=1.7                   :  1.21.5 (OK)
pandas >=1.1.1                :  1.3.4 (OK)
scipy >=0.17.0                :  1.7.1 (OK)
sympy >=0.7.3                 :  1.7.1 (OK)
@ccordoba12
Copy link
Member

ccordoba12 commented Dec 25, 2021

This is also caused by PyQt 5.15 and the way it garbage-collects objects. So, there's nothing to do about it until we support that version.

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

No branches or pull requests

2 participants