View Issue Details

IDProjectCategoryView StatusLast Update
0002963FreeCADBugpublic2017-07-15 03:43
Reporterbernhardb Assigned To 
PriorityhighSeveritycrashReproducibilityalways
Status closedResolutionnot fixable 
PlatformlinuxOSSuse LeapOS Version42.2
Product Version0.17 
Summary0002963: Opening the preferences-dialog leads to crash (downstream packman-suse packaging issue)
DescriptionWhen opening the preferences-dialog, the application crashes
Steps To Reproduce- Start FreeCad from a xterm -> You get:

bb@hex1:~> /usr/bin/FreeCAD
FreeCAD 0.17, Libs: 0.17R10236 (Git) (Packman)
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2017
  ##### #### ### ####
  # # # # # #
  # ## #### #### # # # # #
  #### # # # # # # # ##### # #
  # # #### #### # # # # #
  # # # # # # # # # ## ## ##
  # # #### #### ### # # #### ## ## ##

Mod pluginloader InitGui.py starting ...
pluginmanager config file /home/bb/.FreeCAD//Mod/plugins/pluginloaderconfig.yaml
During initialization the error local variable 'fn2' referenced before assignment occurred in /usr/lib64/FreeCAD/Mod/plugins/InitGui.py

-> Select Edit -> Preferences

Then the application hangs for may be 3 seconds and then the application crashes.

