FS#53892 - [simple-scan] Damaged PDFs Saved

Attached to Project: Community Packages
Opened by Stefano Coronado (stefnix) - Monday, 01 May 2017, 00:05 GMT
Last edited by Jan Alexander Steffens (heftig) - Tuesday, 02 May 2017, 19:41 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 6
Private No

Details

Description:
PDFs are not correctly being saved after scanning and cropping.

Additional info:
* simple-scan 3.24.1-1 x86_64 from the Arch community repo. Using GNOME 3.24.1



Steps to reproduce:
1. Open Simple Scan
2. Scan document, I cropped mine as close to a printer page as possible.
3. Save as pdf
4. Open pdf document with your favorite PDF viewer (Evince). Find that it is not opening.
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Tuesday, 02 May 2017, 19:41 GMT
Reason for closing:  Fixed
Additional comments about closing:  3.24.1-2
Comment by Jake Dane (jakedane) - Monday, 01 May 2017, 08:49 GMT
Same issue for me. I reinstalled simple-scan. Also tried it on a fresh user account without avail.

Simple Scan immediately closes after saving a scan as pdf. On the terminal it shows that is because of a segmentation fault while saving. The journal has this message from simple-scan:
segfault at bcec60 ip 0000000000bcec60 sp 00007fffe6818768 error 15

Simple Scan does create a pdf file but indeed it can't be opened with anything. The journal has this message from tracker-extract:
Couldn't create PopplerDocument from uri:'file:///home/user/Scanned%20Document.pdf', PDF document is damaged
Comment by Jake Dane (jakedane) - Monday, 01 May 2017, 09:35 GMT Comment by Jake Dane (jakedane) - Monday, 01 May 2017, 12:41 GMT
I didn't have 3.22 saved in /var/cache/pacman/pkg but rebuilt it. It required three changes in the code to build. With 3.22 I now have the same issue as 3.24. I suspect the issue is the vala compiler changes?
Comment by webdawg (webdawg) - Monday, 01 May 2017, 14:48 GMT
Same issue, same system. Archlinux Rolling Release, updated just an hour ago. Saves jpg's just fine:



gdb simple-scan
GNU gdb (GDB) 7.12.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 simple-scan...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/simple-scan
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe9f1a700 (LWP 7273)]
[New Thread 0x7fffe9719700 (LWP 7274)]
[New Thread 0x7fffe8cfc700 (LWP 7275)]
[New Thread 0x7fffdbfff700 (LWP 7276)]
[New Thread 0x7fffdb7fe700 (LWP 7277)]
[New Thread 0x7fffdaffd700 (LWP 7278)]
[New Thread 0x7fffc7161700 (LWP 7279)]
[New Thread 0x7fffbe269700 (LWP 7280)]
[Thread 0x7fffbe269700 (LWP 7280) exited]
[New Thread 0x7fffbe269700 (LWP 7284)]
[New Thread 0x7fffbda68700 (LWP 7285)]
[New Thread 0x7fffbd267700 (LWP 7287)]
[New Thread 0x7fffbca66700 (LWP 7288)]
[New Thread 0x7fffaffff700 (LWP 7289)]
[Thread 0x7fffbd267700 (LWP 7287) exited]
[Thread 0x7fffaffff700 (LWP 7289) exited]
[Thread 0x7fffbda68700 (LWP 7285) exited]
[Thread 0x7fffbe269700 (LWP 7284) exited]

Thread 1 "simple-scan" received signal SIGSEGV, Segmentation fault.

bt:

(gdb) bt
#0 0x0000000000784b00 in ()
#1 0x00007ffff6c2d216 in deflateInit2_ () at /usr/lib/libz.so.1
#2 0x00007ffff6c2d45e in deflateInit_ () at /usr/lib/libz.so.1
#3 0x0000000000412048 in book_save ()
#4 0x000000000042df51 in ()
#5 0x00007ffff6280f75 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#6 0x00007ffff6292f82 in () at /usr/lib/libgobject-2.0.so.0
#7 0x00007ffff629bbdc in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#8 0x00007ffff629c46b in g_signal_emit_by_name () at /usr/lib/libgobject-2.0.so.0
#9 0x00007ffff62811a4 in () at /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff629b8cd in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff629bfbf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#12 0x00007ffff75f5d6d in () at /usr/lib/libgtk-3.so.0
#13 0x00007ffff75f5dd5 in () at /usr/lib/libgtk-3.so.0
#14 0x00007ffff6280f75 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff629295c in () at /usr/lib/libgobject-2.0.so.0
#16 0x00007ffff629bbdc in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#17 0x00007ffff629bfbf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#18 0x00007ffff75f41d0 in () at /usr/lib/libgtk-3.so.0
#19 0x00007fffeff4d1c8 in ffi_call_unix64 () at /usr/lib/libffi.so.6
#20 0x00007fffeff4cc2a in ffi_call () at /usr/lib/libffi.so.6
#21 0x00007ffff6281c8a in g_cclosure_marshal_generic_va () at /usr/lib/libgobject-2.0.so.0
#22 0x00007ffff62811a4 in () at /usr/lib/libgobject-2.0.so.0
#23 0x00007ffff629b8cd in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#24 0x00007ffff629bfbf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#25 0x00007ffff76afbd1 in () at /usr/lib/libgtk-3.so.0
#26 0x00007ffff6283d27 in g_cclosure_marshal_VOID__BOXEDv () at /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff62811a4 in () at /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff629b8cd in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff629bfbf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#30 0x00007ffff76ace9e in () at /usr/lib/libgtk-3.so.0
#31 0x00007ffff76ae4cb in () at /usr/lib/libgtk-3.so.0
#32 0x00007ffff76b114d in () at /usr/lib/libgtk-3.so.0
#33 0x00007ffff767e57e in gtk_event_controller_handle_event () at /usr/lib/libgtk-3.so.0
#34 0x00007ffff784339b in () at /usr/lib/libgtk-3.so.0
#35 0x00007ffff76f8bf1 in () at /usr/lib/libgtk-3.so.0
#36 0x00007ffff62811a4 in () at /usr/lib/libgobject-2.0.so.0
#37 0x00007ffff629b3a1 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#38 0x00007ffff629bfbf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#39 0x00007ffff784563c in () at /usr/lib/libgtk-3.so.0
---Type <return> to continue, or q <return> to quit---#0 0x0000000000784b00 in ()
#40 0x00007ffff76f5bce in () at /usr/lib/libgtk-3.so.0
#41 0x00007ffff76f7c3e in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#42 0x00007ffff7209d65 in () at /usr/lib/libgdk-3.so.0
#43 0x00007ffff723adf2 in () at /usr/lib/libgdk-3.so.0
#44 0x00007ffff5fa77b7 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#45 0x00007ffff5fa7a20 in () at /usr/lib/libglib-2.0.so.0
#46 0x00007ffff5fa7acc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#47 0x00007ffff6ede00d in g_application_run () at /usr/lib/libgio-2.0.so.0
#48 0x000000000041ef18 in simple_scan_main ()
#49 0x00007ffff5258511 in __libc_start_main () at /usr/lib/libc.so.6
#50 0x000000000040effa in _start ()

simple-scan -d:


[+60.19s] DEBUG: ui.vala:635: Saving to 'file:///home/webdawg/Desktop/Scanned%20Document.pdf'
Segmentation fault (core dumped)


Comment by Felix Na (felixna) - Monday, 01 May 2017, 18:45 GMT
Same for me here (it worked until some days ago). Deleting $HOME/.cache/simple-scan doesn't help.

Downgrading to 3.22 seems to help:

# pacman -U /var/cache/pacman/pkg/simple-scan-3.22.0.1-2-x86_64.pkg.tar.xz
Comment by Stefano Coronado (stefnix) - Monday, 01 May 2017, 18:48 GMT
@felixna I should have made this clear in the parent comment of the bug report. Downgrading to 3.22 allows me to save pdfs again.
Comment by Jake Dane (jakedane) - Tuesday, 02 May 2017, 06:30 GMT
I didn't have 3.22 saved in /var/cache/pacman/pkg and as I wrote you couldn't rebuild it due to vala errors. With Felix' confirmation that 3.22 works I managed to downgrade to 3.22 by first downgrading vala to 0.34. In case useful to anybody else I note what I did below.

Download the 0.34 PKGBUILD for vala (save as file PKGBUILD), build it with makepkg and install the created package with pacman -U:
https://git.archlinux.org/svntogit/packages.git/plain/trunk/PKGBUILD?h=packages/vala&id=6b7e6d07a81a42c86da6712638d748b1fac54ebd

Afterwards do the same thing for 3.22 PKGBUILD for simple-scan:
https://git.archlinux.org/svntogit/community.git/plain/trunk/PKGBUILD?h=packages/simple-scan&id=19f71ac740e4039c54f5b9655a783e53f5b57d6b

You can then upgrade vala again with pacman -S vala. To avoid pacman upgrading simple-scan for now, add simple-scan to IgnorePkg in /etc/pacman.conf.
Comment by Jan Alexander Steffens (heftig) - Tuesday, 02 May 2017, 07:19 GMT
Please rebuild simple-scan with debug symbols `options=(debug !strip)` in order to get better traces.
Comment by Jake Dane (jakedane) - Tuesday, 02 May 2017, 08:38 GMT
Trace of simple-scan 3.24.1-1 built with debug symbols attached. Segmentation fault happens in thread #1.
   trace.log (32.3 KiB)
Comment by Jan Alexander Steffens (heftig) - Tuesday, 02 May 2017, 10:45 GMT
This seems to be an issue with vala 0.36; the z_stream passed into deflateInit is not initialized.
Comment by Jan Alexander Steffens (heftig) - Tuesday, 02 May 2017, 10:59 GMT Comment by Jake Dane (jakedane) - Tuesday, 02 May 2017, 11:06 GMT
Thanks, that seems to be the root cause indeed. I've retested by installing vala 0.34 and building simple-scan 3.24.1-1 with that. With that I can save scans to pdf just fine.
Comment by Jake Dane (jakedane) - Tuesday, 02 May 2017, 16:01 GMT
I confirm that building vala 0.36.2-1 with the patch from https://bugzilla.gnome.org/show_bug.cgi?id=782056#c1 works. Rebuilding simple-scan 3.24.1-1 afterwards solved the problem.
Comment by Victor Engmark (l0b0) - Tuesday, 02 May 2017, 18:29 GMT
simple-scan 3.24.1-1-x86_64 started segfaulting on saving PDFs within the last few days, but I don't have vala installed. Is this therefore definitely a different issue? A quick `sudo pacman -U /var/cache/pacman/pkg/simple-scan-3.22.0.1-2-x86_64.pkg.tar.xz` fixed the segfault.
Comment by Jan Alexander Steffens (heftig) - Tuesday, 02 May 2017, 18:30 GMT
3.24.1-2 should have this fixed.
Comment by ianc (ianc) - Tuesday, 02 May 2017, 19:06 GMT
Yes. 3.24.1-2 fixes it for me.
Thanks.

Loading...