Hello, I wanted folks to know that I received an update today for FreeCAD 0.21 as part of the normal update process, and now the app seems to be working again. Don’t know what you guys changed to fix this, but Thank you!
I have tried 0.20.2 from the Opensuse 15.4 - Science repo (0.20.2) and Science:Testing repo (0.21.0)
I get tons of … uninitialized value … like
==31656== Use of uninitialised value of size 8
==31656== at 0x6EEA3D8: ??? (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6F056E1: ??? (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6ED93A8: ??? (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6F598EB: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6F5767E: ??? (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6F57954: ??? (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6F5BED4: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6F574D5: ??? (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6F5F798: _PyFunction_FastCallDict (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6E9DB7D: _PyObject_FastCallDict (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6E9DD8B: _PyObject_Call_Prepend (in /usr/lib64/libpython3.6m.so.1.0)
==31656== by 0x6E9D947: PyObject_Call (in /usr/lib64/libpython3.6m.so.1.0)
(It doesn’t use a more recent python version with a python virtualenv, and I wasn’t able to find the minimum required python version yet, the AppImage semms to use Python 3.10)
and crashes with
==31656== Jump to the invalid address stated on the next line
==31656== at 0x0: ???
==31656== by 0x99C8963: SoAction::traverse(SoNode*) (in /usr/lib64/libCoin.so.4.0.0)
==31656== by 0x99D8A00: SoSearchAction::beginTraversal(SoNode*) (in /usr/lib64/libCoin.so.4.0.0)
==31656== by 0x99C8EE1: SoAction::apply(SoNode*) (in /usr/lib64/libCoin.so.4.0.0)
==31656== by 0x5687992: SIM::Coin3D::Quarter::QuarterWidgetP::searchForCamera(SoNode*) (in /usr/lib64/FreeCAD/lib/libFreeCADGui.so)
==31656== by 0x56838A0: SIM::Coin3D::Quarter::QuarterWidget::setSceneGraph(SoNode*) (in /usr/lib64/FreeCAD/lib/libFreeCADGui.so)
==31656== by 0x56C1518: Gui::View3DInventorViewer::setSceneGraph(SoNode*) (in /usr/lib64/FreeCAD/lib/libFreeCADGui.so)
==31656== by 0x56BEE63: Gui::View3DInventorViewer::init() (in /usr/lib64/FreeCAD/lib/libFreeCADGui.so)
==31656== by 0x56BF7C7: Gui::View3DInventorViewer::View3DInventorViewer(QWidget*, QOpenGLWidget const*) (in /usr/lib64/FreeCAD/lib/libFreeCADGui.so)
==31656== by 0x56B2502: Gui::View3DInventor::View3DInventor(Gui::Document*, QWidget*, QOpenGLWidget const*, QFlags<Qt::WindowType>) (in /usr/lib64/FreeCAD/lib/libFreeCADGui.so)
==31656== by 0x531FEFE: Gui::Document::createView(Base::Type const&) (in /usr/lib64/FreeCAD/lib/libFreeCADGui.so)
==31656== by 0x52CE139: Gui::Application::slotNewDocument(App::Document const&, bool) (in /usr/lib64/FreeCAD/lib/libFreeCADGui.so)
==31656== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==31656==
Program received signal SIGSEGV, Segmentation fault.
#0 /lib64/libc.so.6(+0x4ad50) [0x933ed50]
at the end.
The AppImage doesn’t crash
Isn’t this a packaging problem that should be brought to Suse’s attention?
I’ve tried FreeCAD on OpenSuse Tumbleweed from the default repos (v 0.20.1) which is working. So, when tumbleweed becomes the new stable version it will be fixed.
To sum up:
The FreeCAD rpms that are provided by the opensuse 15.4 repo and the science repo are broken, I guess because of libraries which are too old.
My resolution was to use the appimage.
I fixed my issues pretty much the same way, by running the 1-click found in the science repositories for Leap 15.4 (which was v0.20.1 at the time). Shortly after doing that, a normal update arrived and BAM! the issues I was having were gone!
I know you folks already know how to find these, but in case some none-developer types would like a hint, I have included a screen shot from today of the science repositories for 15.4. Found at https://software.opensuse.org/package/FreeCAD