Program received signal SIGSEGV, Segmentation fault.
#0 /lib64/libc.so.6(+0x34950) [0x7f1e1455a950]
#1 /usr/lib64/libpython2.7.so.1.0(+0x1155f0) [0x7f1e161295f0]
0000002 /usr/lib64/libpython2.7.so.1.0(PyEval_GetGlobals+0x9) [0x7f1e16100749]
0000003 /usr/lib64/libpython2.7.so.1.0(PyImport_Import+0x20) [0x7f1e16121df0]
0000004 /usr/lib64/libpython2.7.so.1.0(PyImport_ImportModule+0x1a) [0x7f1e1616553a]
0000005 0x7f1de40cc7ae in PyCustomWidgets::getModuleAttr(char const*, char const*) from /usr/lib64/qt4/plugins/designer/libpyqt4.so+0xe
0000006 0x7f1de40cd8a8 in PyCustomWidgets::PyCustomWidgets(QObject*) from /usr/lib64/qt4/plugins/designer/libpyqt4.so+0x1088
0000007 /usr/lib64/qt4/plugins/designer/libpyqt4.so(qt_plugin_instance+0x87) [0x7f1de40cdf77]
0000008 0x7f1e14fd0501 in QPluginLoader::instance() from /usr/lib64/libQtCore.so.4+0x41
0000009 0x7f1e17298990 in QFormInternal::QFormBuilder::updateCustomWidgets() from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x360
0000010 0x7f1e17274113 in QUiLoader::QUiLoader(QObject*) from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x133
0000011 0x7f1e1721ae41 in Gui::UiLoader::UiLoader(QObject*) from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x11
0000012 0x7f1e16ffe9f5 in Gui::Dialog::PreferenceUiForm::PreferenceUiForm(QString const&, QWidget*) from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x55
0000013 0x7f1e1721cd62 in Gui::PrefPageUiProducer::Produce() const from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x22
0000014 0x7f1e164b2761 in Base::Factory::Produce(char const*) const from /usr/lib64/FreeCAD/lib/libFreeCADBase.so+0x51
0000015 0x7f1e17219ba0 in Gui::WidgetFactoryInst::createPreferencePage(char const*, QWidget*) const from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x10
0000016 0x7f1e1705cb10 in Gui::Dialog::DlgPreferencesImp::setupPages() from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x5c0
0000017 0x7f1e1705c526 in Gui::Dialog::DlgPreferencesImp::DlgPreferencesImp(QWidget*, QFlags<Qt::WindowType>) from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0xd6
0000018 0x7f1e16f9bcd5 in StdCmdDlgPreferences::activated(int) from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x25
0000019 0x7f1e16f86b38 in Gui::Command::invoke(int) from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x48
0000020 0x7f1e150000ea in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) from /usr/lib64/libQtCore.so.4+0x2da
0000021 0x7f1e1552b5b2 in QAction::triggered(bool) from /usr/lib64/libQtGui.so.4+0x32
0000022 0x7f1e1552cf63 in QAction::activate(QAction::ActionEvent) from /usr/lib64/libQtGui.so.4+0x63
0000023 /usr/lib64/libQtGui.so.4(+0x6022d9) [0x7f1e159562d9]
0000024 /usr/lib64/libQtGui.so.4(+0x606829) [0x7f1e1595a829]
0000025 0x7f1e15580bba in QWidget::event(QEvent*) from /usr/lib64/libQtGui.so.4+0xaca
0000026 0x7f1e1595e67b in QMenu::event(QEvent*) from /usr/lib64/libQtGui.so.4+0x5b
0000027 0x7f1e155316fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib64/libQtGui.so.4+0x8c
0000028 0x7f1e15537d7a in QApplication::notify(QObject*, QEvent*) from /usr/lib64/libQtGui.so.4+0x36a
0000029 0x7f1e16f68cb8 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x48
0000030 0x7f1e14fec17d in QCoreApplication::notifyInternal(QObject*, QEvent*) from /usr/lib64/libQtCore.so.4+0x6d
0000031 0x7f1e15537573 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) from /usr/lib64/libQtGui.so.4+0x153
0000032 /usr/lib64/libQtGui.so.4(+0x254f7c) [0x7f1e155a8f7c]
0000033 0x7f1e155a76bc in QApplication::x11ProcessEvent(_XEvent*) from /usr/lib64/libQtGui.so.4+0x5fc
0000034 /usr/lib64/libQtGui.so.4(+0x27a552) [0x7f1e155ce552]
0000035 /usr/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x254) [0x7f1e0e12c134]
0000036 /usr/lib64/libglib-2.0.so.0(+0x4c388) [0x7f1e0e12c388]
0000037 /usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7f1e0e12c42c]
0000038 0x7f1e15018fae in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib64/libQtCore.so.4+0x7e
#39 /usr/lib64/libQtGui.so.4(+0x27a606) [0x7f1e155ce606]
#40 0x7f1e14fead3f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib64/libQtCore.so.4+0x2f
0000041 0x7f1e14feb035 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib64/libQtCore.so.4+0x175
0000042 0x7f1e14ff0489 in QCoreApplication::exec() from /usr/lib64/libQtCore.so.4+0x89
0000043 0x7f1e16f235b0 in Gui::Application::runApplication() from /usr/lib64/FreeCAD/lib/libFreeCADGui.so+0x1bf0
0000044 /usr/bin/FreeCAD(main+0x692) [0x4033b2]
0000045 /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f1e145466e5]
0000046 /usr/bin/FreeCAD(_start+0x29) [0x402bf9]
Additional InformationOS: "openSUSE Leap 42.2"
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10236 (Git) (Packman)
Build type: Release
Branch: master
Hash: dd20ba3d068c4a0903417d93144f8ac7fed068e9
Python version: 2.7.12
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.9.1.oce-0.18-dev
Tagsdistribution specific, downstream
FreeCAD Information

Activities

kkremitzki

2017-03-12 13:29

administrator   ~0008612

I can't reproduce this. My version info:
OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10473 (Git)
Build type: Unknown
Branch: master
Hash: 78b986a2657b7de79b6e350a2535dc0fbfe3f1cf
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
I see you have some addons installed:
Mod pluginloader InitGui.py starting ...
pluginmanager config file /home/bb/.FreeCAD//Mod/plugins/pluginloaderconfig.yaml
During initialization the error local variable 'fn2' referenced before assignment occurred in /usr/lib64/FreeCAD/Mod/plugins/InitGui.py
To troubleshoot, can you try temporarily moving the contents of `/usr/lib64/FreeCAD/Mod` and `/home/bb/.FreeCAD/Mod` to different folders, e.g. `/home/bb/system-mods` and `/home/bb/user-mods`? That way we can see if this is occurring because of, e.g., an old version of an addon.

