segfault with Kicad 4.0.7 on Linux Mint 19 when starting PcbNew

Bug #1784139 reported by Karl Zeilhofer
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kicad (Ubuntu)
New
Undecided
Unassigned

Bug Description

I've just upgraded Linux Mint from V18.3 to V19.
Then I installed KiCad V4.0.7 from the recommended V4 PPA:
sudo add-apt-repository ppa:js-reynaud/kicad-4
sudo apt update
sudo apt install kicad

eeschema runs now without ghosting cursor, but pcbnew crashes immediately.

here is the backtrace from a gdb session:

karl@karle570 ~ $ gdb kicad
GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 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-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
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe5758700 (LWP 12997)]
[New Thread 0x7fffe4f57700 (LWP 12998)]
[New Thread 0x7fffdffff700 (LWP 12999)]

Thread 1 "kicad" received signal SIGSEGV, Segmentation fault.
0x00007fffd214dbb7 in wxStatusBarBase::CalculateAbsWidths(int) const ()
   from /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
(gdb) thread apply all bt

Thread 4 (Thread 0x7fffdffff700 (LWP 12999)):
#0 0x00007ffff5abc839 in syscall ()
    at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007ffff4760f2a in g_cond_wait_until ()
    at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff46ee4f1 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff46eeaac in g_async_queue_timeout_pop ()
    at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007ffff47438ae in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff4742e05 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007ffff65be6db in start_thread (arg=0x7fffdffff700)
    at pthread_create.c:463
#7 0x00007ffff5ac288f in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffe4f57700 (LWP 12998)):
#0 0x00007ffff5ab5bf9 in __GI___poll (fds=0x555555b7ff90, nfds=2, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ffff471b439 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff471b7d2 in g_main_loop_run ()
    at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff0a8de76 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#4 0x00007ffff4742e05 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff65be6db in start_thread (arg=0x7fffe4f57700) at pthread_create.c:463
#6 0x00007ffff5ac288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffe5758700 (LWP 12997)):
#0 0x00007ffff5ab5bf9 in __GI___poll (fds=0x555555ab2990, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ffff471b439 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff471b54c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff471b591 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007ffff4742e05 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff65be6db in start_thread (arg=0x7fffe5758700) at pthread_create.c:463
#6 0x00007ffff5ac288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff7f76300 (LWP 12977)):
#0 0x00007fffd214dbb7 in wxStatusBarBase::CalculateAbsWidths(int) const () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#1 0x00007fffd1feda2e in wxStatusBar::DoUpdateFieldWidths() () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#2 0x00007fffd1fedd09 in wxStatusBar::OnSize(wxSizeEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#3 0x00007ffff69b94be in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#4 0x00007ffff69b95c3 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#5 0x00007ffff69b998b in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#6 0x00007ffff69b9a13 in wxEvtHandler::ProcessEventLocally(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#7 0x00007ffff69b9a75 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#8 0x00007ffff69b97d7 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#9 0x00007ffff6edd66e in wxWindow::DoSetSize(int, int, int, int, int) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#10 0x00007ffff6f1c07d in wxStatusBar::Create(wxWindow*, int, long, wxString const&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#11 0x00007ffff6fec096 in wxFrameBase::OnCreateStatusBar(int, long, int, wxString const&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#12 0x00007ffff6fec273 in wxFrameBase::CreateStatusBar(int, long, int, wxString const&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#13 0x00007fffdf07443b in () at /usr/bin/_pcbnew.kiface
#14 0x00007fffdee9c33a in () at /usr/bin/_pcbnew.kiface
#15 0x00007fffde8e263a in () at /usr/bin/_pcbnew.kiface
#16 0x00007fffde8bcb8b in () at /usr/bin/_pcbnew.kiface
#17 0x0000555555604cb0 in ()
#18 0x00005555555c1559 in ()
#19 0x00005555555c1965 in ()
#20 0x00007ffff69b94be in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#21 0x00007ffff69b95c3 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#22 0x00007ffff69b998b in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#23 0x00005555555e89ab in ()
#24 0x00007ffff69b9783 in wxEvtHandler::DoTryChain(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#25 0x00007ffff69b9a75 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#26 0x00007ffff70a518b in wxWindowBase::TryAfter(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#27 0x00007ffff70a518b in wxWindowBase::TryAfter(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#28 0x00007ffff69b97d7 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#29 0x00007ffff6f234b7 in () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#30 0x00007ffff4e65f6d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#31 0x00007ffff4e788d1 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#32 0x00007ffff4e813f5 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#33 0x00007ffff4e81e0f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007ffff53ec6f5 in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#35 0x00007ffff4e65f6d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff4e78e0e in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007ffff4e813f5 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007ffff4e81e0f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007ffff53eb679 in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#40 0x00007ffff549138b in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#41 0x00007ffff4e65f6d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#42 0x00007ffff4e78ac8 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#43 0x00007ffff4e80d8f in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#44 0x00007ffff4e81e0f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#45 0x00007ffff55a72bc in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#46 0x00007ffff548f62c in gtk_propagate_event () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#47 0x00007ffff548fa2b in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#48 0x00007ffff510502c in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#49 0x00007ffff471b287 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#50 0x00007ffff471b4c0 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#51 0x00007ffff471b7d2 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007ffff548ea37 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#53 0x00007ffff6ec2b05 in wxGUIEventLoop::DoRun() () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#54 0x00007ffff6875a93 in wxEventLoopBase::Run() () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#55 0x00007ffff683d0a6 in wxAppConsoleBase::MainLoop() () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#56 0x00005555555be4a9 in ()
#57 0x00007ffff68c7ae9 in wxEntry(int&, wchar_t**) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#58 0x00005555555a1b4e in ()
#59 0x00007ffff59c2b97 in __libc_start_main (main=0x5555555a1b20, argc=1, argv=0x7fffffffdde8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffddd8) at ../csu/libc-start.c:310
#60 0x00005555555a66fa in _start ()

description: updated
Revision history for this message
Tomasz Wlostowski (twlostow) wrote :

@jeyjey Jeff, didn't you fix similar issues in the past?

Tom

tags: added: 4.0.7
tags: removed: 4.0.7
Revision history for this message
Seth Hillbrand (sethh) wrote :

This is the GTK2-GTK3 incompatibility issue.

Compare stacktrace lines 2 and 10 - One calls libwx_gtk3u_core and one calls libwx_gtk2u_core

#2 0x00007fffd1fedd09 in wxStatusBar::OnSize(wxSizeEvent&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk3u_core-3.0.so.0
#10 0x00007ffff6f1c07d in wxStatusBar::Create(wxWindow*, int, long, wxString const&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0

Revision history for this message
Karl Zeilhofer (zeilhofer) wrote :

Thank you Seth,
how can I deal with this? Do I understand this correctly, that this is an issue at compile time of KiCad?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.