On Wed, Mar 10, 2004 at 10:23:21AM -0700, Mark Tamisiea wrote:
> Hi,
>
> We're using LPRng-3.8.26 and ifhp-3.5.17 on RHE 3.0 (both are compiled
> from source so that we could run both cups and lprng.) Everything works
> well when jobs are submitted from localhost, including both samba and
> cups submissions that print through lprng. However, jobs submitted via
> lpr/lp from external hosts (running both Tru64 and Solaris) stall
> temporarily with the following information in status.pr:
>
> hp: Set_hold_file: LOGIC ERROR- no HF_NAME in job information - [EMAIL PROTECTED]
> cftransfername=cfmyclient.Colorado.EDU
> D=2004-03-09-16:50:19.680
> datafile_count=0
> file_hostname=myclient.Colorado.EDU
> H=myclient.Colorado.EDU
> hold_time=0x0
> job_time=0x404e583b
> job_time_usec=0xa58bc
> Q=hp
> remotehost=myclient.Colorado.EDU
> remoteport=0x3ff
> size=0
> unixsocket=0x0
> update_time=2004-03-09-16:50:19.680 at 2004-03-09-16:50:19.680 ## A=<NULL> number=0
> pro
> cess=2555
> waiting for subserver to exit at 2004-03-09-16:57:48.102 ## A=<NULL> number=0
> process=2
> 572
> subserver pid 2579 starting at 2004-03-09-16:57:48.102 ## [EMAIL PROTECTED] number
> =834 process=2579
>
> As you can see from the last line, eventually, the job does print
> normally. Any advice on the cause or fix of this temporary failure
> would be greatly appreciated.
>
> Thanks,
> Mark
>
It WAS a logic error. I was checking the wrong value
in src/lpd_rcvjob.c. Try the following patch:
*** common/lpd_rcvjob.c 2004/02/24 19:37:33 1.68
--- common/lpd_rcvjob.c 2004/03/12 18:26:09
***************
*** 358,364 ****
if( filetype == CONTROL_FILE ){
DEBUGF(DRECV2)("Receive_job: receiving new control file, old
job.info.count %d, old files.count %d",
job.info.count, files.count );
! if( job.info.count ){
/* we received another control file, finish this job
up */
if( !discarding_large_job ){
if( Check_for_missing_files(&job, &files,
error, errlen, 0, hold_fd) ){
--- 358,364 ----
if( filetype == CONTROL_FILE ){
DEBUGF(DRECV2)("Receive_job: receiving new control file, old
job.info.count %d, old files.count %d",
job.info.count, files.count );
! if( hold_fd > 0 ){
/* we received another control file, finish this job
up */
if( !discarding_large_job ){
if( Check_for_missing_files(&job, &files,
error, errlen, 0, hold_fd) ){
***************
*** 434,460 ****
DEBUGF(DRECV2)("Receive_job: eof on transfer, job.info.count %d, files.count
%d",
job.info.count, files.count );
! if( !discarding_large_job ){
! if( Check_for_missing_files(&job, &files, error, errlen, 0, hold_fd) ){
! goto error;
! }
! Set_str_value(&job.info,INCOMING_TIME,0);
! } else {
! SNPRINTF( error, errlen)
! _("size %0.3fK exceeds %dK"),
! jobsize/1024, Max_job_size_DYN );
! Set_str_value(&job.info,ERROR,error);
! Set_nz_flag_value(&job.info,ERROR_TIME,time(0));
! Set_str_value(&job.info,INCOMING_TIME,0);
! error[0] = 0;
! if( (status = Set_hold_file( &job, 0, hold_fd )) ){
! SNPRINTF( error,errlen)
! "Error setting up hold file - %s",
! Errormsg( errno ) );
! goto error;
}
- if( Lpq_status_file_DYN ){ unlink(Lpq_status_file_DYN); }
- discarding_large_job = 0;
}
error:
--- 434,462 ----
DEBUGF(DRECV2)("Receive_job: eof on transfer, job.info.count %d, files.count
%d",
job.info.count, files.count );
! if( hold_fd ){
! if( !discarding_large_job ){
! if( Check_for_missing_files(&job, &files, error, errlen, 0,
hold_fd) ){
! goto error;
! }
! Set_str_value(&job.info,INCOMING_TIME,0);
! } else {
! SNPRINTF( error, errlen)
! _("size %0.3fK exceeds %dK"),
! jobsize/1024, Max_job_size_DYN );
! Set_str_value(&job.info,ERROR,error);
! Set_nz_flag_value(&job.info,ERROR_TIME,time(0));
! Set_str_value(&job.info,INCOMING_TIME,0);
! error[0] = 0;
! if( (status = Set_hold_file( &job, 0, hold_fd )) ){
! SNPRINTF( error,errlen)
! "Error setting up hold file - %s",
! Errormsg( errno ) );
! goto error;
! }
! if( Lpq_status_file_DYN ){ unlink(Lpq_status_file_DYN); }
! discarding_large_job = 0;
}
}
error:
--
Patrick Powell Astart Technologies
[EMAIL PROTECTED] 6741 Convoy Court
Network and System San Diego, CA 92111
Consulting 858-874-6543 FAX 858-751-2435
LPRng - Print Spooler (http://www.lprng.com)
-----------------------------------------------------------------------------
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.
-----------------------------------------------------------------------------