biolab / orange3

🍊 :bar_chart: :bulb: Orange: Interactive data analysis
https://orangedatamining.com
Other
4.85k stars 1.01k forks source link

Tests crash miserably with pyqt 5.15 #4952

Closed markotoplak closed 3 years ago

markotoplak commented 4 years ago

On master and on all tested operating systems; see #4945.

This is not anything new. On my linux machine, I can also reproduce it with orange-widget-base 4.5.0 and Orange 3.25.1.

Here is the output or python -m unittest Orange.tests Orange.widgets.tests with the current masters of oragne-widget-base and orange3.

Release of profile requested but WebEnginePage still not deleted. Expect troubles !
Release of profile requested but WebEnginePage still not deleted. Expect troubles !
Release of profile requested but WebEnginePage still not deleted. Expect troubles !
Release of profile requested but WebEnginePage still not deleted. Expect troubles !
Release of profile requested but WebEnginePage still not deleted. Expect troubles !
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QGuiApplication::font(): no QGuiApplication instance and no application font set.
QObject::startTimer: Timers can only be used with threads started with QThread
QObject::startTimer: Timers can only be used with threads started with QThread
Segmentation fault (core dumped)

Backtrace:

#0  0x00007fffc25ed8c3 in QWidget::isActiveWindow() const ()
   from /home/marko/venv37/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5
#1  0x00007fffc27af410 in QDialog::setVisible(bool) () from /home/marko/venv37/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5
#2  0x00007fffc27ad371 in QDialog::~QDialog() () from /home/marko/venv37/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5
#3  0x00007fffc2eddcf9 in sipQDialog::~sipQDialog() () from /home/marko/venv37/lib/python3.7/site-packages/PyQt5/QtWidgets.abi3.so
#4  0x00007fffc8cb9aff in cleanup_qobject(_sipSimpleWrapper*, void*) ()
   from /home/marko/venv37/lib/python3.7/site-packages/PyQt5/QtCore.abi3.so
#5  0x00007fffc56d5f89 in sip_api_visit_wrappers (visitor=0x7fffc8cb9a40 <cleanup_qobject(_sipSimpleWrapper*, void*)>, closure=0x55555b45b800)
    at siplib.c:13251
#6  0x00007fffc8cb97ab in cleanup_on_exit(_object*, _object*) () from /home/marko/venv37/lib/python3.7/site-packages/PyQt5/QtCore.abi3.so
#7  0x000055555579ad38 in _PyMethodDef_RawFastCallDict ()
#8  0x00005555556870be in PyObject_Call ()
#9  0x00005555557fca41 in ?? ()
#10 0x00005555557bb57a in Py_FinalizeEx ()
#11 0x00005555557bb708 in Py_Exit ()
#12 0x00005555557be9bd in ?? ()
#13 0x00005555557be211 in PyErr_PrintEx ()
#14 0x0000555555797a0e in ?? ()
#15 0x00005555557954dd in ?? ()
#16 0x000055555579527c in _Py_UnixMain ()
#17 0x00007ffff6bf2b97 in __libc_start_main (main=0x555555681740 <main>, argc=5, argv=0x7fffffffdf88, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdf78) at ../csu/libc-start.c:310
#18 0x000055555579515a in _start ()
suryaabhishek commented 8 months ago

Hello. I did not understand how this issue has been solved. Could you explan please. I see similar error and I am using python 3.7.13

My code has the following steps:

import pyqtgraph as pg from pyqtgraph.Qt import QtGui, QtCore from PyQt5.QtWidgets import QHBoxLayout, QVBoxLayout, QLabel, QSpacerItem, QSlider, QSizePolicy, QWidget, QMainWindow, QApplication from PyQt5.QtGui import QFont

class Graph(QMainWindow):
def init(self, board, ): QMainWindow.init(self)
super().init()

    self.test = None
    self.run_on_start = None
    self.run_on_stop = None
    self._refresh_rate = 50
markotoplak commented 8 months ago

@suryaabhishek, how is your example related to Orange3? Did you perhaps mean to write on PyQt's mailing list?

suryaabhishek commented 8 months ago

@markotoplak yes, sorry. I did not know that. I had the issue and did a google search, which led me here. My apologies. But could you direct me to the right people/page please. Thanks

markotoplak commented 8 months ago

PyQt mailing list: https://www.riverbankcomputing.com/mailman/listinfo/pyqt