eeschema: Wire ends no longer connecting

Bug #1843329 reported by Michael Geselbracht
34
This bug affects 6 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
High
Jeff Young

Bug Description

As of commit 6a65461ec (most) wire ends are no longer connecting to other wires.
Empty squares appear instead of junction dots. Dragging components is no longer possible, drag acts like move.
It is not a visible effect only, the wires are not connected so if the netlist is exported to the PCB the affected pads are also unconnected.
If the schematic is saved, the wire ends remain unconnected even if the file is opened with an older eeschema version.

Application: KiCad
Version: (5.1.4-72-g18a76d3a8), debug build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 5.0.0-25-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.65.1
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.58.0
    Compiler: GCC 7.4.0 with C++ ABI 1011

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

Tags: eeschema
Revision history for this message
Michael Geselbracht (mgeselbracht) wrote :
Changed in kicad:
importance: Undecided → High
milestone: none → 6.0.0-rc1
milestone: 6.0.0-rc1 → none
milestone: none → 5.1.5
tags: added: eeschema
Revision history for this message
Nick Østergaard (nickoe) wrote :

I see the same issue by just opening on of my earlier schematics made from the 5.1 branch.

Changed in kicad:
status: New → Confirmed
assignee: nobody → Nick Østergaard (nickoe)
assignee: Nick Østergaard (nickoe) → nobody
Revision history for this message
Holger Vogt (h+vogt) wrote :

Same with Windows build. ngspice simulation fails due to non-connected devices. Happens also with original demos/simulation/*.sch files.

Application: Eeschema
Version: (5.1.4-71-g6a65461ec)-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.21.0 (+libidn2/2.1.1) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

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

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

Ha! So SEG::PointCloserThan() is /also/ buggy.

Changed in kicad:
assignee: nobody → Jeff Young (jeyjey)
status: Confirmed → In Progress
Jeff Young (jeyjey)
Changed in kicad:
status: In Progress → Fix Committed
Revision history for this message
Jeff Young (jeyjey) wrote :
Revision history for this message
Seth Hillbrand (sethh) wrote :

Hi Jeff-

How confident are you about this one? The routine was doing the expected thing. You can't be closer than 0, so it returned false.

This is used in many different places without reported error. I'm a bit concerned that this introduces bugs in our collision code.

Revision history for this message
Jeff Young (jeyjey) wrote : Re: [Bug 1843329] Re: eeschema: Wire ends no longer connecting

Hi Seth,

The routine is probably poorly named. It doesn’t really mean “closer than” because if you give it a 0 distance then then existing callers actually want to know if the point is on the line — and it would say “no” before my change.

Note also that the check near the end was already <=.

Cheers,
Jeff.

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

@Seth, I looked around some more, and we do indeed sometimes mean "closer than". For instance, when determining clearance a distance = to the clearance value is OK.

So I think we need to do a special check for 0, rather than changing it to <=.

Changed in kicad:
status: Fix Committed → In Progress
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 25fa2131d2d8cd0cfc4a1910458389d422bcb7b1
https://git.launchpad.net/kicad/patch/?id=25fa2131d2d8cd0cfc4a1910458389d422bcb7b1

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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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