Bug 106302 - Printing page with gif image passes incorrect data to ghostscript
Summary: Printing page with gif image passes incorrect data to ghostscript
Status: RESOLVED UNMAINTAINED
Alias: None
Product: konqueror
Classification: Applications
Component: khtml printing (show other bugs)
Version: 3.5.8
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-25 22:29 UTC by Scott Jubenville
Modified: 2012-06-19 17:40 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Test case (3.63 KB, application/x-karbon)
2007-12-20 19:30 UTC, Michael Kreitzer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Jubenville 2005-05-25 22:29:17 UTC
Version:            (using KDE KDE 3.4.0)
Installed from:    Gentoo Packages
Compiler:          gcc 3.4.3 CFLAGS="-march=k8 -O2 -pipe
OS:                Linux

Software installed:
konqueror-3.4.0 
cups-1.1.23-r2 
ghostscript-7.07.1-r8 
netpbm-10.20
kdeprint-3.4.0

When I print from konqueror, and the page contains a gif format image, or I just load a gif image locally into konqueror, I get the following ghostscript error. (full debug from /var/log/cups/error_log)

===== From /var/log/cups/error.log =====
D [24/May/2005:18:11:36 -0400] [Job 36] Error: /rangecheck in --.image3-- 
D [24/May/2005:18:11:36 -0400] [Job 36] Operand stack: 
D [24/May/2005:18:11:36 -0400] [Job 36] --dict:4/4(L)-- 
D [24/May/2005:18:11:36 -0400] [Job 36] Execution stack: 
D [24/May/2005:18:11:36 -0400] [Job 36] %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1   3   %oparray_pop   1   3   %oparray_pop   1   3   %oparray_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   1   3   %oparray_pop   --nostringval--   --nostringval-- 
D [24/May/2005:18:11:36 -0400] [Job 36] Dictionary stack: 
D [24/May/2005:18:11:36 -0400] [Job 36] --dict:1050/1417(ro)(G)--   --dict:0/20(G)--   --dict:191/200(L)-- 
D [24/May/2005:18:11:36 -0400] [Job 36] Current allocation mode is local 
D [24/May/2005:18:11:36 -0400] [Job 36] Last OS error: 2 
D [24/May/2005:18:11:36 -0400] [Job 36] ESP Ghostscript 7.07.1: Unrecoverable error, exit code 1 
D [24/May/2005:18:11:36 -0400] [Job 36] tail process done writing data to STDOUT 
D [24/May/2005:18:11:36 -0400] [Job 36] KID4 finished 
D [24/May/2005:18:11:36 -0400] [Job 36] KID3 exited with status 0 
D [24/May/2005:18:11:36 -0400] [Job 36] KID4 exited with status 0 
D [24/May/2005:18:11:36 -0400] [Job 36] Renderer exit stat: 0 
D [24/May/2005:18:11:36 -0400] [Job 36] KID3 finished 
D [24/May/2005:18:11:36 -0400] [Job 36] Renderer process finished 
D [24/May/2005:18:11:36 -0400] [Job 36] 
D [24/May/2005:18:11:36 -0400] [Job 36] Closing foomatic-rip.
========================================

I have tried several versions of ghostscript including ESP Ghostscript and the problems persists. 
 
If I manually send the gif image to imagetops and pipe that through the same command I see being called in /var/log/cups/messages, it works.

============ Command run ===============
/usr/kde/3.4/bin/imagetops test.gif | gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=gdi -sOutputFile=- - | perl -p -e 's/PJL PAGE LETTER/PJL PAGE LETTER/; s/PJL PAGE (\S*) AUTO/PJL PAGE $1 AUTO/; s/PJL SET TONERSAVE = OFF/PJL SET TONERSAVE = OFF\r\n\@PJL SET ECONOMODE = OFF/; s/PJL SET PAPERTYPE = NORMAL/PJL SET PAPERTYPE = NORMAL/; s/PJL SET DENSITY = 1/PJL SET DENSITY = 3/; s/(\@PJL ENTER LANGUAGE)/\@PJL SET RET = OFF\r\n$1/; s/(\@PJL ENTER LANGUAGE)/\@PJL SET JAMRECOVERY = ON\r\n$1/; s/(\@PJL ENTER LANGUAGE)/\@PJL SET REPRINT = ON\r\n$1/; s/(\@PJL ENTER LANGUAGE)/\@PJL SET ALTITUDE = OFF\r\n$1/; s/PJL COPIES = 1/PJL COPIES = 1/; s/(\@PJL ENTER LANGUAGE)/\@PJL DEFAULT TIMEOUT = 15\r\n$1/; s/(\@PJL ENTER LANGUAGE)/\@PJL DEFAULT POWERSAVE = ON\r\n$1/; s/(\@PJL ENTER LANGUAGE)/\@PJL DEFAULT POWERSAVETIME = 5\r\n$1/; ' > /dev/usb/lp0 
 giftopnm: Reading Image Sequence 0 
 pnmtops: writing color PostScript...

