Operating System - HP-UX
1833271 Members
3387 Online
110051 Solutions
New Discussion

Printing problem: Error 45 from lockf call on file outputq

 
Yogeeraj_1
Honored Contributor

Printing problem: Error 45 from lockf call on file outputq

Hello experts!

I am having problems with my Printers/Printer Queues at heavy load. Many of them get "DISABLED" at the same time. Enabling them is OK sometimes and at other times i have to do it (enable ) several times within 10 to 15 minutes.
Below a few diagnostics:

root-L1000 #lpstat -p|grep disabled
printer it1 disabled since Nov 16 08:18 -
printer persk3 disabled since Jan 29 11:52 -
disabled by scheduler: ERROR: Printer interface script returned non-zero exit status.
printer phxv1 disabled since Jan 29 11:52 -
disabled by scheduler: ERROR: Printer interface script returned non-zero exit status.

root-L1000 #lpstat shpphx2
shpphx2-4043 ias priority 0 Jan 29 12:01
srw15320817 9361 bytes

printer queue for shpphx2
printer shpphx2: spooling is on.
No jobs in queue.
L1000: Warning: shpphx2 is down

L1000: shpphx2: ready and waiting
root-L1000 #enable shpphx2
printer "shpphx2" now enabled
root-L1000 #lpstat shpphx2
shpphx2-4047 ias priority 0 Jan 29 12:01 on shpphx2
srw16720817 20319 bytes

printer queue for shpphx2
printer shpphx2: spooling is on.
No jobs in queue.

L1000: shpphx2: ready and waiting
root-L1000 #

my log file (/var/adm/lp/lp.log) is also indicating the following errors:
========================================================================
...
phxv2-3862 ias phxv2 Jan 29 10:55
/usr/sbin/lpsched: Error 45 from lockf call on file outputq

/usr/sbin/lpsched: can't open output queue file
shpphx2-3863 ias shpphx2 Jan 29 10:56
/usr/sbin/lpsched: Error 45 from lockf call on file outputq

/usr/sbin/lpsched: can't open output queue file
persk3-3864 ias persk3 Jan 29 10:56
/usr/sbin/lpsched: Error 45 from lockf call on file outputq

/usr/sbin/lpsched: can't open output queue file
yarnltk1-3861 ias yarnltk1 Jan 29 10:58
....
shpphx2-4008 ias shpphx2 Jan 29 11:53
/usr/sbin/lpsched: Error 45 from lockf call on file outputq

/usr/sbin/lpsched: can't open output queue file
ltkpers2-4018 ias ltkpers2 Jan 29 11:55
....
========================================================================

I know that a printer can get disabled when it is not able to process the data/control spool
files of the printer which are pending in the queue and every time a file is printed, two files- control and data are created in the spool directory corresponding to the request.
IF the control file has an error, the printer will get disabled while trying to process that request.

I have also observed that these printers are heavily used one and also these "print queues" are all serviced by remote print managers (software).

What could be other causes of this problem? How do i troubleshoot?

I am running:
o HP-UX11.11
o Gold Applications and Gold Base patches (June 2002)

Thank you in advance for your guidances.

Best Regards
Yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)
4 REPLIES 4
T G Manikandan
Honored Contributor

Re: Printing problem: Error 45 from lockf call on file outputq

T G Manikandan
Honored Contributor

Re: Printing problem: Error 45 from lockf call on file outputq

Anytime when the printer returns a non-zero exit status the printer gets disabled.

lpstat -
should give you the reason.

Thanks
Bill Hassell
Honored Contributor

Re: Printing problem: Error 45 from lockf call on file outputq

T G is correct. When a printer script returns with a non-zero exit status, the printer is immediately disabled. Since there can hundreds to thousands of lines in the printer script, it is impossible to directly determine the line that caused the problem. But as mentioned in the technical note, error 45 is a standard Unix error concerning a deadlock. This means that your system is very busy using file locking (printing as well as other tasks) and the kernel parameter nflocks (default 200) is way too small. Change the parameter to 500 or 1000 using SAM and let the system reboot.

Errors from programs that have simple numbers are most likely errno values and are covered in the man page for errno. (actually, the errno name such as E2BIG is explained). To find a particular errno number, grep through the file: /usr/include/sys/errno.h
where E2BIG is known as errno 7 and errno 45 is called EDEADLK.


Bill Hassell, sysadmin
Yogeeraj_1
Honored Contributor

Re: Printing problem: Error 45 from lockf call on file outputq

closing thread
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)