Slicer crashes randomly

Unfortunately, I can’t consistently reproduce this, but in the last couple of weeks Slicer has crashed many times. Today it’s happened when playing with the threshold in the Volumes module, but I’m not sure it’s related to that. I think the message in the shell is always the same, however, or very similar:

Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Assertion `this->Table->rowHeight(i) == newHeight` failed in  /Volumes/D/P/S-0-build/CTK/Libs/Widgets/ctkMatrixWidget.cpp  line  253
Failed to lock QIOSurfaceGraphicsBuffer(0x7fea4769d100, surface=0x0, size=QSize(1022, 0), isLocked=false, isInUse=false) -536870206
[1]    46337 illegal hardware instruction  /Applications/Slicer.app/Contents/MacOS/Slicer

I hope others have faced the same issue, and that the developers can get an idea of where the issue might be coming from. Let me know if there’s anything else I can do to help.

I’m using today’s preview on macOS Catalina 10.15.5.

Thanks for letting us know. Have you built Slicer yourself or you use an official build? Which Slicer version is this? Has this version worked robustly before? Have you installed any extensions or added any modules? Do the two last lines (“Failed to lock QIOSurfaceGraphicsBuffer…” and “illegal hardware instruction”) appear right before the application crashes?

Official build.

Today’s preview, i.e. 4.11.0-2020-07-27 r29229 / 1217275. It has happened with other versions, I think all in this month.

I update Slicer often, so it’s hard to know.

I add a couple of modules and so some other stuff in my .slicerrc.py, but I haven’t touched it in months.

I don’t know, I see them in the console after Slicer crashes, so that seems to be the case.

1 Like

@Sam_Horvath Have we ended up updating Qt version on Mac when we updated it on other platforms?

Looks like it is hitting the same assert that was crashing QtDesigner previously (See https://github.com/commontk/CTK/commit/0e1d94593d900fd144f50af38e3240063ab30484#diff-6f073d1f96143635788f382f18279749)

@lassoan Yes, the macOS nightly build is using Qt 5.15.0 which was done around the same time as the Windows upgrade.

First I thought so, too, but it is not a debug-mode build, so assert does not cause crash.

I got this message and crash today too with a local debug build of slicer on mac with Qt 5.15. Nothing about illegal hardware instruction though.

Switch to module:  "Volumes"
Failed to lock QIOSurfaceGraphicsBuffer(0x7fbc063721a0, surface=0x0, size=QSize(484, 0), isLocked=false, isInUse=false) -536870206
error: [/opt/s/Slicer-build/bin/Slicer.app/Contents/MacOS/./Slicer] exit abnormally - Report the problem.

Is there a chance you can get a stack trace?

I did, but it wan’t informative. I’ll share it next time it happens.

1 Like