Hi Peter,

I was trying to debug an old hang with ghostscript's lx5000 driver and
am stuck.  [1] has the original report and test file.

Sebastian Schmidt wrote:

> gs produced 94MB output after 10 seconds or so, but what's notable about
> it is the following (hexdump -C):
> 05d13f70  00 02 02 00 18 00 ec 19  13 e8 00 00 00 00 2b 70  |......ì..è....+p|
> 05d13f80  62 77 01 1b 2a 03 00 00  1b 2a 04 00 00 00 1a 00  |bw..*....*......|
> 05d13f90  02 02 00 18 00 ec 19 13  e8 00 00 00 00 2b 70 62  |.....ì..è....+pb|
> 05d13fa0  77 01 1b 2a 03 00 00 1b  2a 04 00 00 00 1a 00 02  |w..*....*.......|
> 05d13fb0  02 00 18 00 ec 19 13 e8  00 00 00 00 2b 70 62 77  |....ì..è....+pbw|
> 05d13fc0  01 1b 2a 03 00 00 1b 2a  04 00 00 00 1a 00 02 02  |..*....*........|
> 05d13fd0  00 18 00 ec 19 13 e8 00  00 00 00 2b 70 62 77 01  |...ì..è....+pbw.|
> 05d13fe0  1b 2a 03 00 00 1b 2a 04  00 00 00 1a 00 02 02 00  |.*....*.........|
> 05d13ff0  18 00 ec 19 13 e8 00 00  00 00 2b 70 62 77 01 1b  |..ì..è....+pbw..|
> [... and so on ...]
>
> This pattern gets repeated all the time.

Using http://pbw.id.au/lexmark/protocol.html we can decode this.

Starting at 05d13f83:

        VERTICAL MOVE (1b 2a 03) by 0
        SWIPE PRINT (1b 2a 04) of length 26 (00 00 00 1a):
                unidirectional, 600x600 dpi (00 02)
                color (02 00)
                192 nozzles (18)
                00 padding
                60441 columns (ec 19)
                first column = 5096 (13 e8)
                last column = 0 (00 00) --- huh?  doesn't add up
                driver id = "+pbw" (2b 70 62 77)
                time for data (01)
        VERTICAL MOVE (1b 2a 03) by 0
        SWIPE PRINT  (1b 2a 04) of length 26 (00 00 00 1a):
                ...

That's what FILL_SWIPE_HEADER writes (in contrib/gdevlx50.c), in
printSwipe().  So printSwipe() is being called interspersed with
feedPaper(), just as Sebastian described.

The tried and true printf method reveals that nextLineToPrint very
quickly gets the value of 16, which is much lower than 3300, and
keeps that value.

But at this point I'm stuck, since I'm not sure how this code is
supposed to work.  When is nextLineToPrint supposed to advance?

It's also possible the postscript file is buggy, though it displays
ok with the x11 driver, at least.  The ps file came from an attempt
to print something with a web browser.

Ideas?
Jonathan

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;bug=343901



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to