Commit 0f97e98203dfa78cf3273005f215d2d026390e5c

Authored by Jay Berkenbilt
1 parent 088fabd9

Handle linearization warnings as proper warning (fixes #851)

ChangeLog
  1 +2023-02-18 Jay Berkenbilt <ejb@ql.org>
  2 +
  3 + * Treat all linearization errors and warnings as warnings, and
  4 + issue them through the normal warning system using the new error
  5 + code qpdf_e_linearization. That means that --no-warn will suppress
  6 + them, and the file name is included in the warning. Fixes #851.
  7 +
1 8 2023-01-28 Jay Berkenbilt <ejb@ql.org>
2 9  
3 10 * New option --remove-restrictions removes security restrictions
... ...
README-maintainer
... ... @@ -127,6 +127,8 @@ CODING RULES
127 127 "Code Formatting" section in manual/contributing.rst for details.
128 128 See also "CODE FORMATTING" below.
129 129  
  130 +* Use std::to_string instead of QUtil::int_to_string et al
  131 +
130 132 * Use of assert:
131 133  
132 134 * Test code: #include <qpdf/assert_test.h> first.
... ...
... ... @@ -11,7 +11,6 @@ Always
11 11  
12 12 * Fix #874 -- make args in --encrypt to match the json and make
13 13 positional fill in the gaps
14   -* Fix #851 -- not suppressing linearization warnings
15 14 * Maybe fix #553 -- use file times for attachments
16 15 * Clarify idempotency section to emphasize --deterministic-id over
17 16 --static-id
... ...
include/qpdf/Constants.h
... ... @@ -83,14 +83,15 @@ enum qpdf_exit_code_e {
83 83  
84 84 enum qpdf_error_code_e {
85 85 qpdf_e_success = 0,
86   - qpdf_e_internal, /* logic/programming error -- indicates bug */
87   - qpdf_e_system, /* I/O error, memory error, etc. */
88   - qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */
89   - qpdf_e_password, /* incorrect password for encrypted file */
90   - qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */
91   - qpdf_e_pages, /* erroneous or unsupported pages structure */
92   - qpdf_e_object, /* type/bounds errors accessing objects */
93   - qpdf_e_json, /* error in qpdf JSON */
  86 + qpdf_e_internal, /* logic/programming error -- indicates bug */
  87 + qpdf_e_system, /* I/O error, memory error, etc. */
  88 + qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */
  89 + qpdf_e_password, /* incorrect password for encrypted file */
  90 + qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */
  91 + qpdf_e_pages, /* erroneous or unsupported pages structure */
  92 + qpdf_e_object, /* type/bounds errors accessing objects */
  93 + qpdf_e_json, /* error in qpdf JSON */
  94 + qpdf_e_linearization, /* linearization warning */
94 95 };
95 96  
96 97 /* Object Types */
... ...
include/qpdf/QPDF.hh
... ... @@ -32,6 +32,7 @@
32 32 #include <memory>
33 33 #include <stdio.h>
34 34 #include <string>
  35 +#include <string_view>
35 36 #include <vector>
36 37  
37 38 #include <qpdf/Buffer.hh>
... ... @@ -1565,6 +1566,7 @@ class QPDF
1565 1566 void readLinearizationData();
1566 1567 bool checkLinearizationInternal();
1567 1568 void dumpLinearizationDataInternal();
  1569 + void linearizationWarning(std::string_view);
1568 1570 QPDFObjectHandle
1569 1571 readHintStream(Pipeline&, qpdf_offset_t offset, size_t length);
1570 1572 void readHPageOffset(BitStream);
... ... @@ -1574,18 +1576,14 @@ class QPDF
1574 1576 qpdf_offset_t getLinearizationOffset(QPDFObjGen const&);
1575 1577 QPDFObjectHandle getUncompressedObject(
1576 1578 QPDFObjectHandle&, std::map<int, int> const& object_stream_data);
1577   - int lengthNextN(int first_object, int n, std::list<std::string>& errors);
  1579 + int lengthNextN(int first_object, int n);
1578 1580 void checkHPageOffset(
1579   - std::list<std::string>& errors,
1580   - std::list<std::string>& warnings,
1581 1581 std::vector<QPDFObjectHandle> const& pages,
1582 1582 std::map<int, int>& idx_to_obj);
1583 1583 void checkHSharedObject(
1584   - std::list<std::string>& warnings,
1585   - std::list<std::string>& errors,
1586 1584 std::vector<QPDFObjectHandle> const& pages,
1587 1585 std::map<int, int>& idx_to_obj);
1588   - void checkHOutlines(std::list<std::string>& warnings);
  1586 + void checkHOutlines();
1589 1587 void dumpHPageOffset();
1590 1588 void dumpHSharedObject();
1591 1589 void dumpHGeneric(HGeneric&);
... ... @@ -1728,6 +1726,7 @@ class QPDF
1728 1726 // Linearization data
1729 1727 qpdf_offset_t first_xref_item_offset{0}; // actual value from file
1730 1728 bool uncompressed_after_compressed{false};
  1729 + bool linearization_warnings{false};
1731 1730  
1732 1731 // Linearization parameter dictionary and hint table data: may be
1733 1732 // read from file or computed prior to writing a linearized file
... ...
libqpdf/QPDFJob.cc
... ... @@ -783,7 +783,6 @@ QPDFJob::doCheck(QPDF&amp; pdf)
783 783 // continue to perform additional checks after finding
784 784 // errors.
785 785 bool okay = true;
786   - bool warnings = false;
787 786 auto& cout = *this->m->log->getInfo();
788 787 cout << "checking " << m->infilename.get() << "\n";
789 788 try {
... ... @@ -796,12 +795,7 @@ QPDFJob::doCheck(QPDF&amp; pdf)
796 795 showEncryption(pdf);
797 796 if (pdf.isLinearized()) {
798 797 cout << "File is linearized\n";
799   - // any errors or warnings are reported by
800   - // checkLinearization(). We treat all issues reported here
801   - // as warnings.
802   - if (!pdf.checkLinearization()) {
803   - warnings = true;
804   - }
  798 + pdf.checkLinearization();
805 799 } else {
806 800 cout << "File is not linearized\n";
807 801 }
... ... @@ -836,7 +830,7 @@ QPDFJob::doCheck(QPDF&amp; pdf)
836 830 throw std::runtime_error("errors detected");
837 831 }
838 832  
839   - if ((!pdf.getWarnings().empty()) || warnings) {
  833 + if (!pdf.getWarnings().empty()) {
840 834 this->m->warnings = true;
841 835 } else {
842 836 *this->m->log->getInfo() << "No syntax or stream encoding errors"
... ...
libqpdf/QPDF_linearization.cc
... ... @@ -65,6 +65,13 @@ load_vector_vector(
65 65 bit_stream.skipToNextByte();
66 66 }
67 67  
  68 +void
  69 +QPDF::linearizationWarning(std::string_view msg)
  70 +{
  71 + this->m->linearization_warnings = true;
  72 + warn(qpdf_e_linearization, "", 0, std::string(msg));
  73 +}
  74 +
68 75 bool
69 76 QPDF::checkLinearization()
70 77 {
... ... @@ -73,9 +80,9 @@ QPDF::checkLinearization()
73 80 readLinearizationData();
74 81 result = checkLinearizationInternal();
75 82 } catch (std::runtime_error& e) {
76   - *this->m->log->getError()
77   - << "WARNING: error encountered while checking linearization data: "
78   - << e.what() << "\n";
  83 + linearizationWarning(
  84 + "error encountered while checking linearization data: " +
  85 + std::string(e.what()));
79 86 }
80 87 return result;
81 88 }
... ... @@ -333,9 +340,10 @@ QPDF::readHintStream(Pipeline&amp; pl, qpdf_offset_t offset, size_t length)
333 340 }
334 341 qpdf_offset_t computed_end = offset + toO(length);
335 342 if ((computed_end < min_end_offset) || (computed_end > max_end_offset)) {
336   - *this->m->log->getError()
337   - << "expected = " << computed_end << "; actual = " << min_end_offset
338   - << ".." << max_end_offset << "\n";
  343 + linearizationWarning(
  344 + "expected = " + std::to_string(computed_end) +
  345 + "; actual = " + std::to_string(min_end_offset) + ".." +
  346 + std::to_string(max_end_offset));
339 347 throw damagedPDF(
340 348 "linearization dictionary", "hint table length mismatch");
341 349 }
... ... @@ -476,9 +484,6 @@ QPDF::checkLinearizationInternal()
476 484 // All comments referring to the PDF spec refer to the spec for
477 485 // version 1.4.
478 486  
479   - std::list<std::string> errors;
480   - std::list<std::string> warnings;
481   -
482 487 // Check all values in linearization parameter dictionary
483 488  
484 489 LinParameters& p = this->m->linp;
... ... @@ -489,21 +494,21 @@ QPDF::checkLinearizationInternal()
489 494 std::vector<QPDFObjectHandle> const& pages = getAllPages();
490 495 if (p.first_page_object != pages.at(0).getObjectID()) {
491 496 QTC::TC("qpdf", "QPDF err /O mismatch");
492   - errors.push_back("first page object (/O) mismatch");
  497 + linearizationWarning("first page object (/O) mismatch");
493 498 }
494 499  
495 500 // N: number of pages
496 501 int npages = toI(pages.size());
497 502 if (p.npages != npages) {
498 503 // Not tested in the test suite
499   - errors.push_back("page count (/N) mismatch");
  504 + linearizationWarning("page count (/N) mismatch");
500 505 }
501 506  
502 507 for (size_t i = 0; i < toS(npages); ++i) {
503 508 QPDFObjectHandle const& page = pages.at(i);
504 509 QPDFObjGen og(page.getObjGen());
505 510 if (this->m->xref_table[og].getType() == 2) {
506   - errors.push_back(
  511 + linearizationWarning(
507 512 "page dictionary for page " + std::to_string(i) +
508 513 " is compressed");
509 514 }
... ... @@ -521,7 +526,7 @@ QPDF::checkLinearizationInternal()
521 526 }
522 527 if (this->m->file->tell() != this->m->first_xref_item_offset) {
523 528 QTC::TC("qpdf", "QPDF err /T mismatch");
524   - errors.push_back(
  529 + linearizationWarning(
525 530 "space before first xref item (/T) mismatch "
526 531 "(computed = " +
527 532 std::to_string(this->m->first_xref_item_offset) +
... ... @@ -537,8 +542,9 @@ QPDF::checkLinearizationInternal()
537 542 // are in use.
538 543  
539 544 if (this->m->uncompressed_after_compressed) {
540   - errors.push_back("linearized file contains an uncompressed object"
541   - " after a compressed one in a cross-reference stream");
  545 + linearizationWarning(
  546 + "linearized file contains an uncompressed object"
  547 + " after a compressed one in a cross-reference stream");
542 548 }
543 549  
544 550 // Further checking requires optimization and order calculation.
... ... @@ -587,7 +593,7 @@ QPDF::checkLinearizationInternal()
587 593 }
588 594 if ((p.first_page_end < min_E) || (p.first_page_end > max_E)) {
589 595 QTC::TC("qpdf", "QPDF warn /E mismatch");
590   - warnings.push_back(
  596 + linearizationWarning(
591 597 "end of first page section (/E) mismatch: /E = " +
592 598 std::to_string(p.first_page_end) + "; computed = " +
593 599 std::to_string(min_E) + ".." + std::to_string(max_E));
... ... @@ -596,34 +602,11 @@ QPDF::checkLinearizationInternal()
596 602 // Check hint tables
597 603  
598 604 std::map<int, int> shared_idx_to_obj;
599   - checkHSharedObject(errors, warnings, pages, shared_idx_to_obj);
600   - checkHPageOffset(errors, warnings, pages, shared_idx_to_obj);
601   - checkHOutlines(warnings);
602   -
603   - // Report errors
604   -
605   - bool result = true;
606   -
607   - // Treat all linearization errors as warnings. Many of them occur
608   - // in otherwise working files, so it's really misleading to treat
609   - // them as errors. We'll hang onto the distinction in the code for
610   - // now in case we ever have a chance to clean up the linearization
611   - // code.
612   - if (!errors.empty()) {
613   - result = false;
614   - for (auto const& error: errors) {
615   - *this->m->log->getError() << "WARNING: " << error << "\n";
616   - }
617   - }
  605 + checkHSharedObject(pages, shared_idx_to_obj);
  606 + checkHPageOffset(pages, shared_idx_to_obj);
  607 + checkHOutlines();
618 608  
619   - if (!warnings.empty()) {
620   - result = false;
621   - for (auto const& warning: warnings) {
622   - *this->m->log->getError() << "WARNING: " << warning << "\n";
623   - }
624   - }
625   -
626   - return result;
  609 + return !this->m->linearization_warnings;
627 610 }
628 611  
629 612 qpdf_offset_t
... ... @@ -680,13 +663,13 @@ QPDF::getUncompressedObject(
680 663 }
681 664  
682 665 int
683   -QPDF::lengthNextN(int first_object, int n, std::list<std::string>& errors)
  666 +QPDF::lengthNextN(int first_object, int n)
684 667 {
685 668 int length = 0;
686 669 for (int i = 0; i < n; ++i) {
687 670 QPDFObjGen og(first_object + i, 0);
688 671 if (this->m->xref_table.count(og) == 0) {
689   - errors.push_back(
  672 + linearizationWarning(
690 673 "no xref table entry for " + std::to_string(first_object + i) +
691 674 " 0");
692 675 } else {
... ... @@ -704,8 +687,6 @@ QPDF::lengthNextN(int first_object, int n, std::list&lt;std::string&gt;&amp; errors)
704 687  
705 688 void
706 689 QPDF::checkHPageOffset(
707   - std::list<std::string>& errors,
708   - std::list<std::string>& warnings,
709 690 std::vector<QPDFObjectHandle> const& pages,
710 691 std::map<int, int>& shared_idx_to_obj)
711 692 {
... ... @@ -735,7 +716,7 @@ QPDF::checkHPageOffset(
735 716 }
736 717 qpdf_offset_t offset = getLinearizationOffset(first_page_og);
737 718 if (table_offset != offset) {
738   - warnings.push_back("first page object offset mismatch");
  719 + linearizationWarning("first page object offset mismatch");
739 720 }
740 721  
741 722 for (int pageno = 0; pageno < npages; ++pageno) {
... ... @@ -754,7 +735,7 @@ QPDF::checkHPageOffset(
754 735 he.delta_nobjects + this->m->page_offset_hints.min_nobjects;
755 736 if (h_nobjects != ce.nobjects) {
756 737 // This happens with pdlin when there are thumbnails.
757   - warnings.push_back(
  738 + linearizationWarning(
758 739 "object count mismatch for page " + std::to_string(pageno) +
759 740 ": hint table = " + std::to_string(h_nobjects) +
760 741 "; computed = " + std::to_string(ce.nobjects));
... ... @@ -762,13 +743,13 @@ QPDF::checkHPageOffset(
762 743  
763 744 // Use value for number of objects in hint table rather than
764 745 // computed value if there is a discrepancy.
765   - int length = lengthNextN(first_object, h_nobjects, errors);
  746 + int length = lengthNextN(first_object, h_nobjects);
766 747 int h_length = toI(
767 748 he.delta_page_length + this->m->page_offset_hints.min_page_length);
768 749 if (length != h_length) {
769 750 // This condition almost certainly indicates a bad hint
770 751 // table or a bug in this code.
771   - errors.push_back(
  752 + linearizationWarning(
772 753 "page length mismatch for page " + std::to_string(pageno) +
773 754 ": hint table = " + std::to_string(h_length) +
774 755 "; computed length = " + std::to_string(length) +
... ... @@ -784,7 +765,7 @@ QPDF::checkHPageOffset(
784 765 if ((pageno == 0) && (he.nshared_objects > 0)) {
785 766 // pdlin and Acrobat both do this even though the spec
786 767 // states clearly and unambiguously that they should not.
787   - warnings.push_back("page 0 has shared identifier entries");
  768 + linearizationWarning("page 0 has shared identifier entries");
788 769 }
789 770  
790 771 for (size_t i = 0; i < toS(he.nshared_objects); ++i) {
... ... @@ -808,7 +789,7 @@ QPDF::checkHPageOffset(
808 789 for (int iter: hint_shared) {
809 790 if (!computed_shared.count(iter)) {
810 791 // pdlin puts thumbnails here even though it shouldn't
811   - warnings.push_back(
  792 + linearizationWarning(
812 793 "page " + std::to_string(pageno) + ": shared object " +
813 794 std::to_string(iter) +
814 795 ": in hint table but not computed list");
... ... @@ -820,10 +801,10 @@ QPDF::checkHPageOffset(
820 801 // Acrobat does not put some things including at least
821 802 // built-in fonts and procsets here, at least in some
822 803 // cases.
823   - warnings.push_back(
824   - "page " + std::to_string(pageno) + ": shared object " +
825   - std::to_string(iter) +
826   - ": in computed list but not hint table");
  804 + linearizationWarning(
  805 + ("page " + std::to_string(pageno) + ": shared object " +
  806 + std::to_string(iter) +
  807 + ": in computed list but not hint table"));
827 808 }
828 809 }
829 810 }
... ... @@ -831,10 +812,7 @@ QPDF::checkHPageOffset(
831 812  
832 813 void
833 814 QPDF::checkHSharedObject(
834   - std::list<std::string>& errors,
835   - std::list<std::string>& warnings,
836   - std::vector<QPDFObjectHandle> const& pages,
837   - std::map<int, int>& idx_to_obj)
  815 + std::vector<QPDFObjectHandle> const& pages, std::map<int, int>& idx_to_obj)
838 816 {
839 817 // Implementation note 125 says shared object groups always
840 818 // contain only one object. Implementation note 128 says that
... ... @@ -856,7 +834,7 @@ QPDF::checkHSharedObject(
856 834  
857 835 HSharedObject& so = this->m->shared_object_hints;
858 836 if (so.nshared_total < so.nshared_first_page) {
859   - errors.push_back("shared object hint table: ntotal < nfirst_page");
  837 + linearizationWarning("shared object hint table: ntotal < nfirst_page");
860 838 } else {
861 839 // The first nshared_first_page objects are consecutive
862 840 // objects starting with the first page object. The rest are
... ... @@ -866,12 +844,12 @@ QPDF::checkHSharedObject(
866 844 if (i == so.nshared_first_page) {
867 845 QTC::TC("qpdf", "QPDF lin check shared past first page");
868 846 if (this->m->part8.empty()) {
869   - errors.push_back("part 8 is empty but nshared_total > "
870   - "nshared_first_page");
  847 + linearizationWarning("part 8 is empty but nshared_total > "
  848 + "nshared_first_page");
871 849 } else {
872 850 int obj = this->m->part8.at(0).getObjectID();
873 851 if (obj != so.first_shared_obj) {
874   - errors.push_back(
  852 + linearizationWarning(
875 853 "first shared object number mismatch: "
876 854 "hint table = " +
877 855 std::to_string(so.first_shared_obj) +
... ... @@ -889,7 +867,7 @@ QPDF::checkHSharedObject(
889 867 qpdf_offset_t h_offset =
890 868 adjusted_offset(so.first_shared_offset);
891 869 if (offset != h_offset) {
892   - errors.push_back(
  870 + linearizationWarning(
893 871 "first shared object offset mismatch: hint table = " +
894 872 std::to_string(h_offset) +
895 873 "; computed = " + std::to_string(offset));
... ... @@ -899,10 +877,10 @@ QPDF::checkHSharedObject(
899 877 idx_to_obj[i] = cur_object;
900 878 HSharedObjectEntry& se = so.entries.at(toS(i));
901 879 int nobjects = se.nobjects_minus_one + 1;
902   - int length = lengthNextN(cur_object, nobjects, errors);
  880 + int length = lengthNextN(cur_object, nobjects);
903 881 int h_length = so.min_group_length + se.delta_group_length;
904 882 if (length != h_length) {
905   - errors.push_back(
  883 + linearizationWarning(
906 884 "shared object " + std::to_string(i) +
907 885 " length mismatch: hint table = " +
908 886 std::to_string(h_length) +
... ... @@ -914,7 +892,7 @@ QPDF::checkHSharedObject(
914 892 }
915 893  
916 894 void
917   -QPDF::checkHOutlines(std::list<std::string>& warnings)
  895 +QPDF::checkHOutlines()
918 896 {
919 897 // Empirically, Acrobat generates the correct value for the object
920 898 // number but incorrectly stores the next object number's offset
... ... @@ -937,7 +915,7 @@ QPDF::checkHOutlines(std::list&lt;std::string&gt;&amp; warnings)
937 915 // This case is not exercised in test suite since not
938 916 // permitted by the spec, but if this does occur, the
939 917 // code below would fail.
940   - warnings.push_back(
  918 + linearizationWarning(
941 919 "/Outlines key of root dictionary is not indirect");
942 920 return;
943 921 }
... ... @@ -951,24 +929,24 @@ QPDF::checkHOutlines(std::list&lt;std::string&gt;&amp; warnings)
951 929 qpdf_offset_t table_offset =
952 930 adjusted_offset(this->m->outline_hints.first_object_offset);
953 931 if (offset != table_offset) {
954   - warnings.push_back(
  932 + linearizationWarning(
955 933 "incorrect offset in outlines table: hint table = " +
956 934 std::to_string(table_offset) +
957 935 "; computed = " + std::to_string(offset));
958 936 }
959 937 int table_length = this->m->outline_hints.group_length;
960 938 if (length != table_length) {
961   - warnings.push_back(
  939 + linearizationWarning(
962 940 "incorrect length in outlines table: hint table = " +
963 941 std::to_string(table_length) +
964 942 "; computed = " + std::to_string(length));
965 943 }
966 944 } else {
967   - warnings.push_back("incorrect first object number in outline "
968   - "hints table.");
  945 + linearizationWarning("incorrect first object number in outline "
  946 + "hints table.");
969 947 }
970 948 } else {
971   - warnings.push_back("incorrect object count in outline hint table");
  949 + linearizationWarning("incorrect object count in outline hint table");
972 950 }
973 951 }
974 952  
... ... @@ -980,7 +958,7 @@ QPDF::showLinearizationData()
980 958 checkLinearizationInternal();
981 959 dumpLinearizationDataInternal();
982 960 } catch (QPDFExc& e) {
983   - *this->m->log->getError() << e.what() << "\n";
  961 + linearizationWarning(e.what());
984 962 }
985 963 }
986 964  
... ...
manual/release-notes.rst
... ... @@ -19,6 +19,12 @@ For a detailed list of changes, please see the file
19 19 - New method ``QPDF::removeSecurityRestrictions`` removes security
20 20 restrictions from digitally signed files.
21 21  
  22 + - Bug fixes
  23 +
  24 + - Linearization warnings are now treated like normal warnings in
  25 + that they include the file name and are suppressed with the
  26 + :qpdf:ref:`--no-warn` option.
  27 +
22 28 - Performance enhancements
23 29  
24 30 - Include more code tidying and performance improvements from M.
... ...
qpdf/qtest/linearization.test
... ... @@ -45,14 +45,14 @@ my @to_linearize =
45 45 );
46 46  
47 47 $n_tests += @linearized_files + 6;
48   -$n_tests += (3 * @to_linearize * 5) + 6;
  48 +$n_tests += (3 * @to_linearize * 5) + 7;
49 49  
50 50 foreach my $base (@linearized_files)
51 51 {
52 52 $td->runtest("dump linearization: $base",
53 53 {$td->COMMAND => "qpdf --show-linearization $base.pdf"},
54 54 {$td->FILE => "$base.out",
55   - $td->EXIT_STATUS => 0},
  55 + $td->EXIT_STATUS => ($base eq 'lin0' ? 0 : 3)},
56 56 $td->NORMALIZE_NEWLINES);
57 57 }
58 58  
... ... @@ -129,5 +129,10 @@ foreach my $base (@to_linearize)
129 129 }
130 130 }
131 131  
  132 +$td->runtest("suppress linearization warnings",
  133 + {$td->COMMAND => "qpdf --no-warn --check lin3.pdf"},
  134 + {$td->FILE => "lin3-check-nowarn.out", $td->EXIT_STATUS => 3},
  135 + $td->NORMALIZE_NEWLINES);
  136 +
132 137 cleanup();
133 138 $td->report($n_tests);
... ...
qpdf/qtest/qpdf/badlin1.out
1   -WARNING: first page object (/O) mismatch
2   -WARNING: space before first xref item (/T) mismatch (computed = 11777; file = 11771
3   -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
4   -WARNING: page 0 has shared identifier entries
5   -WARNING: page 0: shared object 62: in hint table but not computed list
  1 +WARNING: badlin1.pdf: first page object (/O) mismatch
  2 +WARNING: badlin1.pdf: space before first xref item (/T) mismatch (computed = 11777; file = 11771
  3 +WARNING: badlin1.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
  4 +WARNING: badlin1.pdf: page 0 has shared identifier entries
  5 +WARNING: badlin1.pdf: page 0: shared object 62: in hint table but not computed list
6 6 badlin1.pdf: linearization data:
7 7  
8 8 file_size: 13103
... ... @@ -378,3 +378,4 @@ first_object: 66
378 378 first_object_offset: 1827
379 379 nobjects: 12
380 380 group_length: 2064
  381 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin1.out
1   -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
2   -WARNING: page 0 has shared identifier entries
3   -WARNING: page 0: shared object 62: in hint table but not computed list
  1 +WARNING: lin1.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
  2 +WARNING: lin1.pdf: page 0 has shared identifier entries
  3 +WARNING: lin1.pdf: page 0: shared object 62: in hint table but not computed list
4 4 lin1.pdf: linearization data:
5 5  
6 6 file_size: 13103
... ... @@ -376,3 +376,4 @@ first_object: 66
376 376 first_object_offset: 1827
377 377 nobjects: 12
378 378 group_length: 2064
  379 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin2.out
1   -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
2   -WARNING: page 0 has shared identifier entries
3   -WARNING: page 0: shared object 62: in hint table but not computed list
  1 +WARNING: lin2.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
  2 +WARNING: lin2.pdf: page 0 has shared identifier entries
  3 +WARNING: lin2.pdf: page 0: shared object 62: in hint table but not computed list
4 4 lin2.pdf: linearization data:
5 5  
6 6 file_size: 13103
... ... @@ -376,3 +376,4 @@ first_object: 66
376 376 first_object_offset: 1827
377 377 nobjects: 12
378 378 group_length: 2064
  379 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin3-check-nowarn.out 0 โ†’ 100644
  1 +checking lin3.pdf
  2 +PDF Version: 1.3
  3 +File is not encrypted
  4 +File is linearized
... ...
qpdf/qtest/qpdf/lin3.out
1   -WARNING: end of first page section (/E) mismatch: /E = 3978; computed = 3785..3786
2   -WARNING: page 1: shared object 107: in computed list but not hint table
3   -WARNING: page 1: shared object 109: in computed list but not hint table
4   -WARNING: page 2: shared object 107: in computed list but not hint table
5   -WARNING: page 2: shared object 109: in computed list but not hint table
6   -WARNING: page 3: shared object 107: in computed list but not hint table
7   -WARNING: page 3: shared object 109: in computed list but not hint table
8   -WARNING: page 4: shared object 107: in computed list but not hint table
9   -WARNING: page 4: shared object 109: in computed list but not hint table
10   -WARNING: page 5: shared object 107: in computed list but not hint table
11   -WARNING: page 5: shared object 109: in computed list but not hint table
12   -WARNING: page 6: shared object 107: in computed list but not hint table
13   -WARNING: page 6: shared object 109: in computed list but not hint table
14   -WARNING: page 7: shared object 107: in computed list but not hint table
15   -WARNING: page 7: shared object 109: in computed list but not hint table
16   -WARNING: page 8: shared object 107: in computed list but not hint table
17   -WARNING: page 8: shared object 109: in computed list but not hint table
18   -WARNING: page 9: shared object 107: in computed list but not hint table
19   -WARNING: page 9: shared object 109: in computed list but not hint table
20   -WARNING: page 10: shared object 107: in computed list but not hint table
21   -WARNING: page 10: shared object 109: in computed list but not hint table
22   -WARNING: page 11: shared object 107: in computed list but not hint table
23   -WARNING: page 11: shared object 109: in computed list but not hint table
24   -WARNING: page 12: shared object 107: in computed list but not hint table
25   -WARNING: page 12: shared object 109: in computed list but not hint table
26   -WARNING: page 13: shared object 107: in computed list but not hint table
27   -WARNING: page 13: shared object 109: in computed list but not hint table
28   -WARNING: page 14: shared object 107: in computed list but not hint table
29   -WARNING: page 14: shared object 109: in computed list but not hint table
30   -WARNING: page 15: shared object 107: in computed list but not hint table
31   -WARNING: page 15: shared object 109: in computed list but not hint table
32   -WARNING: page 16: shared object 107: in computed list but not hint table
33   -WARNING: page 16: shared object 109: in computed list but not hint table
34   -WARNING: page 17: shared object 107: in computed list but not hint table
35   -WARNING: page 17: shared object 109: in computed list but not hint table
36   -WARNING: page 18: shared object 107: in computed list but not hint table
37   -WARNING: page 18: shared object 109: in computed list but not hint table
38   -WARNING: page 19: shared object 107: in computed list but not hint table
39   -WARNING: page 19: shared object 109: in computed list but not hint table
40   -WARNING: page 20: shared object 107: in computed list but not hint table
41   -WARNING: page 20: shared object 109: in computed list but not hint table
42   -WARNING: page 21: shared object 107: in computed list but not hint table
43   -WARNING: page 21: shared object 109: in computed list but not hint table
44   -WARNING: page 22: shared object 107: in computed list but not hint table
45   -WARNING: page 22: shared object 109: in computed list but not hint table
46   -WARNING: page 23: shared object 107: in computed list but not hint table
47   -WARNING: page 23: shared object 109: in computed list but not hint table
48   -WARNING: page 24: shared object 107: in computed list but not hint table
49   -WARNING: page 24: shared object 109: in computed list but not hint table
50   -WARNING: page 25: shared object 107: in computed list but not hint table
51   -WARNING: page 25: shared object 109: in computed list but not hint table
52   -WARNING: page 26: shared object 107: in computed list but not hint table
53   -WARNING: page 26: shared object 109: in computed list but not hint table
54   -WARNING: page 27: shared object 107: in computed list but not hint table
55   -WARNING: page 27: shared object 109: in computed list but not hint table
56   -WARNING: page 28: shared object 107: in computed list but not hint table
57   -WARNING: page 28: shared object 109: in computed list but not hint table
58   -WARNING: page 29: shared object 107: in computed list but not hint table
59   -WARNING: page 29: shared object 109: in computed list but not hint table
60   -WARNING: incorrect offset in outlines table: hint table = 1627; computed = 1547
61   -WARNING: incorrect length in outlines table: hint table = 1988; computed = 1936
  1 +WARNING: lin3.pdf: end of first page section (/E) mismatch: /E = 3978; computed = 3785..3786
  2 +WARNING: lin3.pdf: page 1: shared object 107: in computed list but not hint table
  3 +WARNING: lin3.pdf: page 1: shared object 109: in computed list but not hint table
  4 +WARNING: lin3.pdf: page 2: shared object 107: in computed list but not hint table
  5 +WARNING: lin3.pdf: page 2: shared object 109: in computed list but not hint table
  6 +WARNING: lin3.pdf: page 3: shared object 107: in computed list but not hint table
  7 +WARNING: lin3.pdf: page 3: shared object 109: in computed list but not hint table
  8 +WARNING: lin3.pdf: page 4: shared object 107: in computed list but not hint table
  9 +WARNING: lin3.pdf: page 4: shared object 109: in computed list but not hint table
  10 +WARNING: lin3.pdf: page 5: shared object 107: in computed list but not hint table
  11 +WARNING: lin3.pdf: page 5: shared object 109: in computed list but not hint table
  12 +WARNING: lin3.pdf: page 6: shared object 107: in computed list but not hint table
  13 +WARNING: lin3.pdf: page 6: shared object 109: in computed list but not hint table
  14 +WARNING: lin3.pdf: page 7: shared object 107: in computed list but not hint table
  15 +WARNING: lin3.pdf: page 7: shared object 109: in computed list but not hint table
  16 +WARNING: lin3.pdf: page 8: shared object 107: in computed list but not hint table
  17 +WARNING: lin3.pdf: page 8: shared object 109: in computed list but not hint table
  18 +WARNING: lin3.pdf: page 9: shared object 107: in computed list but not hint table
  19 +WARNING: lin3.pdf: page 9: shared object 109: in computed list but not hint table
  20 +WARNING: lin3.pdf: page 10: shared object 107: in computed list but not hint table
  21 +WARNING: lin3.pdf: page 10: shared object 109: in computed list but not hint table
  22 +WARNING: lin3.pdf: page 11: shared object 107: in computed list but not hint table
  23 +WARNING: lin3.pdf: page 11: shared object 109: in computed list but not hint table
  24 +WARNING: lin3.pdf: page 12: shared object 107: in computed list but not hint table
  25 +WARNING: lin3.pdf: page 12: shared object 109: in computed list but not hint table
  26 +WARNING: lin3.pdf: page 13: shared object 107: in computed list but not hint table
  27 +WARNING: lin3.pdf: page 13: shared object 109: in computed list but not hint table
  28 +WARNING: lin3.pdf: page 14: shared object 107: in computed list but not hint table
  29 +WARNING: lin3.pdf: page 14: shared object 109: in computed list but not hint table
  30 +WARNING: lin3.pdf: page 15: shared object 107: in computed list but not hint table
  31 +WARNING: lin3.pdf: page 15: shared object 109: in computed list but not hint table
  32 +WARNING: lin3.pdf: page 16: shared object 107: in computed list but not hint table
  33 +WARNING: lin3.pdf: page 16: shared object 109: in computed list but not hint table
  34 +WARNING: lin3.pdf: page 17: shared object 107: in computed list but not hint table
  35 +WARNING: lin3.pdf: page 17: shared object 109: in computed list but not hint table
  36 +WARNING: lin3.pdf: page 18: shared object 107: in computed list but not hint table
  37 +WARNING: lin3.pdf: page 18: shared object 109: in computed list but not hint table
  38 +WARNING: lin3.pdf: page 19: shared object 107: in computed list but not hint table
  39 +WARNING: lin3.pdf: page 19: shared object 109: in computed list but not hint table
  40 +WARNING: lin3.pdf: page 20: shared object 107: in computed list but not hint table
  41 +WARNING: lin3.pdf: page 20: shared object 109: in computed list but not hint table
  42 +WARNING: lin3.pdf: page 21: shared object 107: in computed list but not hint table
  43 +WARNING: lin3.pdf: page 21: shared object 109: in computed list but not hint table
  44 +WARNING: lin3.pdf: page 22: shared object 107: in computed list but not hint table
  45 +WARNING: lin3.pdf: page 22: shared object 109: in computed list but not hint table
  46 +WARNING: lin3.pdf: page 23: shared object 107: in computed list but not hint table
  47 +WARNING: lin3.pdf: page 23: shared object 109: in computed list but not hint table
  48 +WARNING: lin3.pdf: page 24: shared object 107: in computed list but not hint table
  49 +WARNING: lin3.pdf: page 24: shared object 109: in computed list but not hint table
  50 +WARNING: lin3.pdf: page 25: shared object 107: in computed list but not hint table
  51 +WARNING: lin3.pdf: page 25: shared object 109: in computed list but not hint table
  52 +WARNING: lin3.pdf: page 26: shared object 107: in computed list but not hint table
  53 +WARNING: lin3.pdf: page 26: shared object 109: in computed list but not hint table
  54 +WARNING: lin3.pdf: page 27: shared object 107: in computed list but not hint table
  55 +WARNING: lin3.pdf: page 27: shared object 109: in computed list but not hint table
  56 +WARNING: lin3.pdf: page 28: shared object 107: in computed list but not hint table
  57 +WARNING: lin3.pdf: page 28: shared object 109: in computed list but not hint table
  58 +WARNING: lin3.pdf: page 29: shared object 107: in computed list but not hint table
  59 +WARNING: lin3.pdf: page 29: shared object 109: in computed list but not hint table
  60 +WARNING: lin3.pdf: incorrect offset in outlines table: hint table = 1627; computed = 1547
  61 +WARNING: lin3.pdf: incorrect length in outlines table: hint table = 1988; computed = 1936
62 62 lin3.pdf: linearization data:
63 63  
64 64 file_size: 16937
... ... @@ -316,3 +316,4 @@ first_object: 94
316 316 first_object_offset: 1627
317 317 nobjects: 12
318 318 group_length: 1988
  319 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin4.out
1   -WARNING: page 0 has shared identifier entries
2   -WARNING: page 0: shared object 74: in hint table but not computed list
  1 +WARNING: lin4.pdf: page 0 has shared identifier entries
  2 +WARNING: lin4.pdf: page 0: shared object 74: in hint table but not computed list
3 3 lin4.pdf: linearization data:
4 4  
5 5 file_size: 13055
... ... @@ -351,3 +351,4 @@ first_object: 60
351 351 first_object_offset: 9413
352 352 nobjects: 12
353 353 group_length: 2064
  354 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin5.out
1   -WARNING: end of first page section (/E) mismatch: /E = 4213; computed = 4004..4005
2   -WARNING: page 1: shared object 170: in computed list but not hint table
3   -WARNING: page 1: shared object 172: in computed list but not hint table
4   -WARNING: page 2: shared object 170: in computed list but not hint table
5   -WARNING: page 2: shared object 172: in computed list but not hint table
6   -WARNING: page 3: shared object 170: in computed list but not hint table
7   -WARNING: page 3: shared object 172: in computed list but not hint table
8   -WARNING: page 4: shared object 170: in computed list but not hint table
9   -WARNING: page 4: shared object 172: in computed list but not hint table
10   -WARNING: page 5: shared object 170: in computed list but not hint table
11   -WARNING: page 5: shared object 172: in computed list but not hint table
12   -WARNING: page 6: shared object 170: in computed list but not hint table
13   -WARNING: page 6: shared object 172: in computed list but not hint table
14   -WARNING: page 7: shared object 170: in computed list but not hint table
15   -WARNING: page 7: shared object 172: in computed list but not hint table
16   -WARNING: page 8: shared object 170: in computed list but not hint table
17   -WARNING: page 8: shared object 172: in computed list but not hint table
18   -WARNING: page 9: shared object 170: in computed list but not hint table
19   -WARNING: page 9: shared object 172: in computed list but not hint table
20   -WARNING: page 10: shared object 170: in computed list but not hint table
21   -WARNING: page 10: shared object 172: in computed list but not hint table
22   -WARNING: page 11: shared object 170: in computed list but not hint table
23   -WARNING: page 11: shared object 172: in computed list but not hint table
24   -WARNING: page 12: shared object 170: in computed list but not hint table
25   -WARNING: page 12: shared object 172: in computed list but not hint table
26   -WARNING: page 13: shared object 170: in computed list but not hint table
27   -WARNING: page 13: shared object 172: in computed list but not hint table
28   -WARNING: page 14: shared object 170: in computed list but not hint table
29   -WARNING: page 14: shared object 172: in computed list but not hint table
30   -WARNING: page 15: shared object 170: in computed list but not hint table
31   -WARNING: page 15: shared object 172: in computed list but not hint table
32   -WARNING: page 16: shared object 170: in computed list but not hint table
33   -WARNING: page 16: shared object 172: in computed list but not hint table
34   -WARNING: page 17: shared object 170: in computed list but not hint table
35   -WARNING: page 17: shared object 172: in computed list but not hint table
36   -WARNING: page 18: shared object 170: in computed list but not hint table
37   -WARNING: page 18: shared object 172: in computed list but not hint table
38   -WARNING: page 19: shared object 170: in computed list but not hint table
39   -WARNING: page 19: shared object 172: in computed list but not hint table
40   -WARNING: page 20: shared object 170: in computed list but not hint table
41   -WARNING: page 20: shared object 172: in computed list but not hint table
42   -WARNING: page 21: shared object 170: in computed list but not hint table
43   -WARNING: page 21: shared object 172: in computed list but not hint table
44   -WARNING: page 22: shared object 170: in computed list but not hint table
45   -WARNING: page 22: shared object 172: in computed list but not hint table
46   -WARNING: page 23: shared object 170: in computed list but not hint table
47   -WARNING: page 23: shared object 172: in computed list but not hint table
48   -WARNING: page 24: shared object 170: in computed list but not hint table
49   -WARNING: page 24: shared object 172: in computed list but not hint table
50   -WARNING: page 25: shared object 170: in computed list but not hint table
51   -WARNING: page 25: shared object 172: in computed list but not hint table
52   -WARNING: page 26: shared object 170: in computed list but not hint table
53   -WARNING: page 26: shared object 172: in computed list but not hint table
54   -WARNING: page 27: shared object 170: in computed list but not hint table
55   -WARNING: page 27: shared object 172: in computed list but not hint table
56   -WARNING: page 28: shared object 170: in computed list but not hint table
57   -WARNING: page 28: shared object 172: in computed list but not hint table
58   -WARNING: page 29: shared object 170: in computed list but not hint table
59   -WARNING: page 29: shared object 172: in computed list but not hint table
60   -WARNING: incorrect offset in outlines table: hint table = 1710; computed = 1627
61   -WARNING: incorrect length in outlines table: hint table = 2124; computed = 2075
  1 +WARNING: lin5.pdf: end of first page section (/E) mismatch: /E = 4213; computed = 4004..4005
  2 +WARNING: lin5.pdf: page 1: shared object 170: in computed list but not hint table
  3 +WARNING: lin5.pdf: page 1: shared object 172: in computed list but not hint table
  4 +WARNING: lin5.pdf: page 2: shared object 170: in computed list but not hint table
  5 +WARNING: lin5.pdf: page 2: shared object 172: in computed list but not hint table
  6 +WARNING: lin5.pdf: page 3: shared object 170: in computed list but not hint table
  7 +WARNING: lin5.pdf: page 3: shared object 172: in computed list but not hint table
  8 +WARNING: lin5.pdf: page 4: shared object 170: in computed list but not hint table
  9 +WARNING: lin5.pdf: page 4: shared object 172: in computed list but not hint table
  10 +WARNING: lin5.pdf: page 5: shared object 170: in computed list but not hint table
  11 +WARNING: lin5.pdf: page 5: shared object 172: in computed list but not hint table
  12 +WARNING: lin5.pdf: page 6: shared object 170: in computed list but not hint table
  13 +WARNING: lin5.pdf: page 6: shared object 172: in computed list but not hint table
  14 +WARNING: lin5.pdf: page 7: shared object 170: in computed list but not hint table
  15 +WARNING: lin5.pdf: page 7: shared object 172: in computed list but not hint table
  16 +WARNING: lin5.pdf: page 8: shared object 170: in computed list but not hint table
  17 +WARNING: lin5.pdf: page 8: shared object 172: in computed list but not hint table
  18 +WARNING: lin5.pdf: page 9: shared object 170: in computed list but not hint table
  19 +WARNING: lin5.pdf: page 9: shared object 172: in computed list but not hint table
  20 +WARNING: lin5.pdf: page 10: shared object 170: in computed list but not hint table
  21 +WARNING: lin5.pdf: page 10: shared object 172: in computed list but not hint table
  22 +WARNING: lin5.pdf: page 11: shared object 170: in computed list but not hint table
  23 +WARNING: lin5.pdf: page 11: shared object 172: in computed list but not hint table
  24 +WARNING: lin5.pdf: page 12: shared object 170: in computed list but not hint table
  25 +WARNING: lin5.pdf: page 12: shared object 172: in computed list but not hint table
  26 +WARNING: lin5.pdf: page 13: shared object 170: in computed list but not hint table
  27 +WARNING: lin5.pdf: page 13: shared object 172: in computed list but not hint table
  28 +WARNING: lin5.pdf: page 14: shared object 170: in computed list but not hint table
  29 +WARNING: lin5.pdf: page 14: shared object 172: in computed list but not hint table
  30 +WARNING: lin5.pdf: page 15: shared object 170: in computed list but not hint table
  31 +WARNING: lin5.pdf: page 15: shared object 172: in computed list but not hint table
  32 +WARNING: lin5.pdf: page 16: shared object 170: in computed list but not hint table
  33 +WARNING: lin5.pdf: page 16: shared object 172: in computed list but not hint table
  34 +WARNING: lin5.pdf: page 17: shared object 170: in computed list but not hint table
  35 +WARNING: lin5.pdf: page 17: shared object 172: in computed list but not hint table
  36 +WARNING: lin5.pdf: page 18: shared object 170: in computed list but not hint table
  37 +WARNING: lin5.pdf: page 18: shared object 172: in computed list but not hint table
  38 +WARNING: lin5.pdf: page 19: shared object 170: in computed list but not hint table
  39 +WARNING: lin5.pdf: page 19: shared object 172: in computed list but not hint table
  40 +WARNING: lin5.pdf: page 20: shared object 170: in computed list but not hint table
  41 +WARNING: lin5.pdf: page 20: shared object 172: in computed list but not hint table
  42 +WARNING: lin5.pdf: page 21: shared object 170: in computed list but not hint table
  43 +WARNING: lin5.pdf: page 21: shared object 172: in computed list but not hint table
  44 +WARNING: lin5.pdf: page 22: shared object 170: in computed list but not hint table
  45 +WARNING: lin5.pdf: page 22: shared object 172: in computed list but not hint table
  46 +WARNING: lin5.pdf: page 23: shared object 170: in computed list but not hint table
  47 +WARNING: lin5.pdf: page 23: shared object 172: in computed list but not hint table
  48 +WARNING: lin5.pdf: page 24: shared object 170: in computed list but not hint table
  49 +WARNING: lin5.pdf: page 24: shared object 172: in computed list but not hint table
  50 +WARNING: lin5.pdf: page 25: shared object 170: in computed list but not hint table
  51 +WARNING: lin5.pdf: page 25: shared object 172: in computed list but not hint table
  52 +WARNING: lin5.pdf: page 26: shared object 170: in computed list but not hint table
  53 +WARNING: lin5.pdf: page 26: shared object 172: in computed list but not hint table
  54 +WARNING: lin5.pdf: page 27: shared object 170: in computed list but not hint table
  55 +WARNING: lin5.pdf: page 27: shared object 172: in computed list but not hint table
  56 +WARNING: lin5.pdf: page 28: shared object 170: in computed list but not hint table
  57 +WARNING: lin5.pdf: page 28: shared object 172: in computed list but not hint table
  58 +WARNING: lin5.pdf: page 29: shared object 170: in computed list but not hint table
  59 +WARNING: lin5.pdf: page 29: shared object 172: in computed list but not hint table
  60 +WARNING: lin5.pdf: incorrect offset in outlines table: hint table = 1710; computed = 1627
  61 +WARNING: lin5.pdf: incorrect length in outlines table: hint table = 2124; computed = 2075
62 62 lin5.pdf: linearization data:
63 63  
64 64 file_size: 27464
... ... @@ -316,3 +316,4 @@ first_object: 157
316 316 first_object_offset: 1710
317 317 nobjects: 12
318 318 group_length: 2124
  319 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin6.out
1   -WARNING: end of first page section (/E) mismatch: /E = 2897; computed = 5005..5007
2   -WARNING: object count mismatch for page 0: hint table = 19; computed = 16
3   -WARNING: page 0 has shared identifier entries
4   -WARNING: page 0: shared object 93: in hint table but not computed list
5   -WARNING: object count mismatch for page 1: hint table = 3; computed = 2
6   -WARNING: page 1: shared object 98: in hint table but not computed list
7   -WARNING: page 1: shared object 99: in hint table but not computed list
8   -WARNING: object count mismatch for page 2: hint table = 3; computed = 2
9   -WARNING: page 2: shared object 98: in hint table but not computed list
10   -WARNING: page 2: shared object 99: in hint table but not computed list
11   -WARNING: object count mismatch for page 3: hint table = 3; computed = 2
12   -WARNING: page 3: shared object 98: in hint table but not computed list
13   -WARNING: page 3: shared object 99: in hint table but not computed list
14   -WARNING: object count mismatch for page 4: hint table = 3; computed = 2
15   -WARNING: page 4: shared object 98: in hint table but not computed list
16   -WARNING: page 4: shared object 99: in hint table but not computed list
17   -WARNING: object count mismatch for page 5: hint table = 3; computed = 2
18   -WARNING: page 5: shared object 98: in hint table but not computed list
19   -WARNING: page 5: shared object 99: in hint table but not computed list
20   -WARNING: object count mismatch for page 6: hint table = 3; computed = 2
21   -WARNING: page 6: shared object 98: in hint table but not computed list
22   -WARNING: page 6: shared object 99: in hint table but not computed list
23   -WARNING: object count mismatch for page 7: hint table = 3; computed = 2
24   -WARNING: page 7: shared object 98: in hint table but not computed list
25   -WARNING: page 7: shared object 99: in hint table but not computed list
26   -WARNING: object count mismatch for page 8: hint table = 3; computed = 2
27   -WARNING: page 8: shared object 98: in hint table but not computed list
28   -WARNING: page 8: shared object 99: in hint table but not computed list
29   -WARNING: object count mismatch for page 9: hint table = 3; computed = 2
30   -WARNING: page 9: shared object 98: in hint table but not computed list
31   -WARNING: page 9: shared object 99: in hint table but not computed list
32   -WARNING: object count mismatch for page 10: hint table = 3; computed = 2
33   -WARNING: page 10: shared object 98: in hint table but not computed list
34   -WARNING: page 10: shared object 99: in hint table but not computed list
35   -WARNING: object count mismatch for page 11: hint table = 3; computed = 2
36   -WARNING: page 11: shared object 98: in hint table but not computed list
37   -WARNING: page 11: shared object 99: in hint table but not computed list
38   -WARNING: object count mismatch for page 12: hint table = 3; computed = 2
39   -WARNING: page 12: shared object 98: in hint table but not computed list
40   -WARNING: page 12: shared object 99: in hint table but not computed list
41   -WARNING: object count mismatch for page 13: hint table = 3; computed = 2
42   -WARNING: page 13: shared object 98: in hint table but not computed list
43   -WARNING: page 13: shared object 99: in hint table but not computed list
44   -WARNING: object count mismatch for page 14: hint table = 3; computed = 2
45   -WARNING: page 14: shared object 98: in hint table but not computed list
46   -WARNING: page 14: shared object 99: in hint table but not computed list
47   -WARNING: object count mismatch for page 15: hint table = 3; computed = 2
48   -WARNING: page 15: shared object 98: in hint table but not computed list
49   -WARNING: page 15: shared object 99: in hint table but not computed list
50   -WARNING: object count mismatch for page 16: hint table = 3; computed = 2
51   -WARNING: page 16: shared object 98: in hint table but not computed list
52   -WARNING: page 16: shared object 99: in hint table but not computed list
53   -WARNING: object count mismatch for page 17: hint table = 3; computed = 2
54   -WARNING: page 17: shared object 98: in hint table but not computed list
55   -WARNING: page 17: shared object 99: in hint table but not computed list
56   -WARNING: object count mismatch for page 18: hint table = 3; computed = 2
57   -WARNING: page 18: shared object 98: in hint table but not computed list
58   -WARNING: page 18: shared object 99: in hint table but not computed list
59   -WARNING: object count mismatch for page 19: hint table = 3; computed = 2
60   -WARNING: page 19: shared object 98: in hint table but not computed list
61   -WARNING: page 19: shared object 99: in hint table but not computed list
62   -WARNING: object count mismatch for page 20: hint table = 3; computed = 2
63   -WARNING: page 20: shared object 98: in hint table but not computed list
64   -WARNING: page 20: shared object 99: in hint table but not computed list
65   -WARNING: object count mismatch for page 21: hint table = 3; computed = 2
66   -WARNING: page 21: shared object 98: in hint table but not computed list
67   -WARNING: page 21: shared object 99: in hint table but not computed list
68   -WARNING: object count mismatch for page 22: hint table = 3; computed = 2
69   -WARNING: page 22: shared object 98: in hint table but not computed list
70   -WARNING: page 22: shared object 99: in hint table but not computed list
71   -WARNING: object count mismatch for page 23: hint table = 3; computed = 2
72   -WARNING: page 23: shared object 98: in hint table but not computed list
73   -WARNING: page 23: shared object 99: in hint table but not computed list
74   -WARNING: object count mismatch for page 24: hint table = 3; computed = 2
75   -WARNING: page 24: shared object 98: in hint table but not computed list
76   -WARNING: page 24: shared object 99: in hint table but not computed list
77   -WARNING: object count mismatch for page 25: hint table = 3; computed = 2
78   -WARNING: page 25: shared object 98: in hint table but not computed list
79   -WARNING: page 25: shared object 99: in hint table but not computed list
80   -WARNING: object count mismatch for page 26: hint table = 3; computed = 2
81   -WARNING: page 26: shared object 98: in hint table but not computed list
82   -WARNING: page 26: shared object 99: in hint table but not computed list
83   -WARNING: object count mismatch for page 27: hint table = 3; computed = 2
84   -WARNING: page 27: shared object 98: in hint table but not computed list
85   -WARNING: page 27: shared object 99: in hint table but not computed list
86   -WARNING: object count mismatch for page 28: hint table = 3; computed = 2
87   -WARNING: page 28: shared object 98: in hint table but not computed list
88   -WARNING: page 28: shared object 99: in hint table but not computed list
89   -WARNING: object count mismatch for page 29: hint table = 3; computed = 2
90   -WARNING: page 29: shared object 98: in hint table but not computed list
91   -WARNING: page 29: shared object 99: in hint table but not computed list
  1 +WARNING: lin6.pdf: end of first page section (/E) mismatch: /E = 2897; computed = 5005..5007
  2 +WARNING: lin6.pdf: object count mismatch for page 0: hint table = 19; computed = 16
  3 +WARNING: lin6.pdf: page 0 has shared identifier entries
  4 +WARNING: lin6.pdf: page 0: shared object 93: in hint table but not computed list
  5 +WARNING: lin6.pdf: object count mismatch for page 1: hint table = 3; computed = 2
  6 +WARNING: lin6.pdf: page 1: shared object 98: in hint table but not computed list
  7 +WARNING: lin6.pdf: page 1: shared object 99: in hint table but not computed list
  8 +WARNING: lin6.pdf: object count mismatch for page 2: hint table = 3; computed = 2
  9 +WARNING: lin6.pdf: page 2: shared object 98: in hint table but not computed list
  10 +WARNING: lin6.pdf: page 2: shared object 99: in hint table but not computed list
  11 +WARNING: lin6.pdf: object count mismatch for page 3: hint table = 3; computed = 2
  12 +WARNING: lin6.pdf: page 3: shared object 98: in hint table but not computed list
  13 +WARNING: lin6.pdf: page 3: shared object 99: in hint table but not computed list
  14 +WARNING: lin6.pdf: object count mismatch for page 4: hint table = 3; computed = 2
  15 +WARNING: lin6.pdf: page 4: shared object 98: in hint table but not computed list
  16 +WARNING: lin6.pdf: page 4: shared object 99: in hint table but not computed list
  17 +WARNING: lin6.pdf: object count mismatch for page 5: hint table = 3; computed = 2
  18 +WARNING: lin6.pdf: page 5: shared object 98: in hint table but not computed list
  19 +WARNING: lin6.pdf: page 5: shared object 99: in hint table but not computed list
  20 +WARNING: lin6.pdf: object count mismatch for page 6: hint table = 3; computed = 2
  21 +WARNING: lin6.pdf: page 6: shared object 98: in hint table but not computed list
  22 +WARNING: lin6.pdf: page 6: shared object 99: in hint table but not computed list
  23 +WARNING: lin6.pdf: object count mismatch for page 7: hint table = 3; computed = 2
  24 +WARNING: lin6.pdf: page 7: shared object 98: in hint table but not computed list
  25 +WARNING: lin6.pdf: page 7: shared object 99: in hint table but not computed list
  26 +WARNING: lin6.pdf: object count mismatch for page 8: hint table = 3; computed = 2
  27 +WARNING: lin6.pdf: page 8: shared object 98: in hint table but not computed list
  28 +WARNING: lin6.pdf: page 8: shared object 99: in hint table but not computed list
  29 +WARNING: lin6.pdf: object count mismatch for page 9: hint table = 3; computed = 2
  30 +WARNING: lin6.pdf: page 9: shared object 98: in hint table but not computed list
  31 +WARNING: lin6.pdf: page 9: shared object 99: in hint table but not computed list
  32 +WARNING: lin6.pdf: object count mismatch for page 10: hint table = 3; computed = 2
  33 +WARNING: lin6.pdf: page 10: shared object 98: in hint table but not computed list
  34 +WARNING: lin6.pdf: page 10: shared object 99: in hint table but not computed list
  35 +WARNING: lin6.pdf: object count mismatch for page 11: hint table = 3; computed = 2
  36 +WARNING: lin6.pdf: page 11: shared object 98: in hint table but not computed list
  37 +WARNING: lin6.pdf: page 11: shared object 99: in hint table but not computed list
  38 +WARNING: lin6.pdf: object count mismatch for page 12: hint table = 3; computed = 2
  39 +WARNING: lin6.pdf: page 12: shared object 98: in hint table but not computed list
  40 +WARNING: lin6.pdf: page 12: shared object 99: in hint table but not computed list
  41 +WARNING: lin6.pdf: object count mismatch for page 13: hint table = 3; computed = 2
  42 +WARNING: lin6.pdf: page 13: shared object 98: in hint table but not computed list
  43 +WARNING: lin6.pdf: page 13: shared object 99: in hint table but not computed list
  44 +WARNING: lin6.pdf: object count mismatch for page 14: hint table = 3; computed = 2
  45 +WARNING: lin6.pdf: page 14: shared object 98: in hint table but not computed list
  46 +WARNING: lin6.pdf: page 14: shared object 99: in hint table but not computed list
  47 +WARNING: lin6.pdf: object count mismatch for page 15: hint table = 3; computed = 2
  48 +WARNING: lin6.pdf: page 15: shared object 98: in hint table but not computed list
  49 +WARNING: lin6.pdf: page 15: shared object 99: in hint table but not computed list
  50 +WARNING: lin6.pdf: object count mismatch for page 16: hint table = 3; computed = 2
  51 +WARNING: lin6.pdf: page 16: shared object 98: in hint table but not computed list
  52 +WARNING: lin6.pdf: page 16: shared object 99: in hint table but not computed list
  53 +WARNING: lin6.pdf: object count mismatch for page 17: hint table = 3; computed = 2
  54 +WARNING: lin6.pdf: page 17: shared object 98: in hint table but not computed list
  55 +WARNING: lin6.pdf: page 17: shared object 99: in hint table but not computed list
  56 +WARNING: lin6.pdf: object count mismatch for page 18: hint table = 3; computed = 2
  57 +WARNING: lin6.pdf: page 18: shared object 98: in hint table but not computed list
  58 +WARNING: lin6.pdf: page 18: shared object 99: in hint table but not computed list
  59 +WARNING: lin6.pdf: object count mismatch for page 19: hint table = 3; computed = 2
  60 +WARNING: lin6.pdf: page 19: shared object 98: in hint table but not computed list
  61 +WARNING: lin6.pdf: page 19: shared object 99: in hint table but not computed list
  62 +WARNING: lin6.pdf: object count mismatch for page 20: hint table = 3; computed = 2
  63 +WARNING: lin6.pdf: page 20: shared object 98: in hint table but not computed list
  64 +WARNING: lin6.pdf: page 20: shared object 99: in hint table but not computed list
  65 +WARNING: lin6.pdf: object count mismatch for page 21: hint table = 3; computed = 2
  66 +WARNING: lin6.pdf: page 21: shared object 98: in hint table but not computed list
  67 +WARNING: lin6.pdf: page 21: shared object 99: in hint table but not computed list
  68 +WARNING: lin6.pdf: object count mismatch for page 22: hint table = 3; computed = 2
  69 +WARNING: lin6.pdf: page 22: shared object 98: in hint table but not computed list
  70 +WARNING: lin6.pdf: page 22: shared object 99: in hint table but not computed list
  71 +WARNING: lin6.pdf: object count mismatch for page 23: hint table = 3; computed = 2
  72 +WARNING: lin6.pdf: page 23: shared object 98: in hint table but not computed list
  73 +WARNING: lin6.pdf: page 23: shared object 99: in hint table but not computed list
  74 +WARNING: lin6.pdf: object count mismatch for page 24: hint table = 3; computed = 2
  75 +WARNING: lin6.pdf: page 24: shared object 98: in hint table but not computed list
  76 +WARNING: lin6.pdf: page 24: shared object 99: in hint table but not computed list
  77 +WARNING: lin6.pdf: object count mismatch for page 25: hint table = 3; computed = 2
  78 +WARNING: lin6.pdf: page 25: shared object 98: in hint table but not computed list
  79 +WARNING: lin6.pdf: page 25: shared object 99: in hint table but not computed list
  80 +WARNING: lin6.pdf: object count mismatch for page 26: hint table = 3; computed = 2
  81 +WARNING: lin6.pdf: page 26: shared object 98: in hint table but not computed list
  82 +WARNING: lin6.pdf: page 26: shared object 99: in hint table but not computed list
  83 +WARNING: lin6.pdf: object count mismatch for page 27: hint table = 3; computed = 2
  84 +WARNING: lin6.pdf: page 27: shared object 98: in hint table but not computed list
  85 +WARNING: lin6.pdf: page 27: shared object 99: in hint table but not computed list
  86 +WARNING: lin6.pdf: object count mismatch for page 28: hint table = 3; computed = 2
  87 +WARNING: lin6.pdf: page 28: shared object 98: in hint table but not computed list
  88 +WARNING: lin6.pdf: page 28: shared object 99: in hint table but not computed list
  89 +WARNING: lin6.pdf: object count mismatch for page 29: hint table = 3; computed = 2
  90 +WARNING: lin6.pdf: page 29: shared object 98: in hint table but not computed list
  91 +WARNING: lin6.pdf: page 29: shared object 99: in hint table but not computed list
92 92 lin6.pdf: linearization data:
93 93  
94 94 file_size: 24824
... ... @@ -590,3 +590,4 @@ first_object: 100
590 590 first_object_offset: 2897
591 591 nobjects: 12
592 592 group_length: 2110
  593 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin7.out
1   -WARNING: end of first page section (/E) mismatch: /E = 1865; computed = 1655..1656
2   -WARNING: page 1: shared object 170: in computed list but not hint table
3   -WARNING: page 1: shared object 172: in computed list but not hint table
4   -WARNING: page 2: shared object 170: in computed list but not hint table
5   -WARNING: page 2: shared object 172: in computed list but not hint table
6   -WARNING: page 3: shared object 170: in computed list but not hint table
7   -WARNING: page 3: shared object 172: in computed list but not hint table
8   -WARNING: page 4: shared object 170: in computed list but not hint table
9   -WARNING: page 4: shared object 172: in computed list but not hint table
10   -WARNING: page 5: shared object 170: in computed list but not hint table
11   -WARNING: page 5: shared object 172: in computed list but not hint table
12   -WARNING: page 6: shared object 170: in computed list but not hint table
13   -WARNING: page 6: shared object 172: in computed list but not hint table
14   -WARNING: page 7: shared object 170: in computed list but not hint table
15   -WARNING: page 7: shared object 172: in computed list but not hint table
16   -WARNING: page 8: shared object 170: in computed list but not hint table
17   -WARNING: page 8: shared object 172: in computed list but not hint table
18   -WARNING: page 9: shared object 170: in computed list but not hint table
19   -WARNING: page 9: shared object 172: in computed list but not hint table
20   -WARNING: page 10: shared object 170: in computed list but not hint table
21   -WARNING: page 10: shared object 172: in computed list but not hint table
22   -WARNING: page 11: shared object 170: in computed list but not hint table
23   -WARNING: page 11: shared object 172: in computed list but not hint table
24   -WARNING: page 12: shared object 170: in computed list but not hint table
25   -WARNING: page 12: shared object 172: in computed list but not hint table
26   -WARNING: page 13: shared object 170: in computed list but not hint table
27   -WARNING: page 13: shared object 172: in computed list but not hint table
28   -WARNING: page 14: shared object 170: in computed list but not hint table
29   -WARNING: page 14: shared object 172: in computed list but not hint table
30   -WARNING: page 15: shared object 170: in computed list but not hint table
31   -WARNING: page 15: shared object 172: in computed list but not hint table
32   -WARNING: page 16: shared object 170: in computed list but not hint table
33   -WARNING: page 16: shared object 172: in computed list but not hint table
34   -WARNING: page 17: shared object 170: in computed list but not hint table
35   -WARNING: page 17: shared object 172: in computed list but not hint table
36   -WARNING: page 18: shared object 170: in computed list but not hint table
37   -WARNING: page 18: shared object 172: in computed list but not hint table
38   -WARNING: page 19: shared object 170: in computed list but not hint table
39   -WARNING: page 19: shared object 172: in computed list but not hint table
40   -WARNING: page 20: shared object 170: in computed list but not hint table
41   -WARNING: page 20: shared object 172: in computed list but not hint table
42   -WARNING: page 21: shared object 170: in computed list but not hint table
43   -WARNING: page 21: shared object 172: in computed list but not hint table
44   -WARNING: page 22: shared object 170: in computed list but not hint table
45   -WARNING: page 22: shared object 172: in computed list but not hint table
46   -WARNING: page 23: shared object 170: in computed list but not hint table
47   -WARNING: page 23: shared object 172: in computed list but not hint table
48   -WARNING: page 24: shared object 170: in computed list but not hint table
49   -WARNING: page 24: shared object 172: in computed list but not hint table
50   -WARNING: page 25: shared object 170: in computed list but not hint table
51   -WARNING: page 25: shared object 172: in computed list but not hint table
52   -WARNING: page 26: shared object 170: in computed list but not hint table
53   -WARNING: page 26: shared object 172: in computed list but not hint table
54   -WARNING: page 27: shared object 170: in computed list but not hint table
55   -WARNING: page 27: shared object 172: in computed list but not hint table
56   -WARNING: page 28: shared object 170: in computed list but not hint table
57   -WARNING: page 28: shared object 172: in computed list but not hint table
58   -WARNING: page 29: shared object 170: in computed list but not hint table
59   -WARNING: page 29: shared object 172: in computed list but not hint table
  1 +WARNING: lin7.pdf: end of first page section (/E) mismatch: /E = 1865; computed = 1655..1656
  2 +WARNING: lin7.pdf: page 1: shared object 170: in computed list but not hint table
  3 +WARNING: lin7.pdf: page 1: shared object 172: in computed list but not hint table
  4 +WARNING: lin7.pdf: page 2: shared object 170: in computed list but not hint table
  5 +WARNING: lin7.pdf: page 2: shared object 172: in computed list but not hint table
  6 +WARNING: lin7.pdf: page 3: shared object 170: in computed list but not hint table
  7 +WARNING: lin7.pdf: page 3: shared object 172: in computed list but not hint table
  8 +WARNING: lin7.pdf: page 4: shared object 170: in computed list but not hint table
  9 +WARNING: lin7.pdf: page 4: shared object 172: in computed list but not hint table
  10 +WARNING: lin7.pdf: page 5: shared object 170: in computed list but not hint table
  11 +WARNING: lin7.pdf: page 5: shared object 172: in computed list but not hint table
  12 +WARNING: lin7.pdf: page 6: shared object 170: in computed list but not hint table
  13 +WARNING: lin7.pdf: page 6: shared object 172: in computed list but not hint table
  14 +WARNING: lin7.pdf: page 7: shared object 170: in computed list but not hint table
  15 +WARNING: lin7.pdf: page 7: shared object 172: in computed list but not hint table
  16 +WARNING: lin7.pdf: page 8: shared object 170: in computed list but not hint table
  17 +WARNING: lin7.pdf: page 8: shared object 172: in computed list but not hint table
  18 +WARNING: lin7.pdf: page 9: shared object 170: in computed list but not hint table
  19 +WARNING: lin7.pdf: page 9: shared object 172: in computed list but not hint table
  20 +WARNING: lin7.pdf: page 10: shared object 170: in computed list but not hint table
  21 +WARNING: lin7.pdf: page 10: shared object 172: in computed list but not hint table
  22 +WARNING: lin7.pdf: page 11: shared object 170: in computed list but not hint table
  23 +WARNING: lin7.pdf: page 11: shared object 172: in computed list but not hint table
  24 +WARNING: lin7.pdf: page 12: shared object 170: in computed list but not hint table
  25 +WARNING: lin7.pdf: page 12: shared object 172: in computed list but not hint table
  26 +WARNING: lin7.pdf: page 13: shared object 170: in computed list but not hint table
  27 +WARNING: lin7.pdf: page 13: shared object 172: in computed list but not hint table
  28 +WARNING: lin7.pdf: page 14: shared object 170: in computed list but not hint table
  29 +WARNING: lin7.pdf: page 14: shared object 172: in computed list but not hint table
  30 +WARNING: lin7.pdf: page 15: shared object 170: in computed list but not hint table
  31 +WARNING: lin7.pdf: page 15: shared object 172: in computed list but not hint table
  32 +WARNING: lin7.pdf: page 16: shared object 170: in computed list but not hint table
  33 +WARNING: lin7.pdf: page 16: shared object 172: in computed list but not hint table
  34 +WARNING: lin7.pdf: page 17: shared object 170: in computed list but not hint table
  35 +WARNING: lin7.pdf: page 17: shared object 172: in computed list but not hint table
  36 +WARNING: lin7.pdf: page 18: shared object 170: in computed list but not hint table
  37 +WARNING: lin7.pdf: page 18: shared object 172: in computed list but not hint table
  38 +WARNING: lin7.pdf: page 19: shared object 170: in computed list but not hint table
  39 +WARNING: lin7.pdf: page 19: shared object 172: in computed list but not hint table
  40 +WARNING: lin7.pdf: page 20: shared object 170: in computed list but not hint table
  41 +WARNING: lin7.pdf: page 20: shared object 172: in computed list but not hint table
  42 +WARNING: lin7.pdf: page 21: shared object 170: in computed list but not hint table
  43 +WARNING: lin7.pdf: page 21: shared object 172: in computed list but not hint table
  44 +WARNING: lin7.pdf: page 22: shared object 170: in computed list but not hint table
  45 +WARNING: lin7.pdf: page 22: shared object 172: in computed list but not hint table
  46 +WARNING: lin7.pdf: page 23: shared object 170: in computed list but not hint table
  47 +WARNING: lin7.pdf: page 23: shared object 172: in computed list but not hint table
  48 +WARNING: lin7.pdf: page 24: shared object 170: in computed list but not hint table
  49 +WARNING: lin7.pdf: page 24: shared object 172: in computed list but not hint table
  50 +WARNING: lin7.pdf: page 25: shared object 170: in computed list but not hint table
  51 +WARNING: lin7.pdf: page 25: shared object 172: in computed list but not hint table
  52 +WARNING: lin7.pdf: page 26: shared object 170: in computed list but not hint table
  53 +WARNING: lin7.pdf: page 26: shared object 172: in computed list but not hint table
  54 +WARNING: lin7.pdf: page 27: shared object 170: in computed list but not hint table
  55 +WARNING: lin7.pdf: page 27: shared object 172: in computed list but not hint table
  56 +WARNING: lin7.pdf: page 28: shared object 170: in computed list but not hint table
  57 +WARNING: lin7.pdf: page 28: shared object 172: in computed list but not hint table
  58 +WARNING: lin7.pdf: page 29: shared object 170: in computed list but not hint table
  59 +WARNING: lin7.pdf: page 29: shared object 172: in computed list but not hint table
60 60 lin7.pdf: linearization data:
61 61  
62 62 file_size: 27408
... ... @@ -290,3 +290,4 @@ first_object: 88
290 290 first_object_offset: 12129
291 291 nobjects: 12
292 292 group_length: 2030
  293 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin8.out
1   -WARNING: end of first page section (/E) mismatch: /E = 2656; computed = 1768..1770
2   -WARNING: object count mismatch for page 0: hint table = 7; computed = 4
3   -WARNING: page 0 has shared identifier entries
4   -WARNING: page 0: shared object 105: in hint table but not computed list
5   -WARNING: object count mismatch for page 1: hint table = 3; computed = 2
6   -WARNING: page 1: shared object 110: in hint table but not computed list
7   -WARNING: page 1: shared object 111: in hint table but not computed list
8   -WARNING: object count mismatch for page 2: hint table = 3; computed = 2
9   -WARNING: page 2: shared object 110: in hint table but not computed list
10   -WARNING: page 2: shared object 111: in hint table but not computed list
11   -WARNING: object count mismatch for page 3: hint table = 3; computed = 2
12   -WARNING: page 3: shared object 110: in hint table but not computed list
13   -WARNING: page 3: shared object 111: in hint table but not computed list
14   -WARNING: object count mismatch for page 4: hint table = 3; computed = 2
15   -WARNING: page 4: shared object 110: in hint table but not computed list
16   -WARNING: page 4: shared object 111: in hint table but not computed list
17   -WARNING: object count mismatch for page 5: hint table = 3; computed = 2
18   -WARNING: page 5: shared object 110: in hint table but not computed list
19   -WARNING: page 5: shared object 111: in hint table but not computed list
20   -WARNING: object count mismatch for page 6: hint table = 3; computed = 2
21   -WARNING: page 6: shared object 110: in hint table but not computed list
22   -WARNING: page 6: shared object 111: in hint table but not computed list
23   -WARNING: object count mismatch for page 7: hint table = 3; computed = 2
24   -WARNING: page 7: shared object 110: in hint table but not computed list
25   -WARNING: page 7: shared object 111: in hint table but not computed list
26   -WARNING: object count mismatch for page 8: hint table = 3; computed = 2
27   -WARNING: page 8: shared object 110: in hint table but not computed list
28   -WARNING: page 8: shared object 111: in hint table but not computed list
29   -WARNING: object count mismatch for page 9: hint table = 3; computed = 2
30   -WARNING: page 9: shared object 110: in hint table but not computed list
31   -WARNING: page 9: shared object 111: in hint table but not computed list
32   -WARNING: object count mismatch for page 10: hint table = 3; computed = 2
33   -WARNING: page 10: shared object 110: in hint table but not computed list
34   -WARNING: page 10: shared object 111: in hint table but not computed list
35   -WARNING: object count mismatch for page 11: hint table = 3; computed = 2
36   -WARNING: page 11: shared object 110: in hint table but not computed list
37   -WARNING: page 11: shared object 111: in hint table but not computed list
38   -WARNING: object count mismatch for page 12: hint table = 3; computed = 2
39   -WARNING: page 12: shared object 110: in hint table but not computed list
40   -WARNING: page 12: shared object 111: in hint table but not computed list
41   -WARNING: object count mismatch for page 13: hint table = 3; computed = 2
42   -WARNING: page 13: shared object 110: in hint table but not computed list
43   -WARNING: page 13: shared object 111: in hint table but not computed list
44   -WARNING: object count mismatch for page 14: hint table = 3; computed = 2
45   -WARNING: page 14: shared object 110: in hint table but not computed list
46   -WARNING: page 14: shared object 111: in hint table but not computed list
47   -WARNING: object count mismatch for page 15: hint table = 3; computed = 2
48   -WARNING: page 15: shared object 110: in hint table but not computed list
49   -WARNING: page 15: shared object 111: in hint table but not computed list
50   -WARNING: object count mismatch for page 16: hint table = 3; computed = 2
51   -WARNING: page 16: shared object 110: in hint table but not computed list
52   -WARNING: page 16: shared object 111: in hint table but not computed list
53   -WARNING: object count mismatch for page 17: hint table = 3; computed = 2
54   -WARNING: page 17: shared object 110: in hint table but not computed list
55   -WARNING: page 17: shared object 111: in hint table but not computed list
56   -WARNING: object count mismatch for page 18: hint table = 3; computed = 2
57   -WARNING: page 18: shared object 110: in hint table but not computed list
58   -WARNING: page 18: shared object 111: in hint table but not computed list
59   -WARNING: object count mismatch for page 19: hint table = 3; computed = 2
60   -WARNING: page 19: shared object 110: in hint table but not computed list
61   -WARNING: page 19: shared object 111: in hint table but not computed list
62   -WARNING: object count mismatch for page 20: hint table = 3; computed = 2
63   -WARNING: page 20: shared object 110: in hint table but not computed list
64   -WARNING: page 20: shared object 111: in hint table but not computed list
65   -WARNING: object count mismatch for page 21: hint table = 3; computed = 2
66   -WARNING: page 21: shared object 110: in hint table but not computed list
67   -WARNING: page 21: shared object 111: in hint table but not computed list
68   -WARNING: object count mismatch for page 22: hint table = 3; computed = 2
69   -WARNING: page 22: shared object 110: in hint table but not computed list
70   -WARNING: page 22: shared object 111: in hint table but not computed list
71   -WARNING: object count mismatch for page 23: hint table = 3; computed = 2
72   -WARNING: page 23: shared object 110: in hint table but not computed list
73   -WARNING: page 23: shared object 111: in hint table but not computed list
74   -WARNING: object count mismatch for page 24: hint table = 3; computed = 2
75   -WARNING: page 24: shared object 110: in hint table but not computed list
76   -WARNING: page 24: shared object 111: in hint table but not computed list
77   -WARNING: object count mismatch for page 25: hint table = 3; computed = 2
78   -WARNING: page 25: shared object 110: in hint table but not computed list
79   -WARNING: page 25: shared object 111: in hint table but not computed list
80   -WARNING: object count mismatch for page 26: hint table = 3; computed = 2
81   -WARNING: page 26: shared object 110: in hint table but not computed list
82   -WARNING: page 26: shared object 111: in hint table but not computed list
83   -WARNING: object count mismatch for page 27: hint table = 3; computed = 2
84   -WARNING: page 27: shared object 110: in hint table but not computed list
85   -WARNING: page 27: shared object 111: in hint table but not computed list
86   -WARNING: object count mismatch for page 28: hint table = 3; computed = 2
87   -WARNING: page 28: shared object 110: in hint table but not computed list
88   -WARNING: page 28: shared object 111: in hint table but not computed list
89   -WARNING: object count mismatch for page 29: hint table = 3; computed = 2
90   -WARNING: page 29: shared object 110: in hint table but not computed list
91   -WARNING: page 29: shared object 111: in hint table but not computed list
  1 +WARNING: lin8.pdf: end of first page section (/E) mismatch: /E = 2656; computed = 1768..1770
  2 +WARNING: lin8.pdf: object count mismatch for page 0: hint table = 7; computed = 4
  3 +WARNING: lin8.pdf: page 0 has shared identifier entries
  4 +WARNING: lin8.pdf: page 0: shared object 105: in hint table but not computed list
  5 +WARNING: lin8.pdf: object count mismatch for page 1: hint table = 3; computed = 2
  6 +WARNING: lin8.pdf: page 1: shared object 110: in hint table but not computed list
  7 +WARNING: lin8.pdf: page 1: shared object 111: in hint table but not computed list
  8 +WARNING: lin8.pdf: object count mismatch for page 2: hint table = 3; computed = 2
  9 +WARNING: lin8.pdf: page 2: shared object 110: in hint table but not computed list
  10 +WARNING: lin8.pdf: page 2: shared object 111: in hint table but not computed list
  11 +WARNING: lin8.pdf: object count mismatch for page 3: hint table = 3; computed = 2
  12 +WARNING: lin8.pdf: page 3: shared object 110: in hint table but not computed list
  13 +WARNING: lin8.pdf: page 3: shared object 111: in hint table but not computed list
  14 +WARNING: lin8.pdf: object count mismatch for page 4: hint table = 3; computed = 2
  15 +WARNING: lin8.pdf: page 4: shared object 110: in hint table but not computed list
  16 +WARNING: lin8.pdf: page 4: shared object 111: in hint table but not computed list
  17 +WARNING: lin8.pdf: object count mismatch for page 5: hint table = 3; computed = 2
  18 +WARNING: lin8.pdf: page 5: shared object 110: in hint table but not computed list
  19 +WARNING: lin8.pdf: page 5: shared object 111: in hint table but not computed list
  20 +WARNING: lin8.pdf: object count mismatch for page 6: hint table = 3; computed = 2
  21 +WARNING: lin8.pdf: page 6: shared object 110: in hint table but not computed list
  22 +WARNING: lin8.pdf: page 6: shared object 111: in hint table but not computed list
  23 +WARNING: lin8.pdf: object count mismatch for page 7: hint table = 3; computed = 2
  24 +WARNING: lin8.pdf: page 7: shared object 110: in hint table but not computed list
  25 +WARNING: lin8.pdf: page 7: shared object 111: in hint table but not computed list
  26 +WARNING: lin8.pdf: object count mismatch for page 8: hint table = 3; computed = 2
  27 +WARNING: lin8.pdf: page 8: shared object 110: in hint table but not computed list
  28 +WARNING: lin8.pdf: page 8: shared object 111: in hint table but not computed list
  29 +WARNING: lin8.pdf: object count mismatch for page 9: hint table = 3; computed = 2
  30 +WARNING: lin8.pdf: page 9: shared object 110: in hint table but not computed list
  31 +WARNING: lin8.pdf: page 9: shared object 111: in hint table but not computed list
  32 +WARNING: lin8.pdf: object count mismatch for page 10: hint table = 3; computed = 2
  33 +WARNING: lin8.pdf: page 10: shared object 110: in hint table but not computed list
  34 +WARNING: lin8.pdf: page 10: shared object 111: in hint table but not computed list
  35 +WARNING: lin8.pdf: object count mismatch for page 11: hint table = 3; computed = 2
  36 +WARNING: lin8.pdf: page 11: shared object 110: in hint table but not computed list
  37 +WARNING: lin8.pdf: page 11: shared object 111: in hint table but not computed list
  38 +WARNING: lin8.pdf: object count mismatch for page 12: hint table = 3; computed = 2
  39 +WARNING: lin8.pdf: page 12: shared object 110: in hint table but not computed list
  40 +WARNING: lin8.pdf: page 12: shared object 111: in hint table but not computed list
  41 +WARNING: lin8.pdf: object count mismatch for page 13: hint table = 3; computed = 2
  42 +WARNING: lin8.pdf: page 13: shared object 110: in hint table but not computed list
  43 +WARNING: lin8.pdf: page 13: shared object 111: in hint table but not computed list
  44 +WARNING: lin8.pdf: object count mismatch for page 14: hint table = 3; computed = 2
  45 +WARNING: lin8.pdf: page 14: shared object 110: in hint table but not computed list
  46 +WARNING: lin8.pdf: page 14: shared object 111: in hint table but not computed list
  47 +WARNING: lin8.pdf: object count mismatch for page 15: hint table = 3; computed = 2
  48 +WARNING: lin8.pdf: page 15: shared object 110: in hint table but not computed list
  49 +WARNING: lin8.pdf: page 15: shared object 111: in hint table but not computed list
  50 +WARNING: lin8.pdf: object count mismatch for page 16: hint table = 3; computed = 2
  51 +WARNING: lin8.pdf: page 16: shared object 110: in hint table but not computed list
  52 +WARNING: lin8.pdf: page 16: shared object 111: in hint table but not computed list
  53 +WARNING: lin8.pdf: object count mismatch for page 17: hint table = 3; computed = 2
  54 +WARNING: lin8.pdf: page 17: shared object 110: in hint table but not computed list
  55 +WARNING: lin8.pdf: page 17: shared object 111: in hint table but not computed list
  56 +WARNING: lin8.pdf: object count mismatch for page 18: hint table = 3; computed = 2
  57 +WARNING: lin8.pdf: page 18: shared object 110: in hint table but not computed list
  58 +WARNING: lin8.pdf: page 18: shared object 111: in hint table but not computed list
  59 +WARNING: lin8.pdf: object count mismatch for page 19: hint table = 3; computed = 2
  60 +WARNING: lin8.pdf: page 19: shared object 110: in hint table but not computed list
  61 +WARNING: lin8.pdf: page 19: shared object 111: in hint table but not computed list
  62 +WARNING: lin8.pdf: object count mismatch for page 20: hint table = 3; computed = 2
  63 +WARNING: lin8.pdf: page 20: shared object 110: in hint table but not computed list
  64 +WARNING: lin8.pdf: page 20: shared object 111: in hint table but not computed list
  65 +WARNING: lin8.pdf: object count mismatch for page 21: hint table = 3; computed = 2
  66 +WARNING: lin8.pdf: page 21: shared object 110: in hint table but not computed list
  67 +WARNING: lin8.pdf: page 21: shared object 111: in hint table but not computed list
  68 +WARNING: lin8.pdf: object count mismatch for page 22: hint table = 3; computed = 2
  69 +WARNING: lin8.pdf: page 22: shared object 110: in hint table but not computed list
  70 +WARNING: lin8.pdf: page 22: shared object 111: in hint table but not computed list
  71 +WARNING: lin8.pdf: object count mismatch for page 23: hint table = 3; computed = 2
  72 +WARNING: lin8.pdf: page 23: shared object 110: in hint table but not computed list
  73 +WARNING: lin8.pdf: page 23: shared object 111: in hint table but not computed list
  74 +WARNING: lin8.pdf: object count mismatch for page 24: hint table = 3; computed = 2
  75 +WARNING: lin8.pdf: page 24: shared object 110: in hint table but not computed list
  76 +WARNING: lin8.pdf: page 24: shared object 111: in hint table but not computed list
  77 +WARNING: lin8.pdf: object count mismatch for page 25: hint table = 3; computed = 2
  78 +WARNING: lin8.pdf: page 25: shared object 110: in hint table but not computed list
  79 +WARNING: lin8.pdf: page 25: shared object 111: in hint table but not computed list
  80 +WARNING: lin8.pdf: object count mismatch for page 26: hint table = 3; computed = 2
  81 +WARNING: lin8.pdf: page 26: shared object 110: in hint table but not computed list
  82 +WARNING: lin8.pdf: page 26: shared object 111: in hint table but not computed list
  83 +WARNING: lin8.pdf: object count mismatch for page 27: hint table = 3; computed = 2
  84 +WARNING: lin8.pdf: page 27: shared object 110: in hint table but not computed list
  85 +WARNING: lin8.pdf: page 27: shared object 111: in hint table but not computed list
  86 +WARNING: lin8.pdf: object count mismatch for page 28: hint table = 3; computed = 2
  87 +WARNING: lin8.pdf: page 28: shared object 110: in hint table but not computed list
  88 +WARNING: lin8.pdf: page 28: shared object 111: in hint table but not computed list
  89 +WARNING: lin8.pdf: object count mismatch for page 29: hint table = 3; computed = 2
  90 +WARNING: lin8.pdf: page 29: shared object 110: in hint table but not computed list
  91 +WARNING: lin8.pdf: page 29: shared object 111: in hint table but not computed list
92 92 lin8.pdf: linearization data:
93 93  
94 94 file_size: 24875
... ... @@ -566,3 +566,4 @@ first_object: 89
566 566 first_object_offset: 20067
567 567 nobjects: 12
568 568 group_length: 2069
  569 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/lin9.out
1   -WARNING: page 0 has shared identifier entries
2   -WARNING: page 0: shared object 19: in hint table but not computed list
  1 +WARNING: lin9.pdf: page 0 has shared identifier entries
  2 +WARNING: lin9.pdf: page 0: shared object 19: in hint table but not computed list
3 3 lin9.pdf: linearization data:
4 4  
5 5 file_size: 3316
... ... @@ -102,3 +102,4 @@ Shared Object 5:
102 102 group length: 67
103 103 Shared Object 6:
104 104 group length: 117
  105 +qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/linearization-bounds-1.out
... ... @@ -5,5 +5,5 @@ File is linearized
5 5 WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 12302): expected endstream
6 6 WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length
7 7 WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
8   -WARNING: error encountered while checking linearization data: linearization-bounds-1.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds
  8 +WARNING: linearization-bounds-1.pdf: error encountered while checking linearization data: linearization-bounds-1.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds
9 9 qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/linearization-bounds-2.out
... ... @@ -5,5 +5,5 @@ File is linearized
5 5 WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream
6 6 WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length
7 7 WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
8   -WARNING: error encountered while checking linearization data: linearization-bounds-2.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds
  8 +WARNING: linearization-bounds-2.pdf: error encountered while checking linearization data: linearization-bounds-2.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds
9 9 qpdf: operation succeeded with warnings
... ...
qpdf/qtest/qpdf/linearization-large-vector-alloc.out
... ... @@ -5,5 +5,5 @@ File is linearized
5 5 WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream
6 6 WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length
7 7 WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
8   -WARNING: error encountered while checking linearization data: overflow reading bit stream: wanted = 12556; available = 968
  8 +WARNING: linearization-large-vector-alloc.pdf: error encountered while checking linearization data: overflow reading bit stream: wanted = 12556; available = 968
9 9 qpdf: operation succeeded with warnings
... ...