12.04 Beta 1 : Brother MFC8680DN does not print image from .pdf file

Bug #960666 reported by Bruce Stough
28
This bug affects 4 people
Affects Status Importance Assigned to Milestone
cups-filters (Ubuntu)
Fix Released
High
Unassigned
Precise
Fix Released
High
Unassigned

Bug Description

When I attempt to print the first page of the ZlogManuel.pdf to my Brother MFC-8680DN printer, the text at the top and bottom of the page is printed, but the graphic image is missing. Also, the following error prints out on the next sheet:

ERROR:
undefined
OFFENDING COMMAND:
TP.
STACK:
-mark-
-mark-
-mark-

When I try to print the same page on my Brother DCP-7020 printer everything is correct and there is no error message.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: cups-filters 1.0.6-0bzr1
ProcVersionSignature: Ubuntu 3.2.0-19.30-generic 3.2.11
Uname: Linux 3.2.0-19-generic x86_64
ApportVersion: 1.94.1-0ubuntu2
Architecture: amd64
Date: Tue Mar 20 17:11:14 2012
InstallationMedia: Xubuntu 12.04 "Precise Pangolin" - Beta amd64 (20120228)
Lpstat:
 device for DCP-7020: usb://Brother/DCP-7020?serial=000E5J157759
 device for MFC-8680DN: usb://Brother/MFC-8680DN?serial=000M0J605091
 device for test: /tmp/printout.ps
MachineType: System manufacturer System Product Name
Papersize: letter
PpdFiles:
 test: Brother MFC-8680DN BR-Script3
 DCP-7020: Brother DCP-7020 Foomatic/hl1250 (recommended)
 MFC-8680DN: Brother MFC-8680DN BR-Script3
ProcEnviron:
 LANGUAGE=en_US:en
 TERM=xterm
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-19-generic root=UUID=8dc93c63-b855-4494-9d16-1ad618cecdbf ro quiet splash vt.handoff=7
SourcePackage: cups-filters
UpgradeStatus: Upgraded to precise on 2012-03-11 (9 days ago)
dmi.bios.date: 01/26/2011
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0506
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: E35M1-M PRO
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev X.0x
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0506:bd01/26/2011:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnE35M1-MPRO:rvrRevX.0x:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

Revision history for this message
Bruce Stough (sbsrs) wrote :
Revision history for this message
cliddell (cjl) wrote :

Bruce,

Thanks for doing this in a new bug.....

I've created a simplified test:
http://www.ghostscript.com/~chrisl/ZLogManual-p1.ps

This is just the first page, and is uncompressed. Can you see if this still errors, please?

Chris

Revision history for this message
Bruce Stough (sbsrs) wrote :

This is the associated captured queued print file..

Revision history for this message
Bruce Stough (sbsrs) wrote :
Revision history for this message
cliddell (cjl) wrote :

Bruce,

You need to send:

http://www.ghostscript.com/~chrisl/ZLogManual-p1.ps

to your printer directly, not via the cups print queue, as per the method you used in the previous bug:
https://bugs.launchpad.net/ubuntu/+source/cups-filters/+bug/955553

Chris

Revision history for this message
Bruce Stough (sbsrs) wrote :

Cris,

I sent the single page file to the printer. It took a long time to do anything, with the status light blinking. After a few minutes, it printed a single sheet with:

ERROR:
undefined
OFFENDING COMMAND:
r
STACK:

This time, there was no legitimate text printed.

Bruce

Revision history for this message
cliddell (cjl) wrote :

Bruce,

Please try this one, again, directly to the printer:
http://www.ghostscript.com/~chrisl/ZLogManual-p1-002.ps

Again, please post the result......

Also, have you reported this to Brother? It's clearly a bug with the printer, not the Postscript.

Chris

Revision history for this message
Bruce Stough (sbsrs) wrote :

Chris,

I sent them both using lpr -oraw, and they both printed just fine.

I think this is equivalent to cat to the usb device. Let me know if I should do it that way.

Bruce

Revision history for this message
cliddell (cjl) wrote :

Bruce,

Yes, that's the right way to send these files to the printer.

So, I'm just guessing about where the problem might lie, but can you try this version, please?

http://www.ghostscript.com/~chrisl/ZLogManual-p1-003.ps

again using the "lpr -oraw" method

Thanks,

Chris

Revision history for this message
Bruce Stough (sbsrs) wrote :

Chris,

That file printed fine.

Bruce

Revision history for this message
cliddell (cjl) wrote :

Bruce,

Thanks, that's good (well, sort of!). It appears, and I am guessing here, that the printer has problems with certain conbinations of filter - in particular, it seems that it has trouble, either when multiple compression filters are chained, or multiple instances of the same filter are in the same chain.

