Quickly selecting multiple columns/rows in Pin Table dialog causes assert (fixed in wxWidgets 3.1.2)

Bug #1794013 reported by Paul Hansel on 2018-09-24
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Medium
Unassigned

Bug Description

Occurs on any symbol's pin table.

ASSERT INFO:
../src/generic/grid.cpp(4054): assert "!m_winCapture" failed in DoGridDragEvent(): shouldn't capture the mouse twice

BACKTRACE:
[1] wxGrid::DoGridDragEvent(wxMouseEvent&, wxGridCellCoords const&)
[2] wxGrid::ProcessGridCellMouseEvent(wxMouseEvent&)
[3] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[4] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[5] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[6] wxEvtHandler::TryHereOnly(wxEvent&)
[7] wxEvtHandler::ProcessEventLocally(wxEvent&)
[8] wxEvtHandler::ProcessEvent(wxEvent&)
[9] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[10] g_closure_invoke
[11] g_signal_emit_valist
[12] g_signal_emit
[13] gtk_propagate_event
[14] gtk_main_do_event
[15] g_main_context_dispatch
[16] g_main_loop_run
[17] gtk_main
[18] wxGUIEventLoop::DoRun()
[19] wxEventLoopBase::Run()
[20] wxDialog::ShowModal()
[21] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[22] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[23] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[24] wxEvtHandler::TryHereOnly(wxEvent&)
[25] wxEvtHandler::DoTryChain(wxEvent&)
[26] wxEvtHandler::ProcessEvent(wxEvent&)
[27] wxWindowBase::TryAfter(wxEvent&)
[28] wxAuiToolBar::OnLeftUp(wxMouseEvent&)
[29] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[30] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[31] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[32] wxEvtHandler::TryHereOnly(wxEvent&)
[33] wxEvtHandler::ProcessEventLocally(wxEvent&)
[34] wxEvtHandler::ProcessEvent(wxEvent&)
[35] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[36] g_closure_invoke
[37] g_signal_emit_valist
[38] g_signal_emit
[39] gtk_propagate_event
[40] gtk_main_do_event
[41] g_main_context_dispatch
[42] g_main_loop_run
[43] gtk_main
[44] wxGUIEventLoop::DoRun()
[45] wxEventLoopBase::Run()
[46] wxAppConsoleBase::MainLoop()
[47] APP_KICAD::OnRun()
[48] wxEntry(int&, wchar_t**)
[49] main
[50] __libc_start_main
[51] _start

Version:

Application: kicad
Version: (6.0.0-rc1-dev-576-gae13e44), 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-135-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) on 2018-09-24
summary: - Symbol Library Editor: Selecting multiple columns/rows in Pin Table
- dialog causes crash
+ Symbol Library Editor: Quickly selecting multiple columns/rows in Pin
+ Table dialog causes crash
tags: added: eeschema
Changed in kicad:
importance: Undecided → Critical
milestone: none → 6.0.0-rc1

Are you sure Kicad crashes?
It looks to me this is a wxWidgets assert info (shown in debug mode), and not a crash.

Download full text (4.0 KiB)

You are correct, this is not a crash-inducing bug. Attempting to exit the
wxWidgets failed assertion dialogue closes KiCAD as it should.

On Mon, Sep 24, 2018, 4:15 AM jean-pierre charras <
<email address hidden>> wrote:

