View Issue Details

IDProjectCategoryView StatusLast Update
0002808PartDesignBugpublic2017-03-21 02:39
Reportertex_downey Assigned Toyorik  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
OSLinuxOS Versionmint 17.3 
Product Version0.17 
Fixed in Version0.17 
Summary0002808: FreeCAD crashes when using the multitransform tool outside of body
DescriptionRunning version 0.17.8975 on Linux mint 17.3, X86.

FreeCAD crashes when using the multitransform tool. Seems to be really constant, I have made a video of the crash. Take a look, https://youtu.be/RV5wm3X9-ts

The reasoning was discussed here,

http://forum.freecadweb.org/viewtopic.php?f=19&t=18721

I now see what I am doing wrong the the bug seems to be worth fixing.


TagsNo tags attached.
FreeCAD Information

Activities

tex_downey

2016-12-02 17:24

reporter  

freecad crash (3,604 bytes)   
downey@downey-desktop ~ $ gdb freecad-daily
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from freecad-daily...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/freecad-daily 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
FreeCAD 0.17, Libs: 0.17R8975 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2016
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

[New Thread 0x7fffd7d92700 (LWP 28622)]
[New Thread 0x7fff93db1700 (LWP 28623)]
[New Thread 0x7fff935b0700 (LWP 28624)]
[New Thread 0x7fff926d6700 (LWP 28627)]
[New Thread 0x7fff83a19700 (LWP 28628)]
[New Thread 0x7fff83218700 (LWP 28629)]
[New Thread 0x7fff82a17700 (LWP 28630)]
[New Thread 0x7fff6cdaa700 (LWP 28633)]
[New Thread 0x7fff67dfa700 (LWP 28634)]
[Thread 0x7fff6cdaa700 (LWP 28633) exited]
[Thread 0x7fff67dfa700 (LWP 28634) exited]
Can't find Origin for "Body"
Can't find Origin for "Body"
[Thread 0x7fff82a17700 (LWP 28630) exited]
[Thread 0x7fff83218700 (LWP 28629) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6dbcf30 in App::PropertyLink::getValue() const ()
   from /usr/lib/freecad-daily/lib/libFreeCADApp.so
(gdb) bt
#0  0x00007ffff6dbcf30 in App::PropertyLink::getValue() const ()
   from /usr/lib/freecad-daily/lib/libFreeCADApp.so
#1  0x00007fff667bfa08 in ?? ()
   from /usr/lib/freecad-daily/lib/PartDesignGui.so
#2  0x00007fff667c0f68 in ?? ()
   from /usr/lib/freecad-daily/lib/PartDesignGui.so
#3  0x00007fff667c68d8 in prepareTransformed(Gui::Command*, std::string const&, boost::function<void (std::string, std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> >)>) ()
   from /usr/lib/freecad-daily/lib/PartDesignGui.so
#4  0x00007fff667c780e in CmdPartDesignMultiTransform::activated(int) ()
   from /usr/lib/freecad-daily/lib/PartDesignGui.so
#5  0x00007ffff741cb6c in Gui::Command::invoke(int) ()
   from /usr/lib/freecad-daily/lib/libFreeCADGui.so
#6  0x00007ffff537a87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007ffff5891a62 in QAction::triggered(bool) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007ffff5893433 in QAction::activate(QAction::ActionEvent) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007ffff5c4ab92 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007ffff5c4acbc in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
---Type <return> to continue, or q <return> to quit---Quit
(gdb) 

freecad crash (3,604 bytes)   

tex_downey

2016-12-02 17:34

reporter   ~0007510

Here is the model I used during the crash.

I have also attached the traceback report in the last post. During running the trace back the program only froze, it did not crash like the video shows.

Kunda1

2017-01-15 15:12

administrator   ~0007795

@normandc confirms this is a bug. Waiting on OP for a backtrace http://forum.freecadweb.org/viewtopic.php?f=19&t=18721&p=153549#p149259

normandc

2017-01-31 03:29

manager   ~0008117

Last edited: 2017-01-31 03:37

The OP already provided a log (see attached file "freecad crash") but it is incomplete. The last line reads "---Type <return> to continue, or q <return> to quit---Quit" so there was more stuff to show.

Whether a Debug build was used or not is unknown.

I reproduced the crash with Debug Symbols package installed (see https://forum.freecadweb.org/viewtopic.php?f=4&t=20347)

Attached complete backtrace "FC_issue_#2808_backtrace_20170130.log".

Steps to cause the crash:

1. Debug symbols package is installed
2. Launch freecad-daily using gdb
3. Open plate_2.fcstd file
4. Delete existing MultiTransform feature
5. Select Pocket
6. Click on the MultiTransform feature icon
7. At the prompt, select "Migrate manually"
8. FreeCAD crashes
9. Generate the backtrace

FreeCAD info:
OS: Ubuntu 14.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.9898 (Git)
Build type: None
Branch: master
Hash: 2d8461521964121b8ac7ac6ebe5f0d29dfe36343
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17

normandc

2017-01-31 03:29

manager  

FC_issue_#2808_backtrace_20170130.log (6,554 bytes)   
#0  App::PropertyLink::getValue (this=0x2d8)
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubuntu14.04.1/src/App/PropertyLinks.cpp:89
#1  0x00007fff5a477098 in operator() (__closure=<optimized out>, 
    __closure=<optimized out>, features=..., 
    FeatName="؞\303\002\000\000\000\000\b\000\000\000\000\000\000\000\220\274\377\377\377\177\000\000\200\274\377\377\377\177\000\000м\377\377\377\177\000\000@pGZ\377\177\000\000\360\274\377\377\377\177\000\000\370\205GZ\377\177\000\000p\034\305\366\377\177\000\000\240\274\377\377\377\177\000\000x\343\035\365\377\177\000\000\240\343\035\365\377\177\000\000\030\343\035\365\377\177\000\000@\343\035\365\377\177\000\000\330\343\035\365\377\177\000\000(\344\035\365\377\177\000\000p\274\377\377\377\177\000\000\b\000\000\000\000\000\000\000\070b`\000\000\000\000\000'\000\000\000\000\000\000\000h\024\326\002\000\000\000\000\335\006\000\000\001\000\000\000؞\303\002\000\000\000\000\b\276\377\377\377\177\000\000؞\303\002\000\000\000\000"...)
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubuntu14.04.1/src/Mod/PartDesign/Gui/Command.cpp:1887
#2  boost::detail::function::void_function_obj_invoker2<CmdPartDesignMultiTransform::activated(int)::__lambda20, void, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> > >::invoke(boost::detail::function::function_buffer &, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> >) (
---Type <return> to continue, or q <return> to quit---
    function_obj_ptr=..., a0="MultiTransform", a1=...)
    at /usr/include/boost/function/function_template.hpp:153