So, I think the solution/workaround is to add another option to the Ghostcript command line that cups uses for these printers - the file that worked was created with:

-dCompressPages=false -dCompressFonts=false -dNoT3CCITT -dEncodeMonoImages=false -dEncodeColorImages=false

Let me drop a mail to Till, and point him at this bug.

Chris

Revision history for this message
cliddell (cjl) wrote :

Already e-mailed to Till, but I made a mistake above, and the command line options were:

-dNoT3CCITT -dEncodeMonoImages=false -dEncodeColorImages=false

So page and font streams get compressed, but Type 3 font bitmaps, mono images and color images don't get *additional* compression.

Chris

Revision history for this message
Till Kamppeter (till-kamppeter) wrote : Re: [Bug 960666] Re: 12.04 Beta 1 : Brother MFC8680DN does not print image from .pdf file

I have already seen the bug report, as I am subscribed to the
cups-filters package.

Is this the definitive solution now? Should I release cups-filters 1.0.8?

    Till

On 03/21/2012 09:01 PM, cliddell wrote:
> Already e-mailed to Till, but I made a mistake above, and the command
> line options were:
>
> -dNoT3CCITT -dEncodeMonoImages=false -dEncodeColorImages=false
>
> So page and font streams get compressed, but Type 3 font bitmaps, mono
> images and color images don't get *additional* compression.
>
> Chris
>

Revision history for this message
cliddell (cjl) wrote :

> Is this the definitive solution now? Should I release cups-filters 1.0.8?