> Are you sure Kicad crashes?
> It looks to me this is a wxWidgets assert info (shown in debug mode), and
> not a crash.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1794013
>
> Title:
> Symbol Library Editor: Quickly selecting multiple columns/rows in Pin
> Table dialog causes crash
>
> Status in KiCad:
> New
>
> Bug description:
> Occurs on any symbol's pin table.
>
> ASSERT INFO:
> ../src/generic/grid.cpp(4054): assert "!m_winCapture" failed in
> DoGridDragEvent(): shouldn't capture the mouse twice
>
> BACKTRACE:
> [1] wxGrid::DoGridDragEvent(wxMouseEvent&, wxGridCellCoords const&)
> [2] wxGrid::ProcessGridCellMouseEvent(wxMouseEvent&)
> [3] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
> wxEvent&) const
> [4] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&,
> wxEvtHandler*, wxEvent&)
> [5] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
> [6] wxEvtHandler::TryHereOnly(wxEvent&)
> [7] wxEvtHandler::ProcessEventLocally(wxEvent&)
> [8] wxEvtHandler::ProcessEvent(wxEvent&)
> [9] wxEvtHandler::SafelyProcessEvent(wxEvent&)
> [10] g_closure_invoke
> [11] g_signal_emit_valist
> [12] g_signal_emit
> [13] gtk_propagate_event
> [14] gtk_main_do_event
> [15] g_main_context_dispatch
> [16] g_main_loop_run
> [17] gtk_main
> [18] wxGUIEventLoop::DoRun()
> [19] wxEventLoopBase::Run()
> [20] wxDialog::ShowModal()
> [21] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
> wxEvent&) const
> [22] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&,
> wxEvtHandler*, wxEvent&)
> [23] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
> [24] wxEvtHandler::TryHereOnly(wxEvent&)
> [25] wxEvtHandler::DoTryChain(wxEvent&)
> [26] wxEvtHandler::ProcessEvent(wxEvent&)
> [27] wxWindowBase::TryAfter(wxEvent&)
> [28] wxAuiToolBar::OnLeftUp(wxMouseEvent&)
> [29] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
> wxEvent&) const
> [30] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&,
> wxEvtHandler*, wxEvent&)
> [31] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
> [32] wxEvtHandler::TryHereOnly(wxEvent&)
> [33] wxEvtHandler::ProcessEventLocally(wxEvent&)
> [34] wxEvtHandler::ProcessEvent(wxEvent&)
> [35] wxEvtHandler::SafelyProcessEvent(wxEvent&)
> [36] g_closure_invoke
> [37] g_signal_emit_valist
> [38] g_signal_emit
> [39] gtk_propagate_event
> [40] gtk_main_do_event
> [41] g_main_context_dispatch
> [42] g_main_loop_run
> [43] gtk_main
> [44] wxGUIEventLoop::DoRun()
> [45] wxEventLoopBase::Run()
> [46] wxAppConsoleBase::MainLoop()
> [47] APP_KICAD::OnRun()
> [48] wxEntry(int&, wchar_t**)
> [49] main
> [50] __libc_start_main
> [51] _start
>
>
> Version:
>
> Application: kicad
> Version: (6.0.0-rc1-dev-576-gae13e44), release ...

Read more...

summary: Symbol Library Editor: Quickly selecting multiple columns/rows in Pin
- Table dialog causes crash
+ Table dialog causes failed assertion

I have corrected the bug's title. Since this is an error relatively deep in the interface, it probably should not be marked Critical.

Changed in kicad:
importance: Critical → Low
importance: Low → Medium
Jeff Young (jeyjey) wrote :

It's a wxWidgets bug (https://trac.wxwidgets.org/ticket/18186).

Fixed in 3.1.2.

Jeff Young (jeyjey) wrote :

What do we usually do with these? Mark them "Won't Fix" or "Invalid", or leave them open till we upgrade to the relevant version of wxWidgets?

Wayne Stambaugh (stambaughw) wrote :

@Jeff, we don't really have a policy but I guess it should stay open until we make the minimum wxWidgets version 3.1.2 or greater.

Jeff Young (jeyjey) on 2018-09-25
Changed in kicad:
status: New → Triaged
Jeff Young (jeyjey) on 2018-11-13
summary: - Symbol Library Editor: Quickly selecting multiple columns/rows in Pin
- Table dialog causes failed assertion
+ Quickly selecting multiple columns/rows in Pin Table dialog causes
+ assert (fixed in wxWidgets 3.1.2)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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