Differential pair: infinite loop in makeGapVector
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
There is an infinite loop in differential pair routing.
How to reproduce this:
Start the differential pair routing from a square PAD (width == height, not from a rectangular). In this case there is the following flow:
- diagFanDistance become "0" at pcbnew/
- dir become a zero length vector at pcbnew/
- makeGapVector try to increase the size of a zero len vector (pcbnew/
This result on an infinite loop...
It occur also when you start from a rectangular and you try to join a square pad... But more difficult to reproduce.
Not sure... but probably commit 0a55d8e0533929c
Application: pcbnew
Version: no-vcs-
Libraries: wxWidgets 3.0.2
Platform: Linux 4.4.0-81-generic x86_64, 64 bit, Little endian, wxGTK
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,
Boost: 1.58.0
Curl: 7.47.0
KiCad - Compiler: GCC 5.4.0 with C++ ABI 1009
Settings: USE_WX_
Changed in kicad: | |
status: | Fix Committed → Fix Released |
Attached patch propose a solution to fix this bug.