Skew tuning does not appear to be working correctly

I was reviewing a design today and found the attached screenshot confusing. I am using 9.0.2 but the design was done in an earlier of KiCAD. Note the skew tuning tool is saying that length is matched essentially perfectly (and it reports the same in the earlier KiCAD version). But in the net inspector it shows the total length as being off by 1.6mm. It looks like a lot of the error is in the via length, which does not make any sense to me.

From visual inspection - I think the skew tuning tool is wrong - I think the two traces are not length matched.

Can anybody explain what is happening here? Why does the skew tool and the net inspector disagree?

Please upgrade to 9.0.3 and report back, skew tuning has been worked on

It could be this: Post-V9 New Features and Development News - #14 by JamesJ

Could you share the project and I’ll take a look? Or you could try opening a copy of your project in the v9.99 nightly builds and see if the discrepancy is still there.

Still wrong in 9.0.3, though with different numbers this time!

Hi James - can you send me an email address to share file with? I will check with my employer to see if we can share the file.

Also - are the v9.99 nightly builds posted as windows binaries/installers anywhere? I don’t think I’m advanced enough to compile for myself.

Yep we build nightlies for all platforms. You can find the Windows builds here: Downloads | KiCad EDA

I’d suggest getting the full-fat (1.1GB) package for your architecture (x86 or Arm).

… and I’ve sent you a private message about options for sharing the project.

Still broken in the latest 9.99 nightly.

Hi James - I’ve sent you a stripped down PCBA file. Hopefully you are able to reproduce my issue.

1 Like

Thanks - confirmed. The skew tuning path following algorithm isn’t picking up the last segment (at the BGA side) of the _P track. It also, in debug builds, throws some asserts when hoving over that last segment.

We’ll take a look!

With thanks to @craftyjon, if you click and hold over that misbehaving via, you’ll find there’s a very tiny stub track present. If you delete that, it all works fine (including correct via lengths between the two traces):

The reason this breaks it is the track following algorithm bails out at complex junctions, and it sees this via as a 3-way junction. We need to make that more robust for this kind of situation.

1 Like