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

Reply via email to