Bug 2370 - pdf printer queue never empties
Summary: pdf printer queue never empties
Status: RESOLVED WONTFIX
Alias: None
Product: Samba 3.0
Classification: Unclassified
Component: Printing (show other bugs)
Version: 3.0.9
Hardware: x86 Linux
: P3 normal
Target Milestone: none
Assignee: Gerald (Jerry) Carter (dead mail address)
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-21 11:47 UTC by Kevin Fenzi
Modified: 2005-02-23 10:33 UTC (History)
0 users

See Also:


Attachments
testparm -v output (5.51 KB, application/octet-stream)
2005-02-21 11:48 UTC, Kevin Fenzi
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Fenzi 2005-02-21 11:47:10 UTC
I'm seeing an odd problem with 3.0.10 and 3.0.11 here.

We have some pdf printers defined:

[Accounting pdf printer]
  printer admin = "DOMAIN+Domain Users"
  browseable = yes
  path = /pdfdropbox/Accounting
  printable = yes
  writeable = no
  print command = /usr/bin/preprintpdf %s -r
  lpq command =
  lprm command =

The /usr/bin/preprintpdf just passes the job on:

#! /bin/sh
OUTDIR=/pdfdropbox
/usr/bin/printpdf -dCompatibilityLevel=1.4 "$1"
rm $1

The /usr/bin/printpdf converts the file to a pdf with ghostscript.

With 3.0.7 everything worked fine. Jobs could be printed, the pdf's
showed up and the queue was fine.

With 3.0.10 or 3.0.11, the pdf's show up fine, but the queue never
shows the jobs as completed. They continue to show up in the queue
until samba is restarted. Note that the spool files are removed fine,
so it's some internal samba state thats still reporting the jobs in
the queue.

With debug = 10, We see in the logs:

[2005/02/11 18:01:53, 0] tdb/tdbutil.c:tdb_log(725)
  tdb(/var/lib/samba/printing/IT pdf printer.tdb): tdb_lock failed on list 1717
ltype=1 (Bad file de
scriptor)
[2005/02/11 18:01:53, 0] tdb/tdbutil.c:tdb_log(725)
  tdb(/var/lib/samba/printing/IT pdf printer.tdb): tdb_lock failed on list 480
ltype=1 (Bad file des
criptor)
[2005/02/11 18:01:53, 0] printing/printing.c:print_queue_update_internal(1201)
  print_queue_update: failed to store MSG_PENDING flag for [IT pdf printer]!

We have tried removing the tdb files and restarting, but that seems to
have no effect.

Filesystem is ext3

The server is a RedHat 9 box, running kernel 2.4.20-8smp.
Samba is 3.0.11.


Any ideas? Happy to provide any further information.
Comment 1 Kevin Fenzi 2005-02-21 11:48:29 UTC
Created attachment 975 [details]
testparm -v output

Here's the testparm -v output from the server.
Comment 2 Gerald (Jerry) Carter (dead mail address) 2005-02-23 10:33:04 UTC
ahhh.... I see it now.  You will need to define 
an lpq command.  This is how smbd knows that the 
jobs has finished.  The tdb errors are red herrings I think.
Just write an lpq script that mimics the output from 
lpq with no jobs in the queue.