← Back to team overview

kicad-developers team mailing list archive

Re: Last layers for UIs

 

2014-07-04 14:50 GMT+02:00 Lorenzo Marcantonio <l.marcantonio@xxxxxxxxxxxx>:
> On Fri, Jul 04, 2014 at 02:28:14PM +0200, Nick Østergaard wrote:
>> Nice, it seems that one can now use the scroll whell to scroll the
>> lists. This fixes a bug AFIR. But between revision 4969 and 4970 (your
>> commit) kicad segfaults when I start pcbnew from the kicad app. I can
>> start pcbnew standalone no problem.
>
> I'm really surprised... the diff is *really* small, in practice about 10 lines.
> How could that happen?
>
> Could be that due some strange timing issue the UpdateLayouts member is
> called when something is not yet created?
>
> If you can't do a stacktrace try to comment the added lines in this way:
>
> (pcbnew/layer_widget.cpp)
>
> void LAYER_WIDGET::UpdateLayouts()
> {
>     m_LayersFlexGridSizer->Layout();
>     m_RenderFlexGridSizer->Layout();
>     //m_LayerPanel->Layout();      << THIS
>     //m_RenderingPanel->Layout();  << AND THIS
>     FitInside();
> }
>
> also details on you wx version could be useful, it's not the first time we hit
> 2.8 vs 3.0 inner behaviour differences


I am still on wx 3.0, below is the version info. I have pasted a gdb
backtrace, I am not sure if that is helpfull, but I can thy the change
you suggested when I get home.

Application: kicad
Version: (2014-07-04 BZR 4970)-kicad Release build
wxWidgets: Version 3.0.1 (debug,wchar_t,compiler with C++ ABI 1002,GCC
4.9.0,STL containers,compatible with 2.8)
Platform: Linux 3.15.2-1-ARCH x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.55.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=OFF
         KICAD_SCRIPTING_MODULES=OFF
         KICAD_SCRIPTING_WXPYTHON=OFF
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON


$ gdb kicad
GNU gdb (GDB) 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-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: /usr/bin/kicad
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe867c700 (LWP 28084)]
[New Thread 0x7fffe7e7b700 (LWP 28085)]
[New Thread 0x7fffe767a700 (LWP 28086)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6435768 in std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t>
>::basic_string(std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&) () from /usr/lib/libstdc++.so.6
(gdb) bt
#0  0x00007ffff6435768 in std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t>
>::basic_string(std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&) () from /usr/lib/libstdc++.so.6
#1  0x00007ffff6fd80ca in wxStaticTextBase::GetEllipsizedLabel() const
() from /usr/lib/libwx_gtk2u_core-3.0.so.0
#2  0x00007fffe62f9a11 in PCB_LAYER_WIDGET::SyncLayerVisibilities() ()
from /usr/bin/_pcbnew.kiface
#3  0x00007fffe62e4054 in PCB_EDIT_FRAME::syncLayerVisibilities() ()
from /usr/bin/_pcbnew.kiface
#4  0x00007fffe64d4d53 in
PCB_EDIT_FRAME::OpenProjectFiles(std::vector<wxString,
std::allocator<wxString> > const&, int) () from
/usr/bin/_pcbnew.kiface
#5  0x0000000000453d01 in KICAD_MANAGER_FRAME::OnRunPcbNew(wxCommandEvent&) ()
#6  0x00007ffff66eb29e in
wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
wxEvent&) const () from /usr/lib/libwx_baseu-3.0.so.0
#7  0x00007ffff688a7d8 in
wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) () from /usr/lib/libwx_baseu-3.0.so.0
#8  0x00007ffff688c5c3 in wxEventHashTable::HandleEvent(wxEvent&,
wxEvtHandler*) () from /usr/lib/libwx_baseu-3.0.so.0
#9  0x00007ffff688c648 in wxEvtHandler::TryHereOnly(wxEvent&) () from
/usr/lib/libwx_baseu-3.0.so.0
#10 0x000000000047855a in EDA_BASE_FRAME::ProcessEvent(wxEvent&) ()
#11 0x00007ffff688a9a3 in wxEvtHandler::DoTryChain(wxEvent&) () from
/usr/lib/libwx_baseu-3.0.so.0
#12 0x00007ffff688c735 in wxEvtHandler::ProcessEvent(wxEvent&) () from
/usr/lib/libwx_baseu-3.0.so.0
#13 0x00007ffff7012268 in wxWindowBase::TryAfter(wxEvent&) () from
/usr/lib/libwx_gtk2u_core-3.0.so.0
#14 0x00007ffff7012268 in wxWindowBase::TryAfter(wxEvent&) () from
/usr/lib/libwx_gtk2u_core-3.0.so.0
#15 0x00007ffff688a9f7 in wxEvtHandler::SafelyProcessEvent(wxEvent&)
() from /usr/lib/libwx_baseu-3.0.so.0
#16 0x00007ffff6e51479 in ?? () from /usr/lib/libwx_gtk2u_core-3.0.so.0
#17 0x00007ffff4f6e607 in ?? () from /usr/lib/libgobject-2.0.so.0
#18 0x00007ffff4f870a8 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#19 0x00007ffff4f87d02 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#20 0x00007ffff54ef185 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#21 0x00007ffff4f6e3d8 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#22 0x00007ffff4f7f577 in ?? () from /usr/lib/libgobject-2.0.so.0
#23 0x00007ffff4f87a49 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#24 0x00007ffff4f87d02 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#25 0x00007ffff54ee0b9 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#26 0x00007ffff55948bf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#27 0x00007ffff4f6e3d8 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff4f7fb1b in ?? () from /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff4f87719 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#30 0x00007ffff4f87d02 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#31 0x00007ffff56abaac in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#32 0x00007ffff5593004 in gtk_propagate_event () from
/usr/lib/libgtk-x11-2.0.so.0
#33 0x00007ffff559349b in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#34 0x00007ffff5208e4c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#35 0x00007ffff482eb84 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#36 0x00007ffff482edc8 in ?? () from /usr/lib/libglib-2.0.so.0
#37 0x00007ffff482f08a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#38 0x00007ffff5592417 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#39 0x00007ffff6dd7545 in wxGUIEventLoop::DoRun() () from
/usr/lib/libwx_gtk2u_core-3.0.so.0
#40 0x00007ffff672fad0 in wxEventLoopBase::Run() () from
/usr/lib/libwx_baseu-3.0.so.0
#41 0x00007ffff66edb76 in wxAppConsoleBase::MainLoop() () from
/usr/lib/libwx_baseu-3.0.so.0
#42 0x0000000000450499 in APP_KICAD::OnRun() ()
#43 0x00007ffff678995d in wxEntry(int&, wchar_t**) () from
/usr/lib/libwx_baseu-3.0.so.0
#44 0x0000000000431f9e in main ()
(gdb)


Follow ups

References