← Back to team overview

kicad-developers team mailing list archive

Re: 3D refactor update (segfaults here)

 

Hi, Cirilo

On 2016-01-18 09:59, Cirilo Bernardo wrote:
>  I have reworked the new 3D code and would appreciate some testing/feedback
> on the 3D path configuration and name resolution. This is (hopefully) the last
> hurdle before merging the code with the main branch, which in turn will be the
> first step towards implementing the new 3D Viewer.
> 
>  Those who have tried previous versions will need to:
> a. delete all cache files (in the kicad config. directory under 3d/cache) and
> b. delete the older 3D search path list (in the kicad config. dir 3d/3Dresolver.cfg)
> 
>  All existing projects should be able to locate and render their VRML models;
> X3D models are not yet supported (the code hasn't been converted to a plugin
> module yet) but from feedback I have received, X3D models are not commonly
> used.
> 
> bazaar.launchpad.net/~cirilo-bernardo/kicad/3d_initial_merge <http://bazaar.launchpad.net/~cirilo-bernardo/kicad/3d_initial_merge>


As you know, I am usually on the git side, but since you asked
politely, I branched your 3d_initial_merge to give it a try... ;-)

So I do my usual:
$ bzr clone http://bazaar.launchpad.net/~cirilo-bernardo/kicad/3d_initial_merge
$ cd 3d_initial_merge
$ rm -r build
$ mkdir -p build/release
$ cd build/release
$ cmake 	-DCMAKE_INSTALL_PREFIX=~/SW \
	-DDEFAULT_INSTALL_PATH=~/SW \
	-DKICAD_SKIP_BOOST=ON \
	-DKICAD_SCRIPTING=ON \
	-DKICAD_SCRIPTING_MODULES=ON \
	-DKICAD_SCRIPTING_WXPYTHON=ON \
	../../
$ make -j8
$ make install

... seems to compile fine and gets installed as usual.

An optional:
$ rm -r ~/.config/kicad
made sure, we start from scratch, but without any effect.

$ cd ~/SW/bin
$ PYTHONPATH=~/SW/lib/python2.7/site-packages/ ./kicad

runs kicad, but I get a segfault when I open pcbnew or
the footprint editor by clicking on the buttons.

Details:
$ gdb ./kicad
GNU gdb (GDB) 7.10.1
Copyright (C) 2015 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-unknown-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 ./kicad...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/admin/SW/bin/kicad 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe7583700 (LWP 21633)]
[New Thread 0x7fffe6d82700 (LWP 21634)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff31488c0 in ?? () from /usr/lib/libgobject-2.0.so.0
(gdb) bt
#0  0x00007ffff31488c0 in ?? () from /usr/lib/libgobject-2.0.so.0
#1  0x00007ffff3151dfc in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#2  0x00007ffff315212f in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#3  0x00007ffff3785e00 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#4  0x00007ffff313d7b8 in g_object_run_dispose () from /usr/lib/libgobject-2.0.so.0
#5  0x00007ffff6cbc840 in wxButtonBase::GetDefaultSize() () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#6  0x00007ffff6cbc89a in wxButton::DoGetBestSize() const () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#7  0x00007ffff6e5c219 in wxWindowBase::GetBestSize() const () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#8  0x00007ffff6e5c348 in wxWindowBase::GetEffectiveMinSize() const () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#9  0x00007ffff6e5c440 in wxWindowBase::SetInitialSize(wxSize const&) () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#10 0x00007ffff6cbc60e in wxButton::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxValidator const&, wxString const&) () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#11 0x00007ffff6ea6d3d in ?? () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#12 0x00007ffff6ea7d41 in wxLogGui::DoShowMultipleLogMessages(wxArrayString const&, wxArrayInt const&, wxArrayLong const&, wxString const&, int) () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#13 0x00007ffff6ea26d2 in wxLogGui::Flush() () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#14 0x00007ffff63ee9c1 in wxLog::SetActiveTarget(wxLog*) () from /usr/lib/libwx_baseu-3.0.so.0
#15 0x00007ffff63deaf8 in wxEntryCleanup() () from /usr/lib/libwx_baseu-3.0.so.0
#16 0x00007ffff63debac in wxUninitialize() () from /usr/lib/libwx_baseu-3.0.so.0
#17 0x00007ffff63e01f4 in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-3.0.so.0
#18 0x000000000041fd08 in ?? ()
#19 0x00007ffff3c91610 in __libc_start_main () from /usr/lib/libc.so.6
#20 0x0000000000424e79 in _start ()


Let me know if I am sitting on a badly compiled horse or if I should dig
further into the debugging in a debug build...

Setting PYTHONPATH seems unrelated to the segfault.
(Kicad runs with python 3.5.1 at least without complaining
as mentioned ~a week ago.)


Regards,

Clemens



Follow ups

References