On Sat, Apr 07, 2018 at 09:33:08PM +0200, Carsten Schoenert wrote: > Hi, > > please test a rebuild of KiCad 5.0.05.0.0~rc1+dfsg1+20180318 which is > using libwxgtk3.0-gtk3-dev to get a proper GTK3 bindings.
I've tested this new build, and I can now start pcbnew including with latest version python-wxgtk3.0, so this seems to fix the issue. Thanks ! Now this has uncovered another GTK+3 related issue for me in pcbnew. If I enable "Modern Toolset (Accelerated)" in the Preferences menu, pcbnew segfaults. It looks like it might be related to using wxGLCanvasX11 (ie. calling libGLX and libX11) even though this GTK+3 build is now using Wayland instead of X11. Here is the backtrace I got: Thread 1 "kicad" received signal SIGSEGV, Segmentation fault. 0x00007ffff23aac49 in XQueryExtension () from /usr/lib/x86_64-linux-gnu/libX11.so.6 (gdb) disassemble $pc-32,$pc+32 Dump of assembler code from 0x7ffff23aac29 to 0x7ffff23aac69: 0x00007ffff23aac29 <XQueryExtension+25>: sub $0x38,%rsp 0x00007ffff23aac2d <XQueryExtension+29>: mov %fs:0x28,%rax 0x00007ffff23aac36 <XQueryExtension+38>: mov %rax,0x28(%rsp) 0x00007ffff23aac3b <XQueryExtension+43>: xor %eax,%eax 0x00007ffff23aac3d <XQueryExtension+45>: mov 0x968(%rdi),%rax 0x00007ffff23aac44 <XQueryExtension+52>: test %rax,%rax 0x00007ffff23aac47 <XQueryExtension+55>: je 0x7ffff23aac4b <XQueryExtension+59> => 0x00007ffff23aac49 <XQueryExtension+57>: callq *(%rax) 0x00007ffff23aac4b <XQueryExtension+59>: mov $0x8,%edx 0x00007ffff23aac50 <XQueryExtension+64>: mov $0x62,%esi 0x00007ffff23aac55 <XQueryExtension+69>: mov %rbx,%rdi 0x00007ffff23aac58 <XQueryExtension+72>: callq 0x7ffff238db90 <_XGetRequest@plt> 0x00007ffff23aac5d <XQueryExtension+77>: test %rbp,%rbp 0x00007ffff23aac60 <XQueryExtension+80>: mov %rax,%r15 0x00007ffff23aac63 <XQueryExtension+83>: je 0x7ffff23aad10 <XQueryExtension+256> End of assembler dump. (gdb) bt #0 0x00007ffff23aac49 in XQueryExtension () at /usr/lib/x86_64-linux-gnu/libX11.so.6 #1 0x00007fffef2ea3b2 in () at /usr/lib/x86_64-linux-gnu/libGLX.so.0 #2 0x00007fffef2e6415 in glXQueryVersion () at /usr/lib/x86_64-linux-gnu/libGLX.so.0 #3 0x00007ffff7bcfe95 in wxGLCanvasX11::GetGLXVersion() () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_gl-3.0.so.0 #4 0x00007ffff7bd0535 in wxGLCanvasX11::ConvertWXAttrsToGL(int const*, int*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_gl-3.0.so.0 #5 0x00007ffff7bd0d68 in wxGLCanvasX11::InitXVisualInfo(int const*, __GLXFBConfigRec***, XVisualInfo**) () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_gl-3.0.so.0 #6 0x00007ffff7bd1e70 in wxGLCanvas::Create(wxWindow*, int, wxPoint const&, wxSize const&, long, wxString const&, int const*, wxPalette const&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_gl-3.0.so.0 #7 0x00007ffff7bd2013 in wxGLCanvas::wxGLCanvas(wxWindow*, int, int const*, wxPoint const&, wxSize const&, long, wxString const&, wxPalette const&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_gl-3.0.so.0 #8 0x00007fffd1aedbd9 in HIDPI_GL_CANVAS::HIDPI_GL_CANVAS(wxWindow*, int, int const*, wxPoint const&, wxSize const&, long, wxString const&, wxPalette const&) (this=0x5555585c4ea0, parent=<optimized out>, id=<optimized out>, attribList=<optimized out>, pos=..., size=..., style=8192, name=..., palette=...) at ./common/gal/hidpi_gl_canvas.cpp:38 #9 0x00007fffd1b09285 in KIGFX::OPENGL_GAL::OPENGL_GAL(KIGFX::GAL_DISPLAY_OPTIONS&, wxWindow*, wxEvtHandler*, wxEvtHandler*, wxString const&) (this=0x5555585c4bb0, aDisplayOptions=..., aParent=0x555557d7f120, aMouseListener=0x555557d7f120, aPaintListener=0x555557d7f120, aName=...) at ./common/gal/opengl/opengl_gal.cpp:74 #10 0x00007fffd1ae4b84 in EDA_DRAW_PANEL_GAL::SwitchBackend(EDA_DRAW_PANEL_GAL::GAL_TYPE) (this=this@entry=0x555557d7f120, aGalType=EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL) at ./common/draw_panel_gal.cpp:350 #11 0x00007fffd189a01e in PCB_DRAW_PANEL_GAL::SwitchBackend(EDA_DRAW_PANEL_GAL::GAL_TYPE) (this=0x555557d7f120, aGalType=<optimized out>) at ./pcbnew/pcb_draw_panel_gal.cpp:396 #12 0x00007fffd19e997f in EDA_DRAW_FRAME::SwitchCanvas(EDA_DRAW_PANEL_GAL::GAL_TYPE) (this=0x555557d652b0, aCanvasType=EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL) at ./common/draw_frame.cpp:1195 #13 0x00007fffd147d249 in PCB_EDIT_FRAME::OnSwitchCanvas(wxCommandEvent&) (this=0x555557d652b0, aEvent=...) at ./pcbnew/pcb_edit_frame.cpp:1215 #14 0x00007ffff654a8ce in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #15 0x00007ffff654a9d3 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #16 0x00007ffff654ad9b in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #17 0x00007fffd1a0e1eb in EDA_BASE_FRAME::ProcessEvent(wxEvent&) (this=0x555557d652b0, aEvent=...) at ./common/eda_base_frame.cpp:191 #18 0x00007ffff654ab93 in wxEvtHandler::DoTryChain(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #19 0x00007ffff654ae85 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #20 0x00007ffff6e88c6b in wxWindowBase::TryAfter(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0 #21 0x00007ffff654abe7 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #22 0x00007ffff6e3b51b in wxMenuBase::SendEvent(int, int) () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0 #23 0x00007ffff6d2921b in () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0 #24 0x00007ffff26bef6d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #25 0x00007ffff26d1d3e in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #26 0x00007ffff26da3f5 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #27 0x00007ffff26dae0f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #28 0x00007ffff2f70a9c in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #29 0x00007ffff26bef6d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #30 0x00007ffff26d1d3e in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #31 0x00007ffff26d9d8f in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #32 0x00007ffff26dae0f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #33 0x00007ffff2cf8bb8 in gtk_accel_group_activate () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #34 0x00007ffff2cfa44d in gtk_accel_groups_activate () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #35 0x00007ffff2f92dd9 in gtk_window_activate_key () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #36 0x00007ffff6cc40fb in () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0 #37 0x00007ffff2e27e1b in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #38 0x00007ffff26bef6d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #39 0x00007ffff26d1d3e in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #40 0x00007ffff26d9d8f in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #41 0x00007ffff26dae0f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #42 0x00007ffff2f6f254 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #43 0x00007ffff2e24f5f in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #44 0x00007ffff2e26f68 in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #45 0x00007ffff29399b5 in () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 #46 0x00007ffff2994302 in () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 #47 0x00007ffff1c3e287 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #48 0x00007ffff1c3e4c0 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #49 0x00007ffff1c3e7d2 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #50 0x00007ffff2e26045 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #51 0x00007ffff6cb0cc5 in wxGUIEventLoop::DoRun() () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0 #52 0x00007ffff6406ea3 in wxEventLoopBase::Run() () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #53 0x00007ffff63ce4b6 in wxAppConsoleBase::MainLoop() () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #54 0x00005555555c6d09 in APP_KICAD::OnRun() (this=<optimized out>) at ./kicad/kicad.cpp:233 #55 0x00007ffff6458ef9 in wxEntry(int&, wchar_t**) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #56 0x00005555555ae0a2 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./kicad/kicad.cpp:265 Regards. -- Aurel