Segmentation fault with webgl platform

Valentin Valls valentin.valls at esrf.fr
Fri Feb 16 08:54:55 GMT 2024


Ah, i see. Thanks for the answer.

On 2/16/24 12:56 AM, Charles wrote:
> WebGL streaming only works for QtQuick widgets 
> (https://www.qt.io/blog/2018/11/23/qt-quick-webgl-release-512 
> <https://www.qt.io/blog/2018/11/23/qt-quick-webgl-release-512>).
>
> On Fri, Feb 16, 2024 at 2:26 AM Valentin Valls <valentin.valls at esrf.fr 
> <mailto:valentin.valls at esrf.fr>> wrote:
>
>     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
>
>     importsys
>     fromPyQt5 importQt
>     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
>     <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/
>     <https://www.gnu.org/software/gdb/bugs/>>. Find the GDB manual and
>     other documentation resources online at:    
>     <http://www.gnu.org/software/gdb/documentation/
>     <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
>     <http://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
>     <http://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/20240216/cbea9b8a/attachment.htm>


More information about the PyQt mailing list