Segmentation fault with webgl platform

Valentin Valls valentin.valls at esrf.fr
Thu Feb 15 19:26:41 GMT 2024


Hi,

I try to take a look at PyQt with webgl platform plugin.

I have tested multiple version of PyQt but i always get the same 
segmentation fault.

My operating system is a Debian 10, and i have tried with python 3.9 and 
3.10 (from conda).

Any idea if that could be a problem with PyQt or with my machine or env?

Here is my app.py

import sys
from PyQt5 import Qt app = Qt.QApplication(sys.argv)
w = Qt.QMainWindow()
w.show()
app.exec()

Here is the last PyQt version i have tested

$ pip install pyqt5

   Downloading PyQt5-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl.metadata 
(2.1 kB)
   Downloading 
PyQt5_sip-12.13.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata 
(504 bytes)
   Downloading PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (59.9 
MB)

Here is the execution

$ export QSG_INFO=1
$ export QT_QPA_EGLFS_DEBUG=1
$ export QT_LOGGING_RULES=qt.qpa.*=true
$ python app.py -platform webgl:port=8081

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use 
QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qt.qpa.webgl: WebGL QPA Plugin created
qt.qpa.input.methods.serialize: QIBusEngineDesc::fromDBusArgument() 
"(sa{sv}ssssssssussssssss)"
qt.qpa.input.methods: socketWatcher.addPath 
"/home/valentin/.config/ibus/bus/ac70eafeeafc44c6af5896660704e451-unix-wayland-0"
qt.qpa.webgl.httpserver: Listening in port 8081
qt.qpa.webgl: Creating platform window for: 0x55d890722db0
qt.qpa.webgl: WebGL QPA platform plugin: Raster surfaces are not 
supported
Erreur de segmentation

And here is the backtrace

$ gdb --args python app.py -platform webgl:port=8081

GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
     <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python...
(gdb) r
Starting program: /home/valentin/Software/miniconda3/envs/qt/bin/python 
bbbb.py -platform webgl:port=8081
[Thread debugging using libthread_db enabled]
Using host libthread_db library 
"/lib/x86_64-linux-gnu/libthread_db.so.1".
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use 
QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qt.qpa.webgl: WebGL QPA Plugin created
[New Thread 0x7fffea466700 (LWP 10315)]
qt.qpa.input.methods.serialize: QIBusEngineDesc::fromDBusArgument() 
"(sa{sv}ssssssssussssssss)"
qt.qpa.input.methods: socketWatcher.addPath 
"/home/valentin/.config/ibus/bus/ac70eafeeafc44c6af5896660704e451-unix-wayland-0"
qt.qpa.webgl.httpserver: Listening in port 8081
[New Thread 0x7fffe9c65700 (LWP 10317)]
qt.qpa.webgl: Creating platform window for: 0x555555cefd80
qt.qpa.webgl: WebGL QPA platform plugin: Raster surfaces are not 
supported

Thread 1 "python" received signal SIGSEGV, Segmentation fault.
0x00007ffff2e98ac0 in 
QPlatformBackingStore::setBackingStore(QBackingStore*) ()
    from 
/home/valentin/Software/miniconda3/envs/qt/lib/python3.10/site-packages/PyQt5/Qt5/lib/libQt5Gui.so.5
(gdb) bt
#0  0x00007ffff2e98ac0 in 
QPlatformBackingStore::setBackingStore(QBackingStore*) ()
    from 
/home/valentin/Software/miniconda3/envs/qt/lib/python3.10/site-packages/PyQt5/Qt5/lib/libQt5Gui.so.5
#1  0x00007ffff2d5df6a in QBackingStore::handle() const ()
    from 
/home/valentin/Software/miniconda3/envs/qt/lib/python3.10/site-packages/PyQt5/Qt5/lib/libQt5Gui.so.5
#2  0x00007ffff1154cf8 in QWidgetPrivate::create() ()
    from 
/home/valentin/Software/miniconda3/envs/qt/lib/python3.10/site-packages/PyQt5/Qt5/lib/libQt5Widgets.so.5
#3  0x00007ffff1154e96 in QWidget::create(unsigned long long, bool, 
bool) ()
    from 
/home/valentin/Software/miniconda3/envs/qt/lib/python3.10/site-packages/PyQt5/Qt5/lib/libQt5Widgets.so.5
#4  0x00007ffff1160164 in QWidgetPrivate::setVisible(bool) ()
    from 
/home/valentin/Software/miniconda3/envs/qt/lib/python3.10/site-packages/PyQt5/Qt5/lib/libQt5Widgets.so.5
#5  0x00007ffff075e543 in sipQMainWindow::setVisible(bool) ()
    from 
/home/valentin/Software/miniconda3/envs/qt/lib/python3.10/site-packages/PyQt5/QtWidgets.abi3.so
#6  0x00007ffff06d9822 in meth_QWidget_show () from 
/home/valentin/Software/miniconda3/envs/qt/lib/python3.10/site-packages/PyQt5/QtWidgets.abi3.so
#7  0x0000555555698468 in cfunction_call (func=0x7fffefad1ad0, 
args=<optimized out>, kwargs=<optimized out>)
     at /usr/local/src/conda/python-3.10.13/Objects/methodobject.c:552
#8  0x000055555569197b in _PyObject_MakeTpCall (tstate=0x555555909030, 
callable=0x7fffefad1ad0, args=<optimized out>, nargs=0, keywords=0x0)
     at /usr/local/src/conda/python-3.10.13/Objects/call.c:215
#9  0x000055555568d8c6 in _PyObject_VectorcallTstate (kwnames=0x0, 
nargsf=<optimized out>, args=<optimized out>, callable=0x7fffefad1ad0,
     tstate=<optimized out>) at 
/usr/local/src/conda/python-3.10.13/Include/cpython/abstract.h:112
#10 _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, 
args=0x7ffff7895bb0, callable=0x7fffefad1ad0, tstate=<optimized out>)
     at /usr/local/src/conda/python-3.10.13/Include/cpython/abstract.h:99
#11 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, 
args=0x7ffff7895bb0, callable=0x7fffefad1ad0)
     at 
/usr/local/src/conda/python-3.10.13/Include/cpython/abstract.h:123
#12 call_function (kwnames=0x0, oparg=<optimized out>, 
pp_stack=<synthetic pointer>, trace_info=0x7fffffffbf70, 
tstate=<optimized out>)
     at /usr/local/src/conda/python-3.10.13/Python/ceval.c:5893

Hope it can help for something.

Regards,

Valentin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20240215/3017516b/attachment.htm>


More information about the PyQt mailing list