And if I start kprinter and then select the same file, it works also.
Comment 1 Allan Sandfeld 2005-07-13 19:51:20 UTC
Please provide a stand alone test case and attach it to the bug-report.
Comment 2 Scott Jubenville 2005-07-13 20:06:55 UTC
Allan, I am not sure what you are asking for. Do you want me to attach a gif file that it fails on, or a link to a specific page with gifs that fail?
Comment 3 Scott Jubenville 2005-08-25 18:58:25 UTC
Did a clean system install, but currently using KDE 3.4.2 and problem still exists.
Comment 4 Scott Jubenville 2005-09-12 23:35:13 UTC
I patched ghostscript-gnu-8.16 with the gdi driver I needed for my Samsung printer and it works perfectly.

Appparently the problem is ghostscript-7.x and amd64.
Comment 5 Tommi Tervo 2005-09-13 10:25:10 UTC
So this is ghostscript bug, not konqueror.
Comment 6 Scott Jubenville 2005-09-13 15:26:02 UTC
I had to rethink my assertion about this being a purely ghostscript problem.

I don't think this is a ghostscript bug alone, since the offending images or page containing the images straight to ghostscript manually worked without error. (with ghostscript-7.x)

So it looks like the code being sent from konqueror to ghostscript is the problem.
I don't know why this worked with the ghostscript-gnu, maybe there are changes which improved parsing of the input from konqueror in ghostscript-gnu?


Comment 7 Julian Pietron 2005-10-04 17:23:45 UTC
I can confirm this bug on a Gentoo GNU/Linux AMD64-system. Printing HTML-Pages with disabled checkbox "Images" in Printing-Dialogue works without problems, a "Print-as-File (ps)" does also work, but a conversion using ps2pdf is not possible. (ESP-)Ghostscript works here without any problems affecting other applications, printing from Mozilla, OOo and other apps works. The error output is the same as given above. Konqueror / KDE is 3.4.2, ghostscript 7.07.1.
Comment 8 Damien Gombault 2005-10-15 11:01:49 UTC
*** This bug has been confirmed by popular vote. ***
Comment 9 Jason Harmening 2006-02-04 23:58:02 UTC
The same thing happens on FreeBSD/amd64.  It doesn't happen for *ALL* pages with GIFs, just for more complex ones.  At first I thought it was my printer driver, but printing to a file from konqueror and then running "gs print.ps" resulted in the following:

GNU Ghostscript 7.07 (2003-05-17)
Copyright (C) 2003 artofcode LLC, Benicia, CA.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading NimbusSanL-Bold font from /usr/local/share/ghostscript/fonts/n019004l.pfb... 2597768 1156428 1832408 536883 0 done.
Loading NimbusMonL-Regu font from /usr/local/share/ghostscript/fonts/n022003l.pfb... 2758544 1244079 2377376 734259 0 done.
Loading NimbusSanL-Regu font from /usr/local/share/ghostscript/fonts/n019003l.pfb... 2872576 1358210 2397560 761721 0 done.
Error: /rangecheck in --.image3--
Operand stack:
   --dict:4/4(L)--
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1   3   %oparray_pop   1   3   %oparray_pop   1   3   %oparray_pop   1   3   %oparray_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   1   3   %oparray_pop   --nostringval--   --nostringval--
Dictionary stack:
   --dict:1059/1123(ro)(G)--   --dict:0/20(G)--   --dict:217/302(L)--
Current allocation mode is local
Current file position is 160494
GNU Ghostscript 7.07: Unrecoverable error, exit code 1

The same pages render/print fine from Firefox.  This appears to be amd64-specific, since it never happened when I ran x86 (with the same printer).

OS: FreeBSD 6.1-PRERELEASE
KDE version: 3.5.0
Comment 10 Kurt Pfeifle 2007-01-05 02:48:23 UTC
Reporters, commenters:

please provide a testcase (file attachement or URL to web page) so that I can start narrow the problem down.