#3  0x00007fff5a4785f8 in operator() (
    a1=<error reading variable: access outside bounds of object referenced via synthetic pointer>, 
    a0="؞\303\002\000\000\000\000\b\276\377\377\377\177\000\000؞\303\002", '\000' <se r\377\377\377\377\377\377\377\377p\377\377\377\377\377\377\377\377te 12 fois>, "\001\000\000\000\000\000", this=0x7fffffffbfd0)
    at /usr/include/boost/function/function_template.hpp:767
#4  __lambda15::operator() (__closure=__closure@entry=0x7fffffffbfc0, 
    features=std::vector of length 1, capacity 1 = {...})
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubuntu14.04.1/src/Mod/PartDesign/Gui/Command.cpp:1544
#5  0x00007fff5a47e0f8 in prepareTransformed(Gui::Command*, std::string const&, boost::function<void (std::string, std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> >)>) (cmd=cmd@entry=0x268d580, 
    which="MultiTransform", func=...)
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubuntu14.04.1/src/Mod/PartDesign/Gui/Command.cpp:1586
#6  0x00007fff5a47f1ae in CmdPartDesignMultiTransform::activated (
    this=0x268d580, iMsg=<optimized out>)
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubuntu14.04.1/src/Mod/PartDesign/Gui/Command.cpp:1896
---Type <return> to continue, or q <return> to quit---
#7  0x00007ffff74337bc in Gui::Command::invoke (this=0x268d580, i=0)
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubuntu14.04.1/src/Gui/Command.cpp:300
#8  0x00007ffff538987a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007ffff58a0a62 in QAction::triggered(bool) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007ffff58a2433 in QAction::activate(QAction::ActionEvent) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#11 0x00007ffff5c59b92 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#12 0x00007ffff5c59cbc in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007ffff5d10aca in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007ffff58f651a in QWidget::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#15 0x00007ffff58a6e2c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#16 0x00007ffff58ad5dd in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007ffff740f891 in Gui::GUIApplication::notify (this=0x7fffffffd670, 
    receiver=0x2af5800, event=0x7fffffffca40)
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubu---Type <return> to continue, or q <return> to quit---
ntu14.04.1/src/Gui/GuiApplication.cpp:91
#18 0x00007ffff53754dd in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#19 0x00007ffff58acd93 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007ffff59219eb in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#21 0x00007ffff5921289 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007ffff5948b32 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#23 0x00007fffee214e04 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007fffee215048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fffee2150ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff53a27a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007ffff5948be6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007ffff53740af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#29 0x00007ffff53743a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#30 0x00007ffff5379b79 in QCoreApplication::exec() ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#31 0x00007ffff73cd7d1 in Gui::Application::runApplication ()
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubuntu14.04.1/src/Gui/Application.cpp:1735
#32 0x00000000004032cd in main (argc=1, argv=<optimized out>)
    at /build/freecad-daily-Hcj62j/freecad-daily-0.17~alpha1+git201701310035~ubuntu14.04.1/src/Main/MainGui.cpp:237

tex_downey

2017-01-31 03:37

reporter   ~0008118

OP here,

Looking back on the machine I used for this crash I have a FreeCad daily build on it. If I recall, I updated to the daily build when I was trying to solve the problem. I believe I needed to install a debug version to run the traceback and that is as far as I got.

Austin.

normandc

2017-01-31 03:40

manager   ~0008119

Hello Austin,
So your crash log is from the daily build. Debug symbols were just added this month. This is the first time I try it, so I don't have confirmation that it gives a backtrace equivalent to a Debug build.

tex_downey

2017-01-31 03:49

reporter   ~0008120

Normandc,

Yes, If I recall my debug was from a daily build I had on my laptop. The problem started on a "normal build", but I installed the daily build to see if the newest version had fixed the problem. It appears not,

Austin.

kkremitzki

2017-03-06 08:56

administrator   ~0008547

Last edited: 2017-03-06 08:57

Potential fix coming in FreeCAD Pull Request 598

Kunda1

2017-03-08 13:15

administrator   ~0008575

Last edited: 2017-03-08 13:18

PR was associated with a different tracker ticket so changeset was not associated with correct ticket. So i'm manually adding the links to the commits the fix can be found in:
FreeCAD master f8e83622
FreeCAD master 6cbb76b6
FreeCAD master 1d8ef649
FreeCAD master fdc3772c
FreeCAD master 256791d4

Patch created by usakhelo
Committed by @yorik

normandc

2017-03-11 05:43

manager   ~0008610

Last edited: 2017-03-11 05:44

I'm reopening this issue because the bug was not fixed (did anyone actually test before closing as fixed?)

With current master I still get a crash after following the steps I detailed in https://freecadweb.org/tracker/view.php?id=2808#c8117 only this time, the prompt reappears 2 or 3 times and after clicking on "Migrate manually" 3 or 4 times, FreeCAD crashes.

OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10460 (Git)
Build type: Release
Branch: master
Hash: 91c59c7910436c44ede608e29d9a90a287121a11
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0

poserge

2017-03-20 03:34

reporter   ~0008656

It's my fault, I've applied the fix to all the Transformed features except MultiTransform. This PR should fix it. I've also added a test ensure that Migrate dialog only appears once.

normandc

2017-03-21 02:39

manager   ~0008673

Last edited: 2017-03-21 02:39

Thanks, I can confirm the bug is fixed in current master.

OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10544 (Git)
Build type: Unknown
Branch: master
Hash: 69af452bc3b2b71942c1b92cef9a147feb7d5a43
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0

Related Changesets

FreeCAD: master 86cb37b3

2017-03-19 17:44:24

poserge


Committer: wmayer Details Diff
issue 0002808 Affected Issues
0002808
mod - src/Mod/PartDesign/Gui/Command.cpp Diff File

Issue History

Date Modified Username Field Change
2016-12-02 17:24 tex_downey New Issue
2016-12-02 17:24 tex_downey File Added: freecad crash
2016-12-02 17:34 tex_downey Note Added: 0007510
2017-01-15 15:12 Kunda1 Note Added: 0007795
2017-01-15 15:13 Kunda1 Summary FreeCAD crashes when using the multitransform tool putside of body => FreeCAD crashes when using the multitransform tool outside of body
2017-01-15 15:13 Kunda1 Description Updated
2017-01-16 07:45 Kunda1 Status new => confirmed
2017-01-31 03:29 normandc Note Added: 0008117
2017-01-31 03:29 normandc File Added: FC_issue_#2808_backtrace_20170130.log
2017-01-31 03:37 tex_downey Note Added: 0008118
2017-01-31 03:37 normandc Note Edited: 0008117
2017-01-31 03:40 normandc Note Added: 0008119
2017-01-31 03:49 tex_downey Note Added: 0008120
2017-03-06 08:56 kkremitzki Note Added: 0008547
2017-03-06 08:57 kkremitzki Note Edited: 0008547
2017-03-08 13:15 Kunda1 Note Added: 0008575
2017-03-08 13:18 Kunda1 Note Edited: 0008575
2017-03-08 13:18 Kunda1 Assigned To => yorik
2017-03-08 13:18 Kunda1 Status confirmed => closed
2017-03-08 13:18 Kunda1 Resolution open => fixed
2017-03-08 13:18 Kunda1 Fixed in Version => 0.17
2017-03-08 13:19 Kunda1 Product Version => 0.17
2017-03-11 05:43 normandc Status closed => confirmed
2017-03-11 05:43 normandc Note Added: 0008610
2017-03-11 05:44 normandc Note Edited: 0008610
2017-03-20 03:34 poserge Note Added: 0008656
2017-03-20 20:57 wmayer Changeset attached => FreeCAD master 86cb37b3
2017-03-20 20:58 wmayer Status confirmed => closed
2017-03-21 02:39 normandc Note Added: 0008673
2017-03-21 02:39 normandc Note Edited: 0008673