PDFium's CFX_Matrix::SetReverse is funky when determinant is close to 0 |
|||||
Issue descriptionThe matrix is not reverted only in the case the determinant is 0. But the determinant is a float, so it could be very close to 0. When this happens, we need to figure out a way of improving accuracy in our calculations. For example, see the unittest for ReverseCR702041 [1]. Applying rev(m(v)) does not always yield v due to the divisions by numbers that are close to 0. [1] https://cs.chromium.org/chromium/src/third_party/pdfium/core/fxcrt/fx_coordinates_unittest.cpp?l=48
,
May 21 2018
Bulk edit** This bug has the label Postmortem-Followup but has not been updated in 3+ weeks. We are working on a new workflow to improve postmortem followthrough. Postmortems and postmortem bugs are very important in making sure we don't repeat prior mistakes and for making Chrome better for all. We will be taking a closer look at these bugs in the coming weeks. Please take some time to work on this, reassign, or close if the issue has been fixed. Thank you.
,
May 24 2018
I don't know why this has Postmortem attached to it. This is just marking a bug which we need to fix in the future.
,
Sep 4
Setting PDF bugs assigned to me back to untriaged so they can get re-assigned as needed.
,
Sep 5
Nicolas, what is the potential impact of this?
,
Sep 11
This bug was filed as part of a Postmortem. There are PDFs in the wild that use strange matrices with determinants that are close to 0, so we can't assume that the matrix is not invertible if its determinant is very close to 0, but not 0. I think there's not much we can do about this right now. The fact that calculating the inverse twice may not yield the original is scary, but so far we really haven't gotten new bugs caused by this? So I think we can just mark as WontFix for now. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by npm@chromium.org
, May 25 2017