I just can't answer that. We're working around a bug in a version of the Brother Postscript implementation, with no access to the internals of the interpreter. My *best guess*, based on the testing we've done, is that there is some problem with the interaction of multiple compression filters in the same filter chain, so I'm suggesting we remove the opportunities for multiple compression filters to be used in the same chain - the only case remaining where this could happen is the color image case - hence adding "-dEncodeColorImages=false". (NOTE: this is separate from the CCITT Group 4 filter problem, which is definitely broken in it's own right.)

However, without being able to debug the interpreter code, I can't say byond doubt that the above *is* the problem.

And I certainly can't say that there aren't any more bugs in Brother's code.

I assume we've missed the beta 2 deadline, so it might be worth holding off dong a cups-filters 1.0.8 for a day or so, in case we find a workaround for the HP issue.

Chris

Revision history for this message
Vincent Bernat (vbernat) wrote :

Hi!

With cupsfilter 1.0.7, I still got garbled color images (it is in Debian). Adding "-dEncodeColorImages=false" fix this problem.

Revision history for this message
cliddell (cjl) wrote :

Hi Vincent,

Thanks for the independent confirmation, I *really* appreciate it.

Chris

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Thanks, Vincent, I have already added this option in cups-filters upstream. Probably I will issue 1.0.8 tomorrow.

Vincent, please test with many different files and applications to see whether we have worked around all bugs now.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in cups-filters (Ubuntu):
status: New → Confirmed
Revision history for this message
Vincent Bernat (vbernat) wrote :

Currently, I was able to print all the documents I had. Many thanks for all your work!

Did you had any additional contacts with Brother to make them release appropriate drivers and fix their Postscript implementation?

Revision history for this message
cliddell (cjl) wrote :

Vincent,

I'm very relieved to hear that your other files are working, too, thanks for trying them.

On both these bugs, I have urged people to contact Brother technical support, and report these problems, but no one seems willing. I feel there is little point in myself or Till doing it, because Brother are only going to take a report from an owner of one of their products.

In truth, it bothers me quite a lot: it seems like folks expect us (Ghostscript) to gracefully consume whatever gets thrown at us, but then also demand that we workaround/fix/patch for quirks, idiosynchracies and outright bugs in other people's Postscrpt implementations......

Anway, mini-rant over!

Thanks again, your testing is *really* appreciated.

Chris

Changed in cups-filters (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → High
milestone: none → ubuntu-12.04-beta-2
Changed in cups-filters (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cups-filters - 1.0.8-0bzr1

---------------
cups-filters (1.0.8-0bzr1) precise; urgency=low

  * New upstream release
     - pdftops: Generally do not compress fonts and images, and
       also do not do CCITT compression for bitmap glyphs to make
       the PostScript output more compatible with buggy PostScript
       interpreters. The output gets 30-50% longer but will work on
       many more different printer models. Problems were also
       discovered on HP and not only on Brother (LP: #960666).
 -- Till Kamppeter <email address hidden> Wed, 22 Mar 2012 09:13:55 +0100

Changed in cups-filters (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Bruce Stough (sbsrs) wrote :

Chris,

I have upgraded to the new cups-filters and can now print the page I complained about. Thank you for your efforts!

I would be happy to report this to Brother support, but would need a little help to be credible. I was running 10.10 before, and everything was fine. If I tell them that problems started with 12.04, they will probably just point the finger back to Ubuntu. How can I report this to them in a way that they will acknowledge that they have a problem?

Thanks for your help!

Bruce

Revision history for this message
cliddell (cjl) wrote :

Bruce,

Thanks for the confirmation.

As far as reporting to Brother is concerned, there is no need to mention that it worked printing from Ubuntu 10.10.

Basically, take one of the Postscript files that we established fail on the printer, and tell Brother you have a Postscript file that fails to work on their Postscript printer.

Postscript is a specification, and if they claim to support it, then (short of running out of memory) their interpreter should accept any compliant Postscript job - like any digitial information communication format, both the producer and comsumer need to adhere to the spec, otherwise we can't rely on the communications to work.

If you want to pursue this with Brother, you can contact me at cjl (at) spamcop dot net and we can sort out a test file for Brother and if you're not confident, I can help with the wording of a report - no need to clog up this bug tracker with it.

Chris

Revision history for this message
Vincent Bernat (vbernat) wrote :

Chris,

If you come up with a postscript file showing all the defects, please post it here, so that several persons can show this file to Brother. A simple file which prints to a blank page (I think we already have it in another bug report) and another one with all the compression defects would be great. I will be happy to point Brother to those files.

Revision history for this message
cliddell (cjl) wrote :

I've done three tests, based on the investigations we've done:

1)
http://www.ghostscript.com/~chrisl/brother/a_line_of_text.ps
This test *should* print "A line of text" at the bottom left of the page, but instead simply ejects a blank page, apparently with no error indicated.

We narrowed the problem down to line 202 (it seems to be the "currenthalftone" operator):
/HT currenthalftone cp2g def

2)
http://www.ghostscript.com/~chrisl/brother/g4fax-test.ps
This should print two fairly large bitmap images of the upper case character "A", about halfway up the page, one next to the other. From the description I received from those that ran similar tests previously, I think on the Brother you should see one "A" and next to it something like "_ _" - it seems to be drawing the bottom row, or few rows of pixels from the "A" then silently giving up. The difference between the two is that the failing one is CCITT Group 4 FAX compressed, the other is not.

3)
http://www.ghostscript.com/~chrisl/brother/compressed-image-test.ps
(This is quite big - 2.4Mb)
This contains two instances of the image from the test file for this bug (#960666). If this behaves the same as the original file, you should get one image printed correctly, and then an error (the actuall error may well be different to the originally reported one, depending on how the buffering works out).

The image I hope will work is uncompressed, whilst the image that I hope induces the error is LZW compressed.

Now, as for reporting this to Brother, as I said above, I feel the wording should be along the lines of "we believe, and have considerable evidence supporting the belief, that these are valid Postscript Language Level 2 files, and therefore, should be interpreted successfully by any Postscript Language Level 3 (or Level 2) interpreter. The Bother <printer model> Poscript interpreter fails <describe each case>".

My inclination is to say there is no need to mention that, from your (the user's) point of view, printing worked in earlier versions of Ubuntu nor, in fact, is there any reason to mention the operating system at all. *Where* the jobs came from is irrelevant, the only relevant informatation is that we are confident these jobs are valid Postscript, and their Postscript implementation fails to interpret them.

If those who are interested could try each of thoses tests, and make sure they fail in the expected manner (my only concern is that, in simplifying the tests, I've inadvertantly changed something that will make them work).

Once we have confirmed that these files fail as expected, I will attach them to this bug, to ensure that they don't get accidentally deleted from my user area on the server.

Chris

Revision history for this message
Vincent Bernat (vbernat) wrote :

Hi Chris!

On a Brother HL-3070CW, here are my results:

> http://www.ghostscript.com/~chrisl/brother/a_line_of_text.ps

I get a blank page, as expected.

> http://www.ghostscript.com/~chrisl/brother/g4fax-test.ps

I get A _ _, as expected.

> http://www.ghostscript.com/~chrisl/brother/compressed-image-test.ps

I get only one image (the bottom one), as expected.

I will also try with a Brother HL-4150CDN tonight and then mail the
results to Brother.

Thanks for your help!

Revision history for this message
cliddell (cjl) wrote :

1)
http://www.ghostscript.com/~chrisl/brother/a_line_of_text.ps
This test *should* print "A line of text" at the bottom left of the page, but instead simply ejects a blank page, apparently with no error indicated.

We narrowed the problem down to line 202 (it seems to be the "currenthalftone" operator):
/HT currenthalftone cp2g def

Revision history for this message
cliddell (cjl) wrote :

2)
This should print two fairly large bitmap images of the upper case character "A", about halfway up the page, one next to the other. From the description I received from those that ran similar tests previously, I think on the Brother you should see one "A" and next to it something like "_ _" - it seems to be drawing the bottom row, or few rows of pixels from the "A" then silently giving up. The difference between the two is that the failing one is CCITT Group 4 FAX compressed, the other is not.

Revision history for this message
cliddell (cjl) wrote :

3)
(This is quite big - 2.4Mb)
This contains two instances of the image from the test file for this bug (#960666). If this behaves the same as the original file, you should get one image printed correctly, and then an error (the actuall error may well be different to the originally reported one, depending on how the buffering works out).

The image I hope will work is uncompressed, whilst the image that I hope induces the error is LZW compressed.

Revision history for this message
cliddell (cjl) wrote :

As I mentioned, I posted the three files, with individual descriptions, as attachments here (rather than linked to my web space, and risk them disappearing).

See post #25 for my summary of what should be in a report to Brother.

If anyone needs more info, wants clarification, or if Brother come back with questions on which you need input, please just ask - either here, or message me through the "Contact" facility.

Chris

Revision history for this message
Bruce Stough (sbsrs) wrote :

Chris,

I tried the three files on my 8680DN with the following results:

a_line_of_text.ps I get no output from this at all. No paaper, no errors. The printer status light blinks as if it were receiving data for 63 seconds, but otherwise everything is quiet. Then, after about five minutes, one sheet is printed with the following error message:

     ERROR:
     undefined
     OFFENDING COMMAND:
     u'*s80Z
     STATCK:

 g4fax-test.ps This one prints with the expected problem. One large 'A' on the left, and the feet of an 'A' in the middle.

compressed-image-test.ps I get two image of a PC board which appear to be printed correctly. One is near the top of the page near the center, the second is on the bottom of the page shifted to the left.

Revision history for this message
Bruce Stough (sbsrs) wrote :

I hit enter too early. The rest of the error message was:

     -mark-
     -mark-
     -mark-

It looks like the first two files recreate our problems, but the third one works too well.

Bruce

Revision history for this message
Vincent Bernat (vbernat) wrote :

I have also tested with a Brother HL-4150CDN and get the same results
than with an HL-3070CW.

Revision history for this message
cliddell (cjl) wrote :

Bruce,

That gives you two files you can go to Brother with, and Vincent can reproduce the compressed-image-test.ps problem, so Brother will get a report about that.

The "a_line_of_text.ps" test result is odd: the error message you've got there *looks* like bytes from an encoded stream - but there are no encoded streams in that file. Anyway, if you report your error to Brother, you can mention others have seen problems wit that file that we tracked down to the "currenthalftone" I mentioned above, so may be related.

I'll try to revisit the compressed-image-test.ps example over the weekend, and see if there's some subtlety of your original file I missed. The problem is, as I said above, these kinds of problems can be dependant on where in the data stream buffer limits land, and so can be difficult reproduce in simple test cases. If the worst comes to the worst, I'll create a PS file from your original in post #3, and Brother will just have to deal the extra complexity.

Chris

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Can everyone who had this bug test the newest cups-filters package on my PPA:

https://launchpad.net/~till-kamppeter/+archive/ppa

Please follow the instructions under the link above and update your system. You should get cups-filters_1.0.15-0bzr1~ppa1, if not, update again some time later.

This package does not change or improve anything concerning your situation, but it is a regression test. We want to make sure that our fix for bug 977912 does not break anything.

Thank you in advance.

Revision history for this message
JFK (mr-kanel) wrote :

FIXED with:
Installation of package: brother-cups-wrapper-laser
Reinstalled Printer
Selected driver "MFC8860DN"
Seems to work fine.

Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Hello Bruce, or anyone else affected,

Accepted cups into precise-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

affects: cups-filters (Ubuntu) → cups (Ubuntu)
Changed in cups (Ubuntu):
milestone: ubuntu-12.04-beta-2 → none
Changed in cups (Ubuntu Precise):
status: New → Confirmed
Changed in cups (Ubuntu Precise):
status: Confirmed → Fix Committed
importance: Undecided → High
affects: cups (Ubuntu) → cups-filters (Ubuntu)
Changed in cups-filters (Ubuntu Precise):
status: Fix Committed → Fix Released
tags: removed: verification-needed
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

This bug got attached to the CUPS SRU for Precise in error. It is a bug in cups-filters which got fixed in time for the Precise release. Putting back package assignment to cups-filters, removing "Verification needed" tag.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.