The problem mentioned early for 3.7.1 remeains in 3.7.4.
Situation: Local Linux RedHat 6.2 is used to spool
jobs from central site and send it to the several
local print-servers {Axis 560, HP Jetdirect).
The problem with gdbm occurs when more then 100 jobs
at once are sent from central site. LPRng was compiled
from SRPM package. More detailed infos are at the end
of the mail.
/Honza
>
> I have stared at this with no inspiration.
>
> Could you please try LPRng 3.7.2 and tell me if the same
> problem exists?
>
> Also, 3.7.3 has a --disable-gdbm option now.
>
> > From [EMAIL PROTECTED] Fri Dec 15 12:35:40 2000
> > Date: Fri, 15 Dec 2000 14:48:29 -0500
> > From: John Harper <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: LPRng: problem with 3.7.1 and gdbm
> >
> > I recently tried lprng 3.7.1 and had to bail back to 3.6.22 when it
> > failed after a couple of hours of use.
> >
> > 3.7.1 uses gdbm (which I had to upgrade to 1.8.0) but after a time I
> > found the following errors in the messages file:
> >
> > Dec 8 12:31:37 anemos.scar (Server)[21129]: cclaser: Open_gdbm:
> > cannot lock 'db.cclaser' - Interrupted system call
> > Dec 8 13:34:54 anemos.scar (Server)[29856]: liblaser: Open_gdbm:
> > cannot lock 'db.liblaser' - Interrupted system call
> > Dec 8 14:39:06 anemos.scar (Worker - Remote)[29468]: quille:
> > Link_dest_port_num: LOGIC ERROR! no port number!
> >
> > and the whole print system ground to a halt - jobs would queue but
> > nothing would print. Being an active system I didn't have
> time to play
> > around, so this is all I have at the moment - the underlying OS is
> > Solaris 7 and reasonably well patched.
> >
> > Now both cclaser and liblaser are queues that load balance by
> > each forwarding to 2 other queues that drive real printers.
> It's these
> > queues that will accumulate jobs, so I guess that's why the problems
> > occurred there.
> >
> > quille, on the other hand, is a queue that drives a printer
> directly -
> > but all these printers are handled by calling papif (from the CAP60
> > distribution) from a Perl input filter (so accounting can
> be done), ie
> > lpd makes no connection itself to the printer.
> > So I don't really understand that error..
> >
> > I'm not even sure the problem is really lprng's so much as gdbm's -
> > but I will try to suppress gdbm use by hiding the libraries
> (I'll take
> > the performance hit as we are not generally high volume) -
> a configure
> > flag to suppress gdbm would be nice....
> > It might depend on what sort of file locking gdbm builds with (looks
> > like it's using fcntl - that ought to be good enough, however I have
> > had occasional problems with fcntl locks in other apps....)
> >
[root@bonzak ps2s1]# uname -a
Linux bonzak 2.2.14-6.0.1 #1 Fri Apr 14 10:44:40 EDT 2000 i686 unknown
[root@bonzak ps2s1]# lpq -Pps2s1 -V
LPRng-3.7.4, Copyright 1988-2000 Patrick Powell, <[EMAIL PROTECTED]>
Printer: ps2s1@bonzak (dest PR7@ps2)
Queue: 4 printable jobs
Server: no server active
Status: ps2s1: Open_dgbm: open of DB file 'db.ps2s1' failed, File open
error at
08:08:13.492
Rank Owner/ID Class Job Files Size Time
1 smolova@cracken+262 A 262 stdin 8757
05:37:17
2 smolova@cracken+263 A 263 stdin 6177
05:37:24
3 smolova@cracken+264 A 264 stdin 6751
05:37:30
4 smolova@cracken+564 A 564 stdin 34525
08:08:13
no entries
[root@bonzak ps2s1]# ls -l /var/spool/lpd/ps2s1/
celkem 775
-rw------- 1 daemon daemon 684117 led 16 08:07 acct
-rw------- 1 daemon daemon 117 led 16 05:37 cfA262cracken
-rw------- 1 daemon daemon 117 led 16 05:37 cfA263cracken
-rw------- 1 daemon daemon 117 led 16 05:37 cfA264cracken
-rw------- 1 daemon daemon 117 led 16 08:08 cfA564cracken
-rw------- 1 daemon daemon 43 pro 3 10:58 control.ps2s1
-rw------- 1 daemon daemon 14396 led 16 09:20 db.ps2s1
-rw------- 1 daemon daemon 8757 led 16 05:37 dfA262cracken
-rw------- 1 daemon daemon 6177 led 16 05:37 dfA263cracken
-rw------- 1 daemon daemon 6751 led 16 05:37 dfA264cracken
-rw------- 1 daemon daemon 34525 led 16 08:08 dfA564cracken
-rw------- 1 daemon daemon 454 led 16 08:07 hfA262
-rw------- 1 daemon daemon 389 led 16 05:37 hfA263
-rw------- 1 daemon daemon 389 led 16 05:37 hfA264
-rw------- 1 daemon daemon 390 led 16 08:08 hfA564
-rw------- 1 daemon daemon 2777 led 16 08:08 log
-rw------- 1 daemon daemon 136 led 16 09:20 lpq
-rw------- 1 daemon daemon 2762 led 16 09:19 lpq.0
-rw------- 1 daemon daemon 5351 led 16 09:20 lpq.1
-rw------- 1 daemon daemon 6 led 16 07:43 ps2s1
-rw------- 1 daemon daemon 0 pro 1 14:35 status
-rw------- 1 daemon daemon 3956 led 16 08:08 status.ps2s1
-rw------- 1 daemon daemon 6 led 16 08:07 unspooler.ps2s1
[root@bonzak ps2s1]# ps -ef|grep lpd
daemon 10739 1 0 07:43 ? 00:00:00 lpd Waiting
[root@bonzak ps2s1]# strace -p 10739
select(7, [5 6], NULL, NULL, NULL <unfinished ...>
[root@bonzak ps2s1]# lsof -p 10739
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
lpd 10739 root cwd DIR 3,8 1024 2 /
lpd 10739 root rtd DIR 3,8 1024 2 /
lpd 10739 root txt REG 3,5 417968 241194 /usr/sbin/lpd
lpd 10739 root mem REG 3,8 340663 34138 /lib/ld-2.1.3.so
lpd 10739 root mem REG 3,5 47 192392
/usr/share/locale/cs_CZ/LC_MESSAGES/SYS_LC_MESSAGES
lpd 10739 root mem REG 3,5 94 80168
/usr/share/locale/cs_CZ/LC_MONETARY
lpd 10739 root mem REG 3,5 496 80170
/usr/share/locale/cs_CZ/LC_TIME
lpd 10739 root mem REG 3,5 29265 128389
/usr/lib/libgdbm.so.2.0.0
lpd 10739 root mem REG 3,8 4101324 34145 /lib/libc-2.1.3.so
lpd 10739 root mem REG 3,8 246652 34176
/lib/libnss_files-2.1.3.so
lpd 10739 root mem REG 3,5 30213 80166
/usr/share/locale/cs_CZ/LC_COLLATE
lpd 10739 root mem REG 3,5 27 80169
/usr/share/locale/cs_CZ/LC_NUMERIC
lpd 10739 root mem REG 3,5 87756 80167
/usr/share/locale/cs_CZ/LC_CTYPE
lpd 10739 root 0r CHR 1,3 24099 /dev/null
lpd 10739 root 1w CHR 1,3 24099 /dev/null
lpd 10739 root 2w CHR 1,3 24099 /dev/null
lpd 10739 root 3u CHR 1,3 24099 /dev/null
lpd 10739 root 4u CHR 1,3 24099 /dev/null
lpd 10739 root 5u IPv4 1410464 TCP *:printer (LISTEN)
lpd 10739 root 6r FIFO 0,0 1410466 pipe
lpd 10739 root 7r FIFO 0,0 1410460 pipe
lpd 10739 root 8w FIFO 0,0 1410460 pipe
lpd 10739 root 9w FIFO 0,0 1410466 pipe
lpd 10739 root 21w CHR 1,3 24099 /dev/null
[root@bonzak ps2s1]# cat log
2000-12-18-05:46:24.284 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2000-12-18-05:50:09.827 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2000-12-18-05:55:34.041 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2000-12-18-06:11:33.987 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2000-12-18-09:13:59.606 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2000-12-18-09:28:50.474 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2000-12-18-09:39:19.344 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2000-12-18-09:39:39.010 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2000-12-18-09:44:48.227 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2000-12-18-09:45:20.138 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2000-12-18-09:47:30.948 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2000-12-18-09:48:32.016 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2000-12-18-10:47:22.104 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-02-05:43:11.677 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2001-01-02-05:47:04.648 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-02-05:47:38.834 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2001-01-02-05:53:11.145 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-02-05:53:56.205 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Interrupted system call
2001-01-02-09:03:22.225 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-02-10:51:34.547 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-02-11:11:12.055 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-16-05:29:32.953 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-16-05:30:13.213 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Poerušené volání systému
2001-01-16-05:30:25.663 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Poerušené volání systému
2001-01-16-05:34:01.704 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-16-05:37:18.476 bonzak ps2s1: Open_gdbm: cannot lock 'db.ps2s1' -
Poerušené volání systému
2001-01-16-05:46:08.216 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
2001-01-16-08:08:13.493 bonzak ps2s1: Open_dgbm: open of DB file 'db.ps2s1'
failed, File open error
[root@bonzak ps2s1]# lpq -P ps2s1 -v
Printer: ps2s1@bonzak
Job: smolova@cracken+564
Printing: no
Aborted: no
Spooling: no
Destination: PR7@ps2
Queue: 4 printable jobs
Server: no server active
SPOOLCONTROL=
printing_aborted=0x0
printing_disabled=0x0
Status: sending job 'smolova@cracken+260' to PR7@ps2 at 08:06:55.501
Status: connecting to 'ps2', attempt 1 at 08:06:55.501
Status: connected to 'ps2' at 08:06:55.508
Status: requesting printer PR7@ps2 at 08:06:55.508
Status: sending control file 'cfA260cracken' to PR7@ps2 at 08:06:55.512
Status: completed sending 'cfA260cracken' to PR7@ps2 at 08:06:55.522
Status: sending data file 'dfA260cracken' to PR7@ps2 at 08:06:55.522
Status: waiting for subserver to exit at 08:06:55.958
Status: completed sending 'dfA260cracken' to PR7@ps2 at 08:07:30.022
Status: done job 'smolova@cracken+260' transfer to PR7@ps2 at 08:07:30.023
Status: subserver pid 10929 exit status 'JSUCC' at 08:07:30.059
Status: [EMAIL PROTECTED]: job 'cfA260cracken' printed
at
08:07:30.064
Status: job 'cfA260cracken' removed at 08:07:30.076
Status: sending job 'smolova@cracken+261' to PR7@ps2 at 08:07:30.456
Status: connecting to 'ps2', attempt 1 at 08:07:30.456
Status: connected to 'ps2' at 08:07:30.463
Status: requesting printer PR7@ps2 at 08:07:30.463
Status: sending control file 'cfA261cracken' to PR7@ps2 at 08:07:30.467
Status: completed sending 'cfA261cracken' to PR7@ps2 at 08:07:30.481
Status: sending data file 'dfA261cracken' to PR7@ps2 at 08:07:30.481
Status: waiting for subserver to exit at 08:07:30.877
Status: completed sending 'dfA261cracken' to PR7@ps2 at 08:07:57.614
Status: done job 'smolova@cracken+261' transfer to PR7@ps2 at 08:07:57.614
Status: subserver pid 10936 exit status 'JSUCC' at 08:07:57.643
Status: [EMAIL PROTECTED]: job 'cfA261cracken' printed
at 08:07:57.648
Status: job 'cfA261cracken' removed at 08:07:57.661
Status: sending job 'smolova@cracken+262' to PR7@ps2 at 08:07:58.056
Status: connecting to 'ps2', attempt 1 at 08:07:58.057
Status: connected to 'ps2' at 08:07:58.063
Status: requesting printer PR7@ps2 at 08:07:58.063
Status: sending control file 'cfA262cracken' to PR7@ps2 at 08:07:58.068
Status: completed sending 'cfA262cracken' to PR7@ps2 at 08:07:58.075
Status: sending data file 'dfA262cracken' to PR7@ps2 at 08:07:58.075
Status: waiting for subserver to exit at 08:07:58.420
Status: ps2s1: Open_dgbm: open of DB file 'db.ps2s1' failed, File open
error at 08:08:13.492
Job: smolova@cracken+262 status= 1
Job: smolova@cracken+262 size= 8757
Job: smolova@cracken+262 time= 0x3a63cffd
Job: smolova@cracken+262 CONTROL=
Asmolova@cracken+262
Ccracken
Hcracken
Jstdin
Lsmolova
Psmolova
Qps2s1
Nstandard input
fdfA262cracken
UdfA262cracken
Job: smolova@cracken+262 HOLDFILE=
A=smolova@cracken+262
C=cracken
datafile_count=1
datafiles=Nstandard inputfdfA262crackenUdfA262cracken
file_hostname=cracken
filenames=standard input
H=cracken
held=0x0
hf_name=hfA262
hold_class=0x0
hold_time=0x0
J=stdin
job_time=0x3a63cffd
job_time_usec=0xcb8df
L=smolova
number=262
P=smolova
printable=0x1
priority=A
prstatus=active
Q=ps2s1
server=10939
size=8757
start_time=0x3a63f34d
transfername=cfA262cracken
update_time=2001-01-16-08:07:58.030
Job: smolova@cracken+263 status= 2
Job: smolova@cracken+263 size= 6177
Job: smolova@cracken+263 time= 0x3a63d004
Job: smolova@cracken+263 CONTROL=
Asmolova@cracken+263
Ccracken
Hcracken
Jstdin
Lsmolova
Psmolova
Qps2s1
Nstandard input
fdfA263cracken
UdfA263cracken
Job: smolova@cracken+263 HOLDFILE=
A=smolova@cracken+263
C=cracken
datafile_count=1
datafiles=Nstandard inputfdfA263crackenUdfA263cracken
file_hostname=cracken
filenames=standard input
H=cracken
held=0x0
hf_name=hfA263
hold_class=0x0
hold_time=0x0
J=stdin
job_time=0x3a63d004
job_time_usec=0x4eca6
L=smolova
number=263
P=smolova
priority=A
Q=ps2s1
size=6177
transfername=cfA263cracken
update_time=2001-01-16-05:37:24.376
Job: smolova@cracken+264 status= 3
Job: smolova@cracken+264 size= 6751
Job: smolova@cracken+264 time= 0x3a63d00a
Job: smolova@cracken+264 CONTROL=
Asmolova@cracken+264
Ccracken
Hcracken
Jstdin
Lsmolova
Psmolova
Qps2s1
Nstandard input
fdfA264cracken
UdfA264cracken
Job: smolova@cracken+264 HOLDFILE=
A=smolova@cracken+264
C=cracken
datafile_count=1
datafiles=Nstandard inputfdfA264crackenUdfA264cracken
file_hostname=cracken
filenames=standard input
H=cracken
held=0x0
hf_name=hfA264
hold_class=0x0
hold_time=0x0
J=stdin
job_time=0x3a63d00a
job_time_usec=0xe4a97
L=smolova
number=264
P=smolova
priority=A
Q=ps2s1
size=6751
transfername=cfA264cracken
update_time=2001-01-16-05:37:30.987
Job: smolova@cracken+564 status= 4
Job: smolova@cracken+564 size= 34525
Job: smolova@cracken+564 time= 0x3a63f35d
Job: smolova@cracken+564 CONTROL=
Asmolova@cracken+564
Ccracken
Hcracken
Jstdin
Lsmolova
Psmolova
Qps2s1
Nstandard input
fdfA564cracken
UdfA564cracken
Job: smolova@cracken+564 HOLDFILE=
A=smolova@cracken+564
C=cracken
datafile_count=1
datafiles=Nstandard inputfdfA564crackenUdfA564cracken
file_hostname=cracken
filenames=standard input
H=cracken
held=0x0
hf_name=hfA564
hold_class=0x0
hold_time=0x0
J=stdin
job_time=0x3a63f35d
job_time_usec=0x5fbfb
L=smolova
number=564
P=smolova
priority=A
Q=ps2s1
size=34525
transfername=cfA564cracken
update_time=2001-01-16-08:08:13.442
-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address
If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body. For the impatient,
to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED]
with: | example:
subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED]
If you have major problems, send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------