[PyQt] Basic QML test seg faults in PyQT but not QT on Linux
Louis Simons
lousimons at gmail.com
Thu Sep 15 01:45:24 BST 2016
Sorry, I screwed up and posted this last time without a subject line, which
is poor etiquette and usually means nobody reads it. I heavily apologize
if everyone read this and just didn't have a response.
In trying to get a very basic PyQt5 QML example
<https://www.boxcontrol.net/beginners-pyqt5-and-qml-integration-tutorial.html>
to
run, I found that I get a segmentation fault. I verified that it only
seems deal with displaying QML since an example without a window
<http://pyqt.sourceforge.net/Docs/PyQt5/qml.html> runs fine. I tried the
following minimal test:
#!/usr/bin/python3
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtQml import QQmlApplicationEngine
# Main Function
if __name__ == '__main__':
app = QApplication(sys.argv)
engine = QQmlApplicationEngine("simple.qml")
engine.quit.connect(app.quit)
sys.exit(app.exec_())
simple.qml:
import QtQuick 2.5
import QtQuick.Controls 1.4
ApplicationWindow {
width: 300
height: 200
title: "Simple"
visible: true
}
When I run this application, a window appears for a split second before
closing like in the more detailed example, and I receive `Segmentation
fault` in the console (and nothing more).
Running from GDB shows that the `QSGRenderThread` is receiving the SIGSEGV:
(gdb) run snowman_qt.py
Starting program: /usr/bin/python3 snowman_qt.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe912b700 (LWP 17200)]
[New Thread 0x7fffe3dbb700 (LWP 17201)]
[New Thread 0x7fffe1442700 (LWP 17202)]
[New Thread 0x7fffdbfff700 (LWP 17203)]
Thread 5 "QSGRenderThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffdbfff700 (LWP 17203)]
__strstr_sse2 (haystack_start=0x0, needle_start=0x7fffe28c9dd0
"nouveau") at ../string/strstr.c:63
63 ../string/strstr.c: No such file or directory.
If I run the QML file from a C++ application
<https://github.com/thp/pyotherside/issues/63>, there is no segmentation
fault and the application works. Note that I'm using PyQT without
PyOtherside, but the symptoms seem similar.
Is there a way to get more information to continue debugging?
I am running Python 3.5.2 on Linux Mint 18. My QT version is 5.7.0, my PyQt
version is 5.7, and my SIP version is 4.18.1.
This is a copy of my stackoverflow question
<http://stackoverflow.com/questions/39381009/simple-pyqt5-qml-application-causes-segmentation-fault>,
and I apologize for spamming this issue. I'm trying to convince a small
team to look at QML over HTML5 and this is a blocker.
Thanks,
Louis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20160915/7114a961/attachment-0001.html>
More information about the PyQt
mailing list