bernhardb

2017-03-12 15:44

reporter   ~0008615

Tried this:
- Moved `/home/bb/.FreeCAD/Mod` away -> still crash opening the pref-dialog
- Moved the central `/usr/lib64/FreeCAD/Mod` away -> Crash vanishes, the dialog can be called
- Deinstalled complete FreeCad via rpm-mechanism -> the whole /usr/lib64/FreeCad - dir is deleted. Reinstalled FreeCad from packman -> /usr/lib64/FreeCad including the Mod-dir is of the packman-installation
- Crash is there again.

So, I would conclude, there is something offending in the Mod-directory of the packman package...

bernhardb

2017-03-12 22:30

reporter   ~0008618

OK, I narrowed it down a little bit:
The crash vanishes if the directories /usr/lib64/FreeCAD/Mod/Arch and /usr/lib64/FreeCAD/Mod/Draft are moved away. If one of these two dirs are avaylable, the crash occures...

kkremitzki

2017-03-14 21:13

administrator   ~0008629

I set up an OpenSUSE VM to test this further and can't reproduce still:
OS: "openSUSE Leap 42.2"
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10236 (Git) (Packman)
Build type: Release
Branch: master
Hash: dd20ba3d068c4a0903417d93144f8ac7fed068e9
Python version: 2.7.12
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.9.1.oce-0.18-dev

bernhardb

2017-03-15 21:17

reporter   ~0008634

Here is the output of ldd /usr/lib64/FreeCAD/bin/FreeCAD

Might be that one of the referenced libraries is not compartible?
ldd_FreeCad (Attachment missing)

kkremitzki

2017-03-15 22:44

administrator   ~0008635

What workbench do you have active when the crash happens? Is it possible to change to any other workbench and not have the crash? Can you try temporarily moving the folders needed to not get a crash and change your startup workbench and see if that has any effect?

bernhardb

2017-03-16 07:27

reporter   ~0008638

I have played arround a little bit with the workbenches: No change of workbench leads ever to a crash. I start with the "start" - workbench

But gunny behavour:

  1. Start-Workbench -> Open preferences -> Crash
  2. Start-Workbench -> Switch to "Part Design" -> Open preferences -> Crash
  3. Start-Workbench -> Switch to "Complete" -> Open preferences -> NO Crash
  4. Start-Workbench -> Switch to "Complete" -> Switch to "Part Design" -> Open preferences -> Also NO Crash

I also run a "strace" of the crash in case 1) which I added here
FC.debug.zip (Attachment missing)

Kunda1

2017-05-08 04:59

administrator   ~0008911

@bernhardb do you mind re-upping the zip file?

bernhardb

2017-05-08 07:31

reporter   ~0008915

@Kunda1
I have updated my system in between, but the same error is still reproducable.Please find the strace attached.
Here the new version of freecad:

OS: "openSUSE Leap 42.2"
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10236 (Git) (Packman)
Build type: Release
Branch: master
Hash: dd20ba3d068c4a0903417d93144f8ac7fed068e9
Python version: 2.7.12
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.9.1.oce-0.18-dev
freecad.crash.zip (472,812 bytes)

Kunda1

2017-05-08 12:08

administrator   ~0008916

@bernhardb Can you update to the latest 0.17 revision and retest?

bernhardb

2017-05-09 04:54

reporter   ~0008922

@Kunda1
That is the newest version of the packman package. The system updated it a week before or so.

bb@hex1:~> rpm -q FreeCAD
FreeCAD-0.16.99+git20170222.0922-2.19.x86_64

Kunda1

2017-07-12 02:46

administrator   ~0009726

@bernhardb can you still reproduce on the latest 0.17 ?

bernhardb

2017-07-12 20:24

reporter   ~0009748

