-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Catch circular references in /Form XObjects (issue 19800) #19803
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
900fb56
to
0abfefd
Compare
/botio test |
0abfefd
to
f0b3cc2
Compare
/botio unittest |
From: Bot.io (Linux m4)ReceivedCommand cmd_unittest from @Snuffleupagus received. Current queue size: 0 Live output at: http://54.241.84.105:8877/89298a43847ddc1/output.txt |
From: Bot.io (Windows)ReceivedCommand cmd_unittest from @Snuffleupagus received. Current queue size: 0 Live output at: http://54.193.163.58:8877/cc049feae29da96/output.txt |
From: Bot.io (Linux m4)SuccessFull output at http://54.241.84.105:8877/89298a43847ddc1/output.txt Total script time: 2.32 mins
|
From: Bot.io (Windows)SuccessFull output at http://54.193.163.58:8877/cc049feae29da96/output.txt Total script time: 7.72 mins
|
/botio browsertest |
From: Bot.io (Windows)ReceivedCommand cmd_browsertest from @Snuffleupagus received. Current queue size: 0 Live output at: http://54.193.163.58:8877/fcd49388a19e6bb/output.txt |
From: Bot.io (Linux m4)ReceivedCommand cmd_browsertest from @Snuffleupagus received. Current queue size: 0 Live output at: http://54.241.84.105:8877/6f41904794a612d/output.txt |
From: Bot.io (Linux m4)FailedFull output at http://54.241.84.105:8877/6f41904794a612d/output.txt Total script time: 16.50 mins
Image differences available at: http://54.241.84.105:8877/6f41904794a612d/reftest-analyzer.html#web=eq.log |
From: Bot.io (Windows)FailedFull output at http://54.193.163.58:8877/fcd49388a19e6bb/output.txt Total script time: 29.52 mins
Image differences available at: http://54.193.163.58:8877/fcd49388a19e6bb/reftest-analyzer.html#web=eq.log |
Would you know why we have the same "failing" ref test on both bots ? |
As far as I can tell that would be caused by using another /Resources dictionary now, i.e. the "correct" one courtesy of the first patch (needed to address a circular dependency), which has a slightly different /SMask-entry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thank you.
In rare cases /Resources are also found in the /Contents stream-dict, in addition to in the /Page dict, hence we need to prefer those when available; see `issue18894.pdf`.
For simplicity we will abort /Form XObject parsing *immediately* when encountering a circular reference, rather than letting it continue up until some limit (as e.g. PDFium appears to do), which should be fine since there are never any guarantees if/how *corrupt* PDF documents will render.
f0b3cc2
to
1048508
Compare
/botio makeref |
From: Bot.io (Linux m4)ReceivedCommand cmd_makeref from @Snuffleupagus received. Current queue size: 0 Live output at: http://54.241.84.105:8877/12de9aa9d394b8b/output.txt |
From: Bot.io (Windows)ReceivedCommand cmd_makeref from @Snuffleupagus received. Current queue size: 0 Live output at: http://54.193.163.58:8877/f7d2c76915bc117/output.txt |
From: Bot.io (Linux m4)SuccessFull output at http://54.241.84.105:8877/12de9aa9d394b8b/output.txt Total script time: 16.11 mins
|
From: Bot.io (Windows)SuccessFull output at http://54.193.163.58:8877/f7d2c76915bc117/output.txt Total script time: 29.68 mins
|
For simplicity we will abort /Form XObject parsing immediately when encountering a circular reference, rather than letting it continue up until some limit (as e.g. PDFium appears to do), which should be fine since there are never any guarantees if/how corrupt PDF documents will render.