While inserting subsheet pins an assertion failed!

From Eeschema, I “Place hierarchical pin imported from the corresponding hierarchical label”.
The first one or two labels place fine, but the next label pops up this error message:

kicad
An assertion failed!

Had the same error yesterday, so today I rewrote the project from scratch and now I still get the exact same error.

How to avoid the error?

I am running kicad-4.0.2 on Fedora 24 (Linux).

z80 reported a similar problem on Error message: "Failed to update user configuration file"
Ben Kempke reported similar bug on https://bugs.launchpad.net/kicad/+bug/1477213

Back trace is attached:
backtrace.txt (1.3 KB)

First of all, update do current stable version (i think it is 4.0.3 should be available for fedora 24 and 4.0.4 should be available in the testing repos.) If the problem still exists report back.
(I can not reproduce the bug with the description given. I use Nightly builds on fedora 23. So there is a chance it got fixed.)

If updating doesn’t solve the problem can you share a file that generates the problem so that i can try to reproduce it?

Did you by any chance delete or rename labels inside the subsheet? I remember that i had some weird behavior a while back when importing new pins if old (already deleted) pins still existed in the “subsheet part”.

Rene_Poschl said:

Did you by any chance delete or rename labels inside the subsheet? I remember that i had some weird behavior a while back when importing new pins if old (already deleted) pins still existed in the “subsheet part”.

I moved the labels. I might have renamed or deleted one, I don’t remember.

Interestingly manually “Place hierarchical pin in sheet” works fine.

To reproduce the error, unzip schematics.zip (14.6 KB), then:

  1. Open schematics/dodohand_breadboard/dodohand_BB.sch.
  2. Click “Place hierarchical pin imported from the corresponding hierarchical label”.
  3. Place three pins in hierarchica sheet row_shiftReg_photoInterrupt_BB.sch

KiCad was version 4.0.2 when I originally installed.
Now it seems to be the current nightlies.fc24 ?:

From Help > About KiCad > Copy Version Info:

Application: kicad
Version: no-vcs-found-product, debug build
Libraries: wxWidgets 3.0.2
           libcurl/7.47.1 NSS/3.26 zlib/1.2.8 libidn/1.33 libpsl/0.13.0 (+libidn/1.33) libssh2/1.7.0 nghttp2/1.7.1
Platform: Linux 4.7.7-200.fc24.x86_64 x86_64, 64 bit, Little endian, wxGTK
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.60.0
Curl: 7.47.1
KiCad - Compiler: GCC 6.1.1 with C++ ABI 1010
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  USE_FP_LIB_TABLE=HARD_CODED_ON
                  BUILD_GITHUB_PLUGIN=ON

From the terminal:

$ rpm -q kicad
    kicad-6996-nightlies.fc24.x86_64
$ dnf search kicad
    Last metadata expiration check: 0:05:32 ago on Fri Oct 21 10:36:36 2016.
    ============================== N/S Matched: kicad ==============================
    kicad.x86_64 : Electronic schematic diagrams and printed circuit board artwork
    kicad.src : Electronic schematic diagrams and printed circuit board artwork
    kicad-doc.noarch : Documentation for KiCad
    kicad-debuginfo.x86_64 : Debug information for package kicad
$ dnf info kicad
    Installed Packages
    Name        : kicad
    Arch        : x86_64
    Epoch       : 100
    Version     : 6996
    Release     : nightlies.fc24
    ...
    Available Packages
    Name        : kicad
    Arch        : src
    Epoch       : 100
    Version     : 6996
    Release     : nightlies.fc24
    ...

Jup i can reproduce it now. (I can even reproduce it with my testproject. Only difference to yesterday: slower cpu.)

It seems there is a so called race condition.


If you double click (to fast) while placing the label, the first event is not yet done while the second has already been called.

Solution for you: click slower.
Solution for developers: use task synchronization

If clicking slower solves the problem for you, i’m sure what i said above is true. This means we can create a bug rebort. Maybe it will be solved. (Race conditions are hard to solve if you did not think of them when designing the software)

1 Like

Thank you Rene_Poschl for figuring out what happened.
I submitted a bug report at https://bugs.launchpad.net/kicad/+bug/1635883