@Kunda1
I really think, the problem is not in the source code of FreeCad, but in the build process of the packman-suse-packages:
If You look at
http://packman.links2linux.org/package/FreeCAD
they were newly uploaded today. But they are - like the version number shows - still based on the source code of the date 2017-02-22. So, the distro recognizes the new package but installs a build of the old git status again and again...

Kunda1

2017-07-12 21:36

administrator   ~0009750

@bernhardb can you let downstream packman-suse package team know this is a problem ?

Kunda1

2017-07-13 11:51

administrator   ~0009753

I just opened a ticket downstream: https://bugs.links2linux.org/browse/PM-140 and have asked on their freenode #packman channel for help.

bernhardb

2017-07-14 19:54

reporter   ~0009755

They closed the downstream ticket with the comment that the maintainer left the project and they will withdraw the (non-functional) package. So, I think, this ticket can be closed too: This was quite shure only in this package a bug, and since the freecad-packman-package seems to be dead there is nothing more to test on SUSE linux.

Thanks for the whole work!

user2853

2017-07-14 22:09

  ~0009756

@bernhardb We have appimage builds https://github.com/FreeCAD/FreeCAD/releases/tag/0.17_pre that work cross distro. just downlaod the .AppImage and make it executable. Take the larger file from the link. The other is an old build that has netgen support. If you get a crash please report back.

Kunda1

2017-07-15 03:42

administrator   ~0009757

closing per 0002963:0009755

Issue History

Date Modified Username Field Change
2017-03-11 13:49 bernhardb New Issue
2017-03-12 13:29 kkremitzki Note Added: 0008612
2017-03-12 15:44 bernhardb Note Added: 0008615
2017-03-12 22:30 bernhardb Note Added: 0008618
2017-03-13 11:40 Kunda1 Priority normal => high
2017-03-13 11:40 Kunda1 Status new => confirmed
2017-03-13 11:40 Kunda1 Target Version => 0.17
2017-03-14 21:13 kkremitzki Note Added: 0008629
2017-03-15 21:17 bernhardb File Added: ldd_FreeCad
2017-03-15 21:17 bernhardb Note Added: 0008634
2017-03-15 22:44 kkremitzki Note Added: 0008635
2017-03-16 07:27 bernhardb File Added: FC.debug.zip
2017-03-16 07:27 bernhardb Note Added: 0008638
2017-05-08 04:59 Kunda1 Note Added: 0008911
2017-05-08 05:00 Kunda1 Status confirmed => feedback
2017-05-08 07:31 bernhardb File Added: freecad.crash.zip
2017-05-08 07:31 bernhardb Note Added: 0008915
2017-05-08 07:31 bernhardb Status feedback => new
2017-05-08 12:08 Kunda1 Note Added: 0008916
2017-05-09 04:54 bernhardb Note Added: 0008922
2017-07-12 02:46 Kunda1 Note Added: 0009726
2017-07-12 20:24 bernhardb Note Added: 0009748
2017-07-12 21:35 Kunda1 Tag Attached: distribution specific
2017-07-12 21:35 Kunda1 Tag Attached: upstream
2017-07-12 21:36 Kunda1 Note Added: 0009750
2017-07-12 21:36 Kunda1 Tag Detached: upstream
2017-07-12 21:36 Kunda1 Tag Attached: downstream
2017-07-12 21:37 Kunda1 Summary Opening the preferences-dialog leads to crash => Opening the preferences-dialog leads to crash (downstream packman-suse packaging issue)
2017-07-12 21:37 Kunda1 Tag Attached: #pending
2017-07-13 11:51 Kunda1 Note Added: 0009753
2017-07-14 19:54 bernhardb Note Added: 0009755
2017-07-14 22:09 user2853 Note Added: 0009756
2017-07-15 03:42 Kunda1 Status new => closed
2017-07-15 03:42 Kunda1 Resolution open => not fixable
2017-07-15 03:42 Kunda1 Note Added: 0009757
2017-07-15 03:43 Kunda1 Target Version 0.17 =>
2017-07-15 03:43 Kunda1 Tag Detached: #pending