pcbnew crashes when creating any fill boundary

Bug #1782449 reported by Paul Hansel on 2018-07-18
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
KiCad
Critical
Maciej Suminski

Bug Description

On any .kicad_pcb file, pcbnew (6.0.0-rc1-dev-84-g93c173f) crashes with a failed assertion dialog box on the first point of a fill/pour outline. "Continue" and "Stop" both result in a segfault.

ASSERT INFO:
../src/common/datavcmn.cpp(641): assert "variant.GetType() == "wxDataViewIconText"" failed in operator<<().

BACKTRACE:
[1] operator<<(wxDataViewIconText&, wxVariant const&)
[2] wxDataViewIconTextRenderer::SetValue(wxVariant const&)
[3] gtk_tree_view_column_cell_set_cell_data
[4] g_closure_invoke
[5] g_signal_emit_valist
[6] g_signal_emit
[7] gtk_main_do_event
[8] gdk_window_process_all_updates
[9] g_main_context_dispatch
[10] g_main_loop_run
[11] gtk_main
[12] wxGUIEventLoop::DoRun()
[13] wxEventLoopBase::Run()
[14] wxDialog::ShowModal()
[15] make_fcontext

Application: kicad
Version: (6.0.0-rc1-dev-84-g93c173f), release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.4.0-130-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=OFF
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Paul Hansel (paulhansel) wrote :
Download full text (4.8 KiB)

Here is the gdb backtrace from just running "gdb pcbnew":

(gdb) bt
#0 0x00007ffff6cfdcf8 in wxObject::Ref(wxObject const&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#1 0x00007fffe916cf21 in operator<<(wxDataViewIconText&, wxVariant const&) ()
   from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#2 0x00007fffe92243b5 in wxDataViewIconTextRenderer::SetValue(wxVariant const&) ()
   from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#3 0x00007fffe922786d in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#4 0x00007ffff594ff4a in gtk_tree_view_column_cell_set_cell_data ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#5 0x00007ffff593b5e0 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#6 0x00007ffff593ced5 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#7 0x00007ffff5846aec in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#8 0x00007ffff521bfa5 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x00007ffff522e56e in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff52367f9 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff523708f in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff595e93c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#13 0x00007ffff58458a2 in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#14 0x00007ffff54a0b9f in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#15 0x00007ffff54a0b45 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#16 0x00007ffff54a0b45 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#17 0x00007ffff549d671 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#18 0x00007ffff549dfa8 in gdk_window_process_all_updates () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#19 0x00007ffff57ca971 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#20 0x00007ffff547cd57 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#21 0x00007ffff45b604a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff45b63f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff45b6712 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff5844697 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff752bed5 in wxGUIEventLoop::DoRun() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#26 0x00007ffff6c89353 in wxEventLoopBase::Run() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#27 0x00007ffff75aecdd in wxDialog::ShowModal() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#28 0x00007fffda86c27e in InvokeCopperZonesEditor(PCB_BASE_FRAME*, ZONE_SETTINGS*) ()
   from /usr/local/bin/_pcbnew.kiface
#29 0x00007fffdac27865 in ZONE_CREATE_HELPER::createNewZone(bool) () from /usr/local/bin/_pcbnew.kiface
#30 0x00007fffdac28331 in ZONE_CREATE_HELPER::OnFirstPoint(POLYGON_GEOM_MANAGER&) ()
   from /usr/local/bin/_pcbnew.kiface
#31 0x00007fffdb1a8a59 in POLYGON_GEOM_MANAGER::AddPoint(VECTOR2<int> const&) () from /usr...

Read more...

Changed in kicad:
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Maciej Suminski (orsonmmz)

Seems like I have the same problem. I first encountered this when trying to define a keep-out area, but it also happens when trying to edit a fill area.

I am on Ubuntu Bionic

kicad:
  Installed: 201807180650+879ffa4~65~ubuntu18.04.1
  Candidate: 201807180650+879ffa4~65~ubuntu18.04.1
  Version table:
 *** 201807180650+879ffa4~65~ubuntu18.04.1 500
        500 http://ppa.launchpad.net/js-reynaud/ppa-kicad/ubuntu bionic/main amd64 Packages

gdb:
voit@bbo3084 ~/Documents/KiCAD/hawk_data_logger (master*) $ gdb pcbnew
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 pcbnew...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/pcbnew
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe043c700 (LWP 27519)]
[New Thread 0x7fffdfc3b700 (LWP 27520)]
[New Thread 0x7fffdf43a700 (LWP 27521)]
[New Thread 0x7fffdec39700 (LWP 27522)]
[New Thread 0x7fffde438700 (LWP 27523)]
[New Thread 0x7fffddc37700 (LWP 27524)]
[New Thread 0x7fffdd436700 (LWP 27525)]
[New Thread 0x7fffdcc35700 (LWP 27526)]
[New Thread 0x7fffdc434700 (LWP 27527)]
[New Thread 0x7fffdbc33700 (LWP 27528)]
[New Thread 0x7fffdb432700 (LWP 27529)]
[New Thread 0x7fffdac31700 (LWP 27530)]
[New Thread 0x7fffda430700 (LWP 27531)]
[New Thread 0x7fffd9c2f700 (LWP 27532)]
[New Thread 0x7fffd942e700 (LWP 27533)]

** (pcbnew:27499): WARNING **: 10:47:20.288: Invalid borders specified for theme pixmap:
        /usr/share/themes/Breeze/gtk-2.0/../assets/line-h.png,
borders don't fit within the image
[New Thread 0x7fffcea75700 (LWP 27641)]
[New Thread 0x7fffce274700 (LWP 27642)]
[New Thread 0x7fffcda73700 (LWP 27643)]

Thread 1 "pcbnew" received signal SIGSEGV, Segmentation fault.
0x00007ffff6d4e7d8 in wxObject::Ref(wxObject const&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0

KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 887ee46935fc9ab0ed4d6362c142f97c0ccd6ca0
https://git.launchpad.net/kicad/patch/?id=887ee46935fc9ab0ed4d6362c142f97c0ccd6ca0

Changed in kicad:
status: In Progress → Fix Committed
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers