Boomaga / boomaga

Boomaga provides a virtual printer for CUPS. This can be used for print preview or for print booklets.
Other
182 stars 34 forks source link

[poppler] Boomaga doesn't display document, lot of errors #62

Closed alium closed 6 years ago

alium commented 6 years ago

I use boomaga 0.9.1 with https://github.com/Boomaga/boomaga/commit/5ae3c05f241cada5ab90200661951727b7e13e34 patch. Thus error occured since update to poppler 0.59, i use now poppler-0.60.1,

If i open document, the windows display white page. In termminal show me this errors: [alois@notebook boomaga-qt5]$ boomaga kf5.kio.core: KSambaShare: Could not find smb.conf! poppler/error (3309): Bad 'Length' attribute in streampoppler/error (4849): Missing 'endstream' or incorrect stream lengthpoppler/error (3309): Bad 'Filter' attribute in streampoppler/poppler/error (3309): Bad 'Length' attribute in streampoppler/error (4849): Missing 'endstream' or incorrect stream lengtherror (3309): Bad 'Length' attribute in streampoppler/error (4849): Missing 'endstream' or incorrect stream lengthpoppler/error (3309): Bad 'Filter' attribute in streampoppler/error (3309): ... character <6d> in hex stringpoppler/error (3661): Illegal character <5b> in hex stringpoppler/error (3662): Illegal character in hex stringpoppler/error (3663): Illegal character in hex stringpoppler/error (3664): Illegal character <23> in hex stringpoppler/error (3665): Illegal character in hex stringpoppler/error (3666): Illegal character in hex stringpoppler/error (3667): Illegal character <51> in hex stringpoppler/error (3669): Illegal character <7c> in hex stringpoppler/error (3670): Illegal character <92> in hex stringpoppler/error (3672): Illegal character <07> in hex stringpoppler/error (3749): Illegal character '}'poppler/error (3916): Illegal character '{'poppler/error (3935): Illegal character '>'poppler/error (3955): Illegal character '}'poppler/error: Unterminated stringpoppler/error: End of file inside arraypoppler/error: End of file inside arraypoppler/error: Leftover args in content stream

alium commented 6 years ago

test file: http://che.org.il/wp-content/uploads/2016/12/pdf-sample.pdf

SokoloffA commented 6 years ago

This is poppler issue https://github.com/Boomaga/boomaga/issues/56#issuecomment-333200746, https://github.com/Boomaga/boomaga/issues/52

I wrote my own PDF parser instead of popplers. Now it in devel branch drop_poppler branch.

alium commented 6 years ago

Good to hear! So, you can close this bug , if you want. If you need I can help with the testing.

SokoloffA commented 6 years ago

Yes, testing would be very useful. I merged all changes to the master branch. If you have skills you can clone master branch and to build the project from sources:

git clone https://github.com/Boomaga/boomaga.git 
cd boomaga 
mkdir build 
cd build 
cmake 
make 
make install

If you haven't such skill, say me what distro you are use I try to build program for you.

alium commented 6 years ago

I can build master branch withouts problems, good. +1 But after open document show me nothing. Errors: [alois@notebook ~]$ boomaga boomagamerger: /tmp/makepkg/boomaga-qt5/src/boomaga-master/gui/pdfparser/pdfvalue.cpp:360: const QVector PDF::Array::values() const: Předpoklad „mType == Type::Array“ nesplněn (unmet). poppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref tablepoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't find trailer dictionarypoppler/error: Couldn't read xref table[alois@notebook ~]$

SokoloffA commented 6 years ago

Please send me your input file.

alium commented 6 years ago

