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

Bug #1794013 reported by Paul Hansel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Unknown

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)
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
Revision history for this message
jean-pierre charras (jp-charras) wrote : Re: Symbol Library Editor: Quickly selecting multiple columns/rows in Pin Table dialog causes crash

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

Revision history for this message
Paul Hansel (paulhansel) wrote : Re: [Bug 1794013] Re: Symbol Library Editor: Quickly selecting multiple columns/rows in Pin Table dialog causes 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
Revision history for this message
Paul Hansel (paulhansel) wrote : Re: Symbol Library Editor: Quickly selecting multiple columns/rows in Pin 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
Revision history for this message
Jeff Young (jeyjey) wrote :

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

Fixed in 3.1.2.

Revision history for this message
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?

Revision history for this message
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)
Changed in kicad:
status: New → Triaged
Jeff Young (jeyjey)
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)
tags: added: wxwidgets
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/1785

Changed in kicad:
status: Triaged → Expired
Changed in kicad:
importance: Medium → Unknown
status: Expired → Fix Released
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.