Path::pointAtLength() uses PathTraversalState to iterate through the segments. This comment says it all: "// FIXME: Need to actually find the exact point and change m_current". For Path::normalAngleAtLength() to work the tangent slope calculation has to be corrected. Attaching patch to fix both.
*** This bug has been marked as a duplicate of 12925 ***
Sorry, accidently filed this bug twice :(