see above (test file: http://che.org.il/wp-content/uploads/2016/12/pdf-sample.pdf)

SokoloffA commented 6 years ago

Weird, your file has been successfully open for me. Let's check:

sha256sum pdf-sample.pdf 
60bdd13ea4827b8de375c79dc3ff847f83b55bd73b6461523fdf8f843b5a0d5b  pdf-sample.pdf

git branch
* master

git log -n 1
commit 39ac9aad85523315b390b7ab1f49072bff843edc
Author: sokoloff (Alexander) <sokoloff.a@gmail.com>
Date:   Thu Nov 16 20:41:21 2017 +0300
    Translations

Try to run boomagamerger

gui/boomagamerger pdf-sample.pdf 0 0 out.pdf
A:1
S:1
P:0:0:12:0,0,595,842:0,0,595,842:0
X:4861:30:
alium commented 6 years ago

see boomaga.log

Error with boomagamerger: [alois@notebook gui]$ ./boomagamerger /home/alois/pdf-sample.pdf 0 0 out.pdf A:1 S:1 boomagamerger: /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfparser/pdfvalue.cpp:360: const QVector PDF::Array::values() const: Assertion `mType == Type::Array' failed. Neúspěšně ukončen (SIGABRT)

something in my system is wrong? Artix (Archlinux+OpenRC), up to date, ghostscript 9.22-1,qt5-tools 5.9.2-1, (poppler 0.61.1-1), gcc7.2.0

SokoloffA commented 6 years ago

Unfortunately I can't reproduce bug on my machine. Here are 2 oddities:

  1. As I can see in log, you build without debug information (just cmake ..), and check on line 360 shouldn't work at all. I made a few changes. Please update the source code git pull.

  2. Why this check fails on your computer. Please help me. Try to build the project and run the merger under gdb (it's better to remove all files in build directory):

    cd build 
    cmake -DCMAKE_BUILD_TYPE=Debug ..
    make
    gdb --args ./gui/boomagamerger  pdf-sample.pdf 0 0 out.pdf

    When prompted, type run. After the error message, enter bt. Close gdb, type q

And send me gdb output.

alium commented 6 years ago

Scanning dependencies of target boomagamerger [ 87%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir/main.cpp.o [ 88%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir/pdfmerger.cpp.o [ 89%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir/pdfprocessor.cpp.o [ 91%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir/pdfmergeripc.cpp.o [ 92%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir//pdfparser/pdfxref.cpp.o [ 93%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir//pdfparser/pdfvalue.cpp.o [ 94%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir//pdfparser/pdfobject.cpp.o [ 96%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir//pdfparser/pdfreader.cpp.o [ 97%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir/__/pdfparser/pdfwriter.cpp.o [ 98%] Building CXX object gui/pdfmerger/CMakeFiles/boomagamerger.dir/boomagamerger_autogen/mocs_compilation.cpp.o [100%] Linking CXX executable ../boomagamerger [100%] Built target boomagamerger [alois@notebook build]$ gdb --args ./gui/boomagamerger /home/alois/Videa/pdf-sample.pdf 0 0 out.pdf GNU gdb (GDB) 8.0.1 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./gui/boomagamerger...done. (gdb) run Starting program: /home/ARCH/PKGBUILD/AUR/boomaga/build/gui/boomagamerger /home/alois/Videa/pdf-sample.pdf 0 0 out.pdf [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". A:1 S:1 boomagamerger: /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfparser/pdfvalue.cpp:360: const QVector PDF::Array::values() const: Předpoklad „mType == Type::Array“ nesplněn.

Program received signal SIGABRT, Aborted. 0x00007ffff56358a0 in raise () from /usr/lib/libc.so.6 (gdb) bt

0 0x00007ffff56358a0 in raise () from /usr/lib/libc.so.6

1 0x00007ffff5636f09 in abort () from /usr/lib/libc.so.6

2 0x00007ffff562e0dc in __assert_fail_base () from /usr/lib/libc.so.6

3 0x00007ffff562e153 in __assert_fail () from /usr/lib/libc.so.6

4 0x000055555557baeb in PDF::Array::values (this=0x7fffffefe000)

at /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfparser/pdfvalue.cpp:360

5 0x00005555555761b7 in PDF::Array::count (this=0x7fffffefe000)

at /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfparser/pdfvalue.h:242

6 0x0000555555573e5a in PdfProcessor::walkPageTree (this=0x5555557bb400, pageNum=1, page=..., inherited=...)

at /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfmerger/pdfprocessor.cpp:155

7 0x0000555555572ec4 in PdfProcessor::run (this=0x5555557bb400, writer=0x7fffffefe370, objNumOffset=3)

at /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfmerger/pdfprocessor.cpp:90

8 0x000055555556ee5c in PdfMerger::run (this=0x7fffffffe4a0, outDevice=0x7fffffffe3f0)

at /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfmerger/pdfmerger.cpp:108

9 0x000055555556eaaa in PdfMerger::run (this=0x7fffffffe4a0, outFileName=...)

at /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfmerger/pdfmerger.cpp:78

10 0x000055555556def7 in main (argc=5, argv=0x7fffffffe5e8)

at /home/ARCH/PKGBUILD/AUR/boomaga/gui/pdfmerger/main.cpp:53

(gdb) q A debugging session is active.

    Inferior 1 [process 8109] will be killed.

Quit anyway? (y or n) y [alois@notebook build]$

alium commented 6 years ago

well, i tested boomaga-master on another computer with Ubuntu 17.10, and i have same problem, same error, Ubuntu 17.10, gcc 7.2.0, poppler 0.57, qt5 5.9.1 Ubuntu log: boomaga_ubuntu_17_10.log

alium commented 6 years ago

boomaga 0.9.1 + poppler 0.47 = works boomaga 0.9.1 + poppler 0.57 = works boomaga 0.9.1 + poppler 0.58 = can't build boomaga 0.9.1 (+commit cde100336b6dcddd1c2aa7a7e1b0fef9760b9c4f as patch) + poppler 0.58 = can build, but not works !!!

boomaga-master + poppler 0.47 = not works !!! - - something is wrong in master branch !? yes boomaga-master + poppler 0.57 = not works boomaga-master + poppler 0.58 = not works


commit cde100336b6dcddd1c2aa7a7e1b0fef9760b9c4f broke the program!!

SokoloffA commented 6 years ago

I installed Arch in Virtualbox. And I was able to replicate the error.

alium commented 6 years ago

fixed! Thanks!!