pcdshub / lightpath

LCLS Lightpath Module
https://pcdshub.github.io/lightpath
Other
4 stars 9 forks source link

App Instability #116

Closed ZLLentz closed 4 years ago

ZLLentz commented 4 years ago

Various occasional segfaults, and today this spewed into my terminal:

*** Error in `python': munmap_chunk(): invalid pointer: 0x00007f4942c714f8 *** Could not parse stylesheet of object QLabel(0x55f00b0f65a0, name = "state_label") ======= Backtrace: ========= /lib64/libc.so.6(+0x7ab54)[0x7f49642cdb54] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Gui.so.5(+0x1d1d86)[0x7f4943207d86] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Gui.so.5(_ZN4QCss6Parser4initERK7QStringb+0x1ee)[0x7f494320425c] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(+0x1d67a4)[0x7f49458d37a4] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(+0x1da107)[0x7f49458d7107] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(+0x1da867)[0x7f49458d7867] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(+0x1dd5b4)[0x7f49458da5b4] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZNK14QWidgetPrivate15paintBackgroundEP8QPainterRK7QRegioni+0x208)[0x7f49458964f2] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x5bc)[0x7f4945898306] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f4945898c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0xbb8)[0x7f4945898902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f4945898c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x207)[0x7f4945898b29] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0xbb8)[0x7f4945898902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f4945898c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0xbb8)[0x7f4945898902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f4945898c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0xbb8)[0x7f4945898902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f4945898c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0xbb8)[0x7f4945898902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f4945898c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0xbb8)[0x7f4945898902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f4945898c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0xbb8)[0x7f4945898902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(+0x17f13f)[0x7f494587c13f] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(+0x17f3f4)[0x7f494587c3f4] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN14QWidgetPrivate16syncBackingStoreEv+0x65)[0x7f494588d8f1] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN7QWidget5eventEP6QEvent+0x90a)[0x7f494589d47a] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/QtWidgets.so(+0x3559b3)[0x7f49481619b3] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xde)[0x7f494587182a] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x1af9)[0x7f49458773f1] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/QtWidgets.so(+0x167fce)[0x7f4947f73fce] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x88)[0x7f494c6c0186] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Core.so.5(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x1e9)[0x7f494c6c03cd] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../libQt5Core.so.5(+0x1df876)[0x7f494c6ef876] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../.././libglib-2.0.so.0(g_main_context_dispatch+0x2cb)[0x7f494836cb3b] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../.././libglib-2.0.so.0(+0x54d81)[0x7f494836cd81] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../.././libglib-2.0.so.0Aborted
klauer commented 4 years ago

That's a new one to me.

Could not parse stylesheet of object QLabel(0x55f00b0f65a0, name = "state_label")

Looks like it may be related to: https://github.com/pcdshub/lightpath/blob/415410dfa810af825337580c437409b51b6a416d/lightpath/ui/widgets.py#L30-L35

https://github.com/pcdshub/lightpath/blob/415410dfa810af825337580c437409b51b6a416d/lightpath/ui/widgets.py#L190

ZLLentz commented 4 years ago

Yeah you're right, that's definitely the culprit... But why? Hmm.

ZLLentz commented 4 years ago

If this happens at all again during testing or operations I'm just removing that line. For now I proceed to fixing various device implementation issues.

ZLLentz commented 4 years ago

A different crash, just going to start logging them here I guess... This one happened when I clicked the "hide removed devices" button, and then clicked it again to bring the devices back.

*** Error in `python': double free or corruption (fasttop): 0x00007f46fc383900 *** Could not parse stylesheet of object QLabel(0x5569332d7e00, name = "state_label") *** Error in `python': corrupted double-linked list: 0x00007f46fc3838f0 *** ======= Backtrace: ========= ======= Backtrace: ========= /lib64/libc.so.6(+0x7c619)[0x7f47411fe619] /lib64/libc.so.6(+0x7ab54)[0x7f47411fcb54] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Gui.so.5(+0x1d1d86)[0x7f46eab70d86] /lib64/libc.so.6(+0x7c7aa)[0x7f47411fe7aa] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Gui.so.5(_ZN4QCss6Parser4initERK7QStringb+0x1ee)[0x7f46eab6d25c] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x1d67a4)[0x7f46eaf827a4] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x1da107)[0x7f46eaf86107] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x1da867)[0x7f46eaf86867] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x1dd5b4)[0x7f46eaf895b4] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZNK14QWidgetPrivate15paintBackgroundEP8QPainterRK7QRegioni+0x208)[0x 7f46eaf454f2] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8 QPainterP19QWidgetBackingStore+0x5bc)[0x7f46eaf47306] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP 7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f46eaf47c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8 QPainterP19QWidgetBackingStore+0xbb8)[0x7f46eaf47902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP 7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f46eaf47c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP 7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x207)[0x7f46eaf47b29] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8 QPainterP19QWidgetBackingStore+0xbb8)[0x7f46eaf47902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP 7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f46eaf47c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8 QPainterP19QWidgetBackingStore+0xbb8)[0x7f46eaf47902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP 7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f46eaf47c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8 QPainterP19QWidgetBackingStore+0xbb8)[0x7f46eaf47902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP 7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f46eaf47c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8 QPainterP19QWidgetBackingStore+0xbb8)[0x7f46eaf47902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP 7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f46eaf47c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8 QPainterP19QWidgetBackingStore+0xbb8)[0x7f46eaf47902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP 7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore+0x2f4)[0x7f46eaf47c16] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Gui.so.5(_ZN8QPaletteaSERKS_+0x46)[0x7f46eaaaf7d4] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate17setPalette_helperERK8QPalette+0x45)[0x7f46eaf41b 33] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN7QWidget10setPaletteERK8QPalette+0x5a)[0x7f46eaf43b9c] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x1d6070)[0x7f46eaf82070] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x1dd1f5)[0x7f46eaf891f5] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x1dca52)[0x7f46eaf88a52] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x1dcb1d)[0x7f46eaf88b1d] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8 QPainterP19QWidgetBackingStore+0xbb8)[0x7f46eaf47902] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/QtWidgets.s o(+0x34959f)[0x7f46eb63c59f] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x17f13f)[0x7f46eaf2b13f] python(_PyCFunction_FastCallDict+0x91)[0x55692e902d61] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(+0x17f3f4)[0x7f46eaf2b3f4] python(+0x1a164c)[0x55692e99164c] python(_PyEval_EvalFrameDefault+0x30a)[0x55692e9b418a] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN14QWidgetPrivate16syncBackingStoreEv+0x65)[0x7f46eaf3c8f1] python(+0x16f256)[0x55692e95f256] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN7QWidget5eventEP6QEvent+0x90a)[0x7f46eaf4c47a] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/QtWidgets.s o(+0x3559b3)[0x7f46eb6489b3] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xde)[0x7f4 6eaf2082a] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x1af9)[0x7f46eaf263f1] python(_PyFunction_FastCallDict+0x3d8)[0x55692e960928] python(_PyObject_FastCallDict+0x26f)[0x55692e9031ef] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/QtWidgets.s o(+0x167fce)[0x7f46eb45afce] python(_PyObject_Call_Prepend+0x63)[0x55692e907cf3] python(PyObject_Call+0x3e)[0x55692e902c2e] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x88)[0x7f47085 4d186] python(_PyEval_EvalFrameDefault+0x1ab6)[0x55692e9b5936] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Core.so.5(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+ 0x1e9)[0x7f470854d3cd] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Core.so.5(+0x1df876)[0x7f470857c876] python(PyEval_EvalCodeEx+0x966)[0x55692e964b36] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../.././ libglib-2.0.so.0(g_main_context_dispatch+0x2cb)[0x7f471fda3b3b] python(+0x175426)[0x55692e965426] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../.././ libglib-2.0.so.0(+0x54d81)[0x7f471fda3d81] python(PyObject_Call+0x3e)[0x55692e902c2e] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../.././ libglib-2.0.so.0(g_main_context_iteration+0x2e)[0x7f471fda3e0e] python(_PyEval_EvalFrameDefault+0x1ab6)[0x55692e9b5936] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessE ventsFlagEE+0x63)[0x7f470857c42b] python(+0x16f68e)[0x55692e95f68e] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x187)[0x7f4708549 bc1] python(+0x170231)[0x55692e960231] /reg/neh/home/zlentz/miniconda3/envs/dev/lib/python3.6/site-packages/PyQt5/../../../li bQt5Core.so.5(_ZN16QCoreApplication4execEv+0x105)[0x7f470854da39] python(+0x1a1725)[0x55692e991725] python(_PyCFunction_FastCallDict+0x91)[0x55692e902d61] python(_PyEval_EvalFrameDefault+0x10c6)[0x55692e9b4f46] python(+0x1a164c)[0x55692e99164c] python(+0x16f68e)[0x55692e95f68e] python(_PyEval_EvalFrameDefault+0x30a)[0x55692e9b418a] python(_PyFunction_FastCallDict+0x3d8)[0x55692e960928] python(+0x16f526)[0x55692e95f526] python(_PyObject_FastCallDict+0x26f)[0x55692e9031ef] python(+0x170231)[0x55692e960231] python(_PyObject_Call_Prepend+0x63)[0x55692e907cf3] python(+0x1a1725)[0x55692e991725] python(PyObject_Call+0x3e)[0x55692e902c2e] python(_PyEval_EvalFrameDefault+0x30a)[0x55692e9b418a] python(_PyEval_EvalFrameDefault+0x1ab6)[0x55692e9b5936] python(+0x16fffb)[0x55692e95fffb] python(PyEval_EvalCodeEx+0x966)[0x55692e964b36] python(+0x1a1725)[0x55692e991725] python(+0x175426)[0x55692e965426] python(_PyEval_EvalFrameDefault+0x30a)[0x55692e9b418a] python(PyObject_Call+0x3e)[0x55692e902c2e] python(PyEval_EvalCodeEx+0x329)[0x55692e9644f9] python(_PyEval_EvalFrameDefault+0x1ab6)[0x55692e9b5936] python(PyEval_EvalCode+0x1c)[0x55692e96529c] python(+0x16f68e)[0x55692e95f68e] python(+0x2168b4)[0x55692ea068b4] python(_PyFunction_FastCallDict+0x3d8)[0x55692e960928] python(PyRun_FileExFlags+0xa1)[0x55692ea06cb1] python(_PyObject_FastCallDict+0x26f)[0x55692e9031ef] python(PyRun_SimpleFileExFlags+0x1c3)[0x55692ea06eb3] python(_PyObject_Call_Prepend+0x63)[0x55692e907cf3] python(Py_Main+0x676)[0x55692ea0aa06] python(PyObject_Call+0x3e)[0x55692e902c2e] python(main+0xee)[0x55692e8d418e] python(_PyEval_EvalFrameDefault+0x1ab6)[0x55692e9b5936] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7f47411a3c05] python(+0x16f256)[0x55692e95f256] python(+0x1cac82)[0x55692e9bac82] ======= Memory map: ======== python(+0x170231)[0x55692e960231] python(+0x1a1725)[0x55692e991725] python(_PyEval_EvalFrameDefaultAborted
ZLLentz commented 4 years ago

Just kidding, it had the same source. I'm killing the QLabel styler.

ZLLentz commented 4 years ago

Actually, this one is pretty important for the screen to look right... might deserve a closer look

klauer commented 4 years ago

I've been trying to reproduce this in isolation (that is, setting a similar stylesheet on a QLabel), but haven't had it crash yet... ~Is this the dev environment?~ I see /reg/neh/home/zlentz/miniconda3/envs/dev

ZLLentz commented 4 years ago

I can't reproduce it myself either. I slapped a print statement in there, jammed all the buttons... nothing. Waited a bit and got this:

QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
QLabel {color: rgb(124, 252, 0)}
Segmentation fault

Probably sign to take a break

klauer commented 4 years ago

(My test for future reference was /reg/neh/home5/klauer/Repos/lightpath/style.py)

Based on your results and my test, it seems like it's not the stylesheet itself, but rather what's happening around it (leaked resource/double free/etc?). Hmmm...

hhslepicka commented 4 years ago

I was taking a quick look at it and I noticed a couple of things:

Sorry that this does not provide a clear path or answer but it is at least it is something to look into.

Bad stylesheets are fine and one example of this is that the Vacuum screens had invalid stylesheets for a while. You should only get a warning from Qt.

klauer commented 4 years ago

should only get a warning doesn't mean much, sadly.

But your other point appears correct - this is being called in an ophyd subscription, which is certainly not in a GUI thread. The subscription should be switched into subscribe(lambda **kwargs: some_signal.emit()); some_signal.connect(self.update_state) or something similar, which should hopefully fix it.

ZLLentz commented 4 years ago

That makes sense to me. Certainly this is the first thing to try, I'll give it a go.

It makes me uneasy to have these things where "you're doing it wrong every time but it only occasionally crashes". I'd much prefer a python exception from the upstream library when I'm doing it wrong.

ZLLentz commented 4 years ago

The screen has stayed open for 2.5 hours now with no segfaults after implementing the above fix. If it is still up when I stop for today I will close this issue.

ZLLentz commented 4 years ago

Seems stable to me! Will re-open if I see the same crashes, will open a new issue if I see different ones. Thanks for the help!