Assert before starting almost any KiCad sub-program

Bug #1753592 reported by Kevin Cozens
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Low
Jeff Young

Bug Description

I just updated my build of KiCad. I started up the main KiCad dialog. When I click on icon for any of the main programs (except the icons for Import Bitmap or PCB Calculator) I get an assertion message. I have to click the Continue button before the program I selected will start. The assertion message appears every time. You don't need to exit KiCad and restart it to see the assertion again.

I have attached a copy of the assertion and backtrace as captured by KiCad.

Application: kicad
Version: (5.0.0-rc2-dev-97-g218f66a), debug build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.4.0-116-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
    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=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_SPICE=OFF

Revision history for this message
Kevin Cozens (qq3dh7wn6set-fehmn-mm0v6n6x10rb) wrote :
Revision history for this message
Jeff Young (jeyjey) wrote :

Well, that's interesting. Anyone else seeing this?

The default style of the window was recently changed to make scrollbars always-on, something we used to do later in the constructor but doing it later doesn't work on Mac or Windows*. But it's a style wxWidgets supports, so it shouldn't assert on it.

* Note that doing it earlier doesn't work terribly well /either/ on Windows, but it is effective on Mac. The joys of wxWidgets.

Changed in kicad:
assignee: nobody → Jeff Young (jeyjey)
Revision history for this message
Kevin Cozens (qq3dh7wn6set-fehmn-mm0v6n6x10rb) wrote :

Additional information in case it helps. I'm running Linux Mint 18.3 which has the 3.0.2+dfsg-1.3ubuntu0.1 version of wxWidgets installed.

Revision history for this message
Kevin Cozens (qq3dh7wn6set-fehmn-mm0v6n6x10rb) wrote :

Clicking the icon for the Footprint Library Editor I get two of these assertions. The second one appears immediately after clicking Continue. I don't get in to the FLE until I click Continue after the second time the assertion dialog appears.

Revision history for this message
Maciej Suminski (orsonmmz) wrote :

I see it as well and as far as I can tell it is the wxALWAYS_SHOW_SB flag in EDA_DRAW_PANEL constructor introduced in 90e2c8dd. To me it looks like an invalid wxWidgets assert, as the flag is completely legal in this place. I am also sure that it happens only on wxGTK.

Revision history for this message
Maciej Suminski (orsonmmz) wrote :

Jeff, does the attached patch still fixes the first-scroll jerkiness in eeschema? I am either not seeing this at all or simply do not recognize the issue. DoShowScrollbars() is the method that triggers the assert, so I am simply calling it outside the constructor.

Revision history for this message
Jeff Young (jeyjey) wrote : Re: [Bug 1753592] Re: Assert before starting almost any KiCad sub-program

No, for some reason that version doesn’t work on Mac.

I guess we’re going to have to conditionally compile it. :(

> On 6 Mar 2018, at 08:47, Maciej Suminski <email address hidden> wrote:
>
> Jeff, does the attached patch still fixes the first-scroll jerkiness in
> eeschema? I am either not seeing this at all or simply do not recognize
> the issue. DoShowScrollbars() is the method that triggers the assert, so
> I am simply calling it outside the constructor.
>
> ** Patch added: "scrollbars.patch"
> https://bugs.launchpad.net/kicad/+bug/1753592/+attachment/5070518/+files/scrollbars.patch
>
> --
> You received this bug notification because you are a bug assignee.
> https://bugs.launchpad.net/bugs/1753592
>
> Title:
> Assert before starting almost any KiCad sub-program
>
> Status in KiCad:
> New
>
> Bug description:
> I just updated my build of KiCad. I started up the main KiCad dialog.
> When I click on icon for any of the main programs (except the icons
> for Import Bitmap or PCB Calculator) I get an assertion message. I
> have to click the Continue button before the program I selected will
> start. The assertion message appears every time. You don't need to
> exit KiCad and restart it to see the assertion again.
>
> I have attached a copy of the assertion and backtrace as captured by
> KiCad.
>
> Application: kicad
> Version: (5.0.0-rc2-dev-97-g218f66a), debug build
> Libraries:
> wxWidgets 3.0.2
> libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
> Platform: Linux 4.4.0-116-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
> 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=ON
> BUILD_GITHUB_PLUGIN=ON
> KICAD_USE_OCE=ON
> KICAD_SPICE=OFF
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/kicad/+bug/1753592/+subscriptions

Revision history for this message
Maciej Suminski (orsonmmz) wrote :

Well, it is not the first time and surely not the last time. Could you give more details about the issue wxALWAYS_SHOW_SB solves? I would like to know if I need to find another way to deal with the problem. Asserts are not displayed in release builds, so the end users will not really care about them.

Revision history for this message
Jeff Young (jeyjey) wrote :

@Orson, it's this issue:

https://lists.launchpad.net/kicad-developers/msg34653.html

(The calls to ShowScrollBars() or DoShowScrollBars() don't seem to do anything at all on MacOS.)

Revision history for this message
Steven Falco (stevenfalco) wrote :

I am getting an assert on a Fedora 27 build of SHA 49486b83. I posted a message to the developer mailing list, showing the details. I get this assert 100% of the time on both eeschema and pcbnew.

The attached png shows the error message.

Jeff Young (jeyjey)
Changed in kicad:
status: New → Triaged
importance: Undecided → Low
milestone: none → 5.0.0-rc2
status: Triaged → In Progress
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 2b34426c3627c415209a90c1396d1f72bd2a2fc8
https://git.launchpad.net/kicad/patch/?id=2b34426c3627c415209a90c1396d1f72bd2a2fc8

Changed in kicad:
status: In Progress → Fix Committed
Revision history for this message
Steven Falco (stevenfalco) wrote :

I confirm that this fixes the issue. Thanks!

Changed in kicad:
status: Fix Committed → 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.