[PyQt] Basic QML test seg faults in PyQT but not QT on Linux

Louis Simons lousimons at gmail.com
Fri Sep 16 02:03:21 BST 2016


Hi Phil,

Thanks for trying that out.  I tried it with QGuiApplication and had the
same symptoms.  Can you tell me a little about your configuration? OS,
python version, PyQT version?

Thanks,
Louis

On Thu, Sep 15, 2016 at 10:40 AM Phil Thompson <phil at riverbankcomputing.com>
wrote:

> On 15 Sep 2016, at 1:45 am, Louis Simons <lousimons at gmail.com> wrote:
> >
> > 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 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 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, 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, 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.
>
> Works fine for me. However I would use QGuiApplication rather than
> QApplication.
>
> Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20160916/4cc3e6b1/attachment-0001.html>


More information about the PyQt mailing list