I suspect it was/is a Ghostscript problem (which may be even fixed in newer versions.

If I don't find a testcase by Jan 31 2007, I'll close this bug.
Comment 11 Jason Harmening 2007-01-06 04:37:55 UTC
I'm still seeing the problem--Try printing www.cnn.com to a PS file from 
konqueror and then opening that file in gv.

On Thursday 04 January 2007 19:48, you wrote:
[bugs.kde.org quoted mail]
Comment 12 Kurt Pfeifle 2007-01-07 02:16:11 UTC
Jason, what problem am I supposed to see then?

I did so, and see no problem. 

Here be ESP Ghostscript 8.15.0
        KDE 3.5.5
        CUPS 1.1.23
        Qt 3.3.7
        netpbm 10.26.12
on a SUSE 10.0 Linux with Intel CPU.

What's your current setup?
Comment 13 Jason Harmening 2007-01-07 06:01:54 UTC
On Saturday 06 January 2007 19:16, you wrote:

When I last saw the problem, I'd been using the following configuration:

FreeBSD 6.2/amd64 with AMD CPU
KDE 3.5.4
CUPS 1.2.7
QT 3.3.6
netpbm 10.26.36
GNU ghostscript 7.07

I just switched from GNU ghostscript to AFPL ghostscript 8.54, and gs no 
longer segfaults when I feed it the ps file.  But my postscript printer still 
hangs on the page.  The same sites work fine with Firefox.

[bugs.kde.org quoted mail]
Comment 14 Kurt Pfeifle 2007-01-07 17:14:21 UTC
Jason,

*which* page is it that makes your printer hang? And is the hang when you print from Konqueror?
Comment 15 Michael Kreitzer 2007-12-20 19:30:43 UTC
Created attachment 22637 [details]
Test case

Test case
Comment 16 Michael Kreitzer 2007-12-20 19:35:25 UTC
I do not believe this is a khtml specific bug. I have encountered it with both kpdf, kghostview and karbon. There is another bug related assigned to kghostview, 88480, that has been closed. I do believe this is a bug in the kde print system itself.

I attached a test karbon image that triggers this bug for me. I am using ghostscript 8.61, kde 3.5.8, x86 arch, distro is archlinux. I have also encountered this but on the same machine with a gentoo system running kde 3.5.6 (I do not remember the ghostscript version). Here is the cups error log:

D [20/Dec/2007:13:32:40 -0500] [Job 7] **** DSC comment: /Page
D [20/Dec/2007:13:32:40 -0500] [Job 7] << /DSC_struct -dsc_data_struct- /PageNum 1 >>
D [20/Dec/2007:13:32:40 -0500] [Job 7] cupsEncodeLUT[0] = 0
D [20/Dec/2007:13:32:40 -0500] [Job 7] cupsEncodeLUT[65535] = 65535
D [20/Dec/2007:13:32:40 -0500] [Job 7] num_components = 3, depth = 48
D [20/Dec/2007:13:32:40 -0500] [Job 7] cupsColorSpace = 1, cupsColorOrder = 0
D [20/Dec/2007:13:32:40 -0500] [Job 7] cupsBitsPerPixel = 48, cupsBitsPerColor = 16
D [20/Dec/2007:13:32:40 -0500] [Job 7] max_gray = 0, dither_grays = 0
D [20/Dec/2007:13:32:40 -0500] [Job 7] max_color = 65535, dither_colors = 65536
D [20/Dec/2007:13:32:40 -0500] [Job 7] **** DSC comment: /PageBoundingBox
D [20/Dec/2007:13:32:40 -0500] [Job 7] << /DSC_struct -dsc_data_struct- >>
D [20/Dec/2007:13:32:40 -0500] [Job 7] cupsEncodeLUT[0] = 0
D [20/Dec/2007:13:32:40 -0500] [Job 7] cupsEncodeLUT[65535] = 65535
D [20/Dec/2007:13:32:40 -0500] [Job 7] num_components = 3, depth = 48
D [20/Dec/2007:13:32:40 -0500] [Job 7] cupsColorSpace = 1, cupsColorOrder = 0
D [20/Dec/2007:13:32:40 -0500] [Job 7] cupsBitsPerPixel = 48, cupsBitsPerColor = 16
D [20/Dec/2007:13:32:40 -0500] [Job 7] max_gray = 0, dither_grays = 0
D [20/Dec/2007:13:32:40 -0500] [Job 7] max_color = 65535, dither_colors = 65536
D [20/Dec/2007:13:32:40 -0500] [Job 7] Error: /rangecheck in --image--
D [20/Dec/2007:13:32:40 -0500] [Job 7] Operand stack:
D [20/Dec/2007:13:32:40 -0500] [Job 7]
D [20/Dec/2007:13:32:40 -0500] [Job 7] Execution stack:
D [20/Dec/2007:13:32:40 -0500] [Job 7] %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1905   1   3   %oparray_pop   1904   1   3   %oparray_pop   1888   1   3   %oparray_pop   1771   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   1809   5   3   %oparray_pop
D [20/Dec/2007:13:32:40 -0500] [Job 7] Dictionary stack:
D [20/Dec/2007:13:32:40 -0500] [Job 7] --dict:1145/1684(ro)(G)--   --dict:0/20(G)--   --dict:172/200(L)--

This bug should be assigned to the proper package. I would be happy to provide any more information needed.
Comment 17 Michael Kreitzer 2007-12-20 20:14:57 UTC
This may indeed not be a KDE bug. Setting the color precision to "Best" in the driver settings seems to trigger this bug. I'm not sure if that makes it a ghostscript or a gutenprint bug. I will file with each.
Comment 18 Janek Bevendorff 2012-06-19 17:40:38 UTC
Message from the Bugsquad and Konqueror teams: This bug is closed as outdated, as we do not have the manpower to maintain the KDE3 version anymore. If you still can reproduce this issue with Konqueror 4.8.4 or later, please open a new report. Thank you for your understanding.