Bug#1082316: spyder-line-profiler FTBFS with Python 3.13
Stefano Rivera
stefanor at debian.org
Thu Sep 19 21:06:02 BST 2024
Source: spyder-line-profiler
Version: 0.3.2-2
Severity: normal
User: debian-python at lists.debian.org
Usertags: python3.13
This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.
To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.
What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html
Log snippet:
dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build; python3.13 -m pytest
============================= test session starts ==============================
platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0
PyQt5 5.15.11 -- Qt runtime 5.15.13 -- Qt compiled 5.15.13
rootdir: /<<PKGBUILDDIR>>
plugins: qt-4.3.1, xvfb-3.0.0, typeguard-4.3.0
collected 2 items
spyder_line_profiler/tests/test_lineprofiler.py F [ 50%]
tests/test_lineprofiler.py F [100%]
=================================== FAILURES ===================================
_______________________ test_profile_and_display_results _______________________
qtbot = <pytestqt.qtbot.QtBot object at 0xffffb43616a0>
tmpdir = local('/tmp/pytest-of-debusine-worker/pytest-0/test_profile_and_display_resul0')
def test_profile_and_display_results(qtbot, tmpdir):
"""Run profiler on simple script and check that results are okay."""
os.chdir(tmpdir.strpath)
testfilename = tmpdir.join('test_foo.py').strpath
with open(testfilename, 'w') as f:
f.write(TEST_SCRIPT)
MockQMessageBox = Mock()
widget = SpyderLineProfilerWidget(None)
with patch.object(widget, 'get_conf',
return_value=sys.executable) as mock_get_conf:
widget.setup()
qtbot.addWidget(widget)
> with qtbot.waitSignal(widget.sig_finished, timeout=10000,
raising=True):
E pytestqt.exceptions.TimeoutError: Signal sig_finished() not emitted after 10000 ms
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/tests/test_lineprofiler.py:50: TimeoutError
_______________________ test_profile_and_display_results _______________________
qtbot = <pytestqt.qtbot.QtBot object at 0xffffb22d4690>
tmpdir = local('/tmp/pytest-of-debusine-worker/pytest-0/test_profile_and_display_resul1')
def test_profile_and_display_results(qtbot, tmpdir):
"""Run profiler on simple script and check that results are okay."""
os.chdir(tmpdir.strpath)
testfilename = tmpdir.join('test_foo.py').strpath
with open(testfilename, 'w') as f:
f.write(TEST_SCRIPT)
MockQMessageBox = Mock()
widget = SpyderLineProfilerWidget(None)
with patch.object(widget, 'get_conf',
return_value=sys.executable) as mock_get_conf:
widget.setup()
qtbot.addWidget(widget)
> with qtbot.waitSignal(widget.sig_finished, timeout=10000,
raising=True):
E pytestqt.exceptions.TimeoutError: Signal sig_finished() not emitted after 10000 ms
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py:50: TimeoutError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/spyder/config/base.py:432
/usr/lib/python3/dist-packages/spyder/config/base.py:432: DeprecationWarning: 'locale.getdefaultlocale' is deprecated and slated for removal in Python 3.15. Use setlocale(), getencoding() and getlocale() instead.
locale_language = locale.getdefaultlocale()[0]
../../../../../../usr/lib/python3/dist-packages/spyder/utils/programs.py:27
/usr/lib/python3/dist-packages/spyder/utils/programs.py:27: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
../../../../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:3154
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:3154: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('logilab')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb3fe9010> with id main_toolbar under the context __global of plugin main. The new reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb3feb530> will overwrite the previous reference. Hint: <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb3feb530> should have a different id_. See
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb3fe9370> with id ('corner_toolbar',) under the context __global of plugin main. The new reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb2313020> will overwrite the previous reference. Hint: <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb2313020> should have a different id_. See
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference <spyder.api.widgets.menus.MainWidgetMenu object at 0xffffb3fe9520> with id options_menu under the context __global of plugin main. The new reference <spyder.api.widgets.menus.MainWidgetMenu object at 0xffffb23131d0> will overwrite the previous reference. Hint: <spyder.api.widgets.menus.MainWidgetMenu object at 0xffffb23131d0> should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/main_widget.py:273
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Profile by line') with id run_action under the context __global of plugin main. The new reference SpyderAction('Profile by line') will overwrite the previous reference. Hint: SpyderAction('Profile by line') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:218
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Stop') with id stop_action under the context __global of plugin main. The new reference SpyderAction('Stop') will overwrite the previous reference. Hint: SpyderAction('Stop') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:225
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Open Script') with id browse_action under the context __global of plugin main. The new reference SpyderAction('Open Script') will overwrite the previous reference. Hint: SpyderAction('Open Script') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:232
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Show Result') with id show_output_action under the context __global of plugin main. The new reference SpyderAction('Show Result') will overwrite the previous reference. Hint: SpyderAction('Show Result') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:239
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Collaps') with id collapse_action under the context __global of plugin main. The new reference SpyderAction('Collaps') will overwrite the previous reference. Hint: SpyderAction('Collaps') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:246
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Expand') with id expand_action under the context __global of plugin main. The new reference SpyderAction('Expand') will overwrite the previous reference. Hint: SpyderAction('Expand') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:253
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Save data') with id save_data_action under the context __global of plugin main. The new reference SpyderAction('Save data') will overwrite the previous reference. Hint: SpyderAction('Save data') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:260
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Clear output') with id clear_action under the context __global of plugin main. The new reference SpyderAction('Clear output') will overwrite the previous reference. Hint: SpyderAction('Clear output') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:267
warnings.warn(
.pybuild/cpython3_3.13_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb3feab10> with id information_toolbar under the context __global of plugin main. The new reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb2313bf0> will overwrite the previous reference. Hint: <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffffb2313bf0> should have a different id_. See /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:292
warnings.warn(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED spyder_line_profiler/tests/test_lineprofiler.py::test_profile_and_display_results
FAILED tests/test_lineprofiler.py::test_profile_and_display_results - pytestq...
======================= 2 failed, 15 warnings in 21.07s ========================
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_spyder-line-profiler/build; python3.13 -m pytest
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build; python3.12 -m pytest
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
PyQt5 5.15.11 -- Qt runtime 5.15.13 -- Qt compiled 5.15.13
rootdir: /<<PKGBUILDDIR>>
plugins: qt-4.3.1, xvfb-3.0.0, typeguard-4.3.0
collected 2 items
spyder_line_profiler/tests/test_lineprofiler.py . [ 50%]
tests/test_lineprofiler.py . [100%]
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/spyder/config/base.py:432
/usr/lib/python3/dist-packages/spyder/config/base.py:432: DeprecationWarning: 'locale.getdefaultlocale' is deprecated and slated for removal in Python 3.15. Use setlocale(), getencoding() and getlocale() instead.
locale_language = locale.getdefaultlocale()[0]
../../../../../../usr/lib/python3/dist-packages/spyder/utils/programs.py:27
/usr/lib/python3/dist-packages/spyder/utils/programs.py:27: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
../../../../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:3154
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:3154: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('logilab')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8c5534a0> with id main_toolbar under the context __global of plugin main. The new reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8a74deb0> will overwrite the previous reference. Hint: <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8a74deb0> should have a different id_. See
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8c553800> with id ('corner_toolbar',) under the context __global of plugin main. The new reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8a7fdc70> will overwrite the previous reference. Hint: <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8a7fdc70> should have a different id_. See
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference <spyder.api.widgets.menus.MainWidgetMenu object at 0xffff8c5539b0> with id options_menu under the context __global of plugin main. The new reference <spyder.api.widgets.menus.MainWidgetMenu object at 0xffff8a7fde20> will overwrite the previous reference. Hint: <spyder.api.widgets.menus.MainWidgetMenu object at 0xffff8a7fde20> should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/main_widget.py:273
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Profile by line') with id run_action under the context __global of plugin main. The new reference SpyderAction('Profile by line') will overwrite the previous reference. Hint: SpyderAction('Profile by line') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:218
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Stop') with id stop_action under the context __global of plugin main. The new reference SpyderAction('Stop') will overwrite the previous reference. Hint: SpyderAction('Stop') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:225
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Open Script') with id browse_action under the context __global of plugin main. The new reference SpyderAction('Open Script') will overwrite the previous reference. Hint: SpyderAction('Open Script') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:232
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Show Result') with id show_output_action under the context __global of plugin main. The new reference SpyderAction('Show Result') will overwrite the previous reference. Hint: SpyderAction('Show Result') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:239
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Collaps') with id collapse_action under the context __global of plugin main. The new reference SpyderAction('Collaps') will overwrite the previous reference. Hint: SpyderAction('Collaps') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:246
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Expand') with id expand_action under the context __global of plugin main. The new reference SpyderAction('Expand') will overwrite the previous reference. Hint: SpyderAction('Expand') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:253
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Save data') with id save_data_action under the context __global of plugin main. The new reference SpyderAction('Save data') will overwrite the previous reference. Hint: SpyderAction('Save data') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:260
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference SpyderAction('Clear output') with id clear_action under the context __global of plugin main. The new reference SpyderAction('Clear output') will overwrite the previous reference. Hint: SpyderAction('Clear output') should have a different id_. See /usr/lib/python3/dist-packages/spyder/api/widgets/mixins.py:439, /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:267
warnings.warn(
.pybuild/cpython3_3.12_spyder-line-profiler/build/tests/test_lineprofiler.py::test_profile_and_display_results
/usr/lib/python3/dist-packages/spyder/utils/registries.py:81: UserWarning: There already exists a reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8a74d010> with id information_toolbar under the context __global of plugin main. The new reference <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8a7fe8d0> will overwrite the previous reference. Hint: <spyder.api.widgets.toolbars.MainWidgetToolbar object at 0xffff8a7fe8d0> should have a different id_. See /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_spyder-line-profiler/build/spyder_line_profiler/spyder/widgets.py:292
warnings.warn(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================== 2 passed, 15 warnings in 3.47s ========================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-19T13:33:08Z
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/794222/
This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.
Thanks,
Stefano
More information about the debian-science-maintainers
mailing list