Crash bug in master from a few minutes ago

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Crash bug in master from a few minutes ago

Post by jmaustpc »

Hi all
I just updated a hour or so ago and now I am getting a crash when I try to edit an existing sketch or after I create a new sketch and add first a sketcher circle then surround it with a sketcher rectangle.

this version does not crash
OS: Ubuntu 14.04.3 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6274 (Git)
Build type: Release
Branch: master
Hash: cbdd18cef6338038ed9e06a1773d4d55f231e46e
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17



but this version does crash

OS: Ubuntu 14.04.3 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6362 (Git)
Build type: Debug
Branch: master
Hash: fe959b898638d4f683704c33bf6667d9cd56d623
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.9.1.oce-0.18-dev


is anyone else seeing this?
User avatar
rockn
Veteran
Posts: 1791
Joined: Wed Sep 28, 2011 10:39 am
Location: Toulouse, France
Contact:

Re: Crash bug in master from a few minutes ago

Post by rockn »

Yes, I'm seeing the same.
It look like it's since git commit 8219102

Code: Select all

OS: Ubuntu 14.04.3 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6351 (Git)
Build type: Unknown
Branch: bugtrack-onSuspect
Hash: 8219102dbef87ece2100ea408542831a5b27242a
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
BT

Code: Select all

gdb ../master_install/bin/FreeCAD
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"
---Type <return> to continue, or q <return> to quit---
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/>.
---Type <return> to continue, or q <return> to quit---
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 ../master_install/bin/FreeCAD...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/jo/Logiciels/FreeCAD/free-cad-code/master_install/bin/FreeCAD 
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
FreeCAD 0.16, Libs: 0.16R6351 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2015
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

Fasteners workbench Loaded
Arch workbench activated
[New Thread 0x7fffb77f3700 (LWP 11264)]

Program received signal SIGSEGV, Segmentation fault.
_int_malloc (av=0x7ffff453d760 <main_arena>, bytes=16) at malloc.c:3302
3302	malloc.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  _int_malloc (av=0x7ffff453d760 <main_arena>, bytes=16) at malloc.c:3302
#1  0x00007ffff42017b0 in __GI___libc_malloc (bytes=16) at malloc.c:2891
#2  0x00007ffff47b8dad in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff694ea61 in boost::any::any<boost::any const>(boost::any const&&, boost::disable_if<boost::is_same<boost::any&, boost::any const>, void>::type*) ()
   from /home/jo/Logiciels/FreeCAD/free-cad-code/master_install/lib/libFreeCADApp.so
---Type <return> to continue, or q <return> to quit---
#4  0x00007ffff694f235 in boost::any::holder<boost::any const>::holder(boost::any const&&) () from /home/jo/Logiciels/FreeCAD/free-cad-code/master_install/lib/libFreeCADApp.so
#5  0x00007ffff694ea73 in boost::any::any<boost::any const>(boost::any const&&, boost::disable_if<boost::is_same<boost::any&, boost::any const>, void>::type*) ()
   from /home/jo/Logiciels/FreeCAD/free-cad-code/master_install/lib/libFreeCADApp.so
#6  0x00007ffff694f235 in boost::any::holder<boost::any const>::holder(boost::any const&&) () from /home/jo/Logiciels/FreeCAD/free-cad-code/master_install/lib/libFreeCADApp.so
#7  0x00007ffff694ea73 in boost::any::any<boost::any const>(boost::any const&&, boost::disable_if<boost::is_same<boost::any&, boost::any const>, void>::type*) ()
---Type <return> to continue, or q <return> to quit---

Thanks Jim, I was trying to make a clear post on that but was too slow to write it ;)
Formations - Assistance - Développement : https://freecad-france.com
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Crash bug in master from a few minutes ago

Post by sgrogan »

I think Line 71 and 72 of CMakeLists.txt form Rockn's link should be

Code: Select all

    ENDIF(GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
I'm compiling master on Travis-CI (No linux here) if the self tests catch the error I'll try the potential fix.
EDIT:Unit tests don't catch the error on Travis-CI so I can't test the potential fix now.
EDIT2:See Here https://github.com/FreeCAD/FreeCAD/pull/83
"fight the good fight"
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Crash bug in master from a few minutes ago

Post by sgrogan »

OK, I think I got it :)
Potential patch forthcoming.
"fight the good fight"
ian.rees
Posts: 696
Joined: Sun Jun 15, 2014 3:28 am
Contact:

Re: Crash bug in master from a few minutes ago

Post by ian.rees »

In case this isn't what sgrogan found: I think there's a bug at src/App/DocumentObject.cpp line 275 - the boost::any constructor essentially runs off into an infinite loop when -std=c++11 is enabled [edit: *on an essentially stock Ubuntu 14.04]. -Ian-
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Crash bug in master from a few minutes ago

Post by sgrogan »

ian.rees wrote:n case this isn't what sgrogan found:
No this isn't and as it turns out I got exicited a little to early :(
"fight the good fight"
User avatar
yorik
Founder
Posts: 13665
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Crash bug in master from a few minutes ago

Post by yorik »

ian.rees wrote:[edit: *on an essentially stock Ubuntu 14.04]. -Ian-
Apparently yes. For me everything seems to run fine (debian testing: gcc 5.3.1 + boost 1.58)
User avatar
rockn
Veteran
Posts: 1791
Joined: Wed Sep 28, 2011 10:39 am
Location: Toulouse, France
Contact:

Re: Crash bug in master from a few minutes ago

Post by rockn »

On Ubuntu 14.04 :
boost 1.54
gcc 4.8
Formations - Assistance - Développement : https://freecad-france.com
ian.rees
Posts: 696
Joined: Sun Jun 15, 2014 3:28 am
Contact:

Re: Crash bug in master from a few minutes ago

Post by ian.rees »

There's a bug in boost 1.54 (fixed in 1.55 http://lists.boost.org/Archives/boost/2 ... 206955.php ) which is the cause of this crash. I've made a super quick attempt at a fix, not sure if it found all cases: https://github.com/ianrrees/FreeCAD_tin ... workaround -Ian-
User avatar
rockn
Veteran
Posts: 1791
Joined: Wed Sep 28, 2011 10:39 am
Location: Toulouse, France
Contact:

Re: Crash bug in master from a few minutes ago

Post by rockn »

Hi Ian,

It compile and run fine with your fix.

Thanks.
Formations - Assistance - Développement : https://freecad-france.com
Post Reply