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