[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#3156: lpr and smail uuname returned -1



Package: lpr
Version: 5.9-6


[as of debian-0.93R6 and linux-1.2.13 ]

Description:
------------

While using lpr with its -m option (send mail on completion) I often got
the smail error:

        ... router uuname returned with return code _EX-1 (or similar)

This occured for one user having a .forward:

        \happ, happ@jang.lotte.sax.de

The machine printing and sending mail is muli.lotte.sax.de, jang is it's
uucp neighbor.

The delivery of the completion message succeeds for the local user happ,
the delivery for the remote happ@jang fails with the above error.


Possible Bug:
-------------

In /usr/sbin/lpd:

        lpr-5.9-6/lp/printjob.c

forks and exec's /usr/sbin/sendmail and pipes the mail to the newly
created process.  After closing the pipe the parent (lpd) does a
wait(2).

/usr/sbin/sendmail alias /usr/sbin/smail calls /usr/bin/uuname to get
its uucp neighbors.  uuname exits gracefully (!), generating a SIGCHLD.
This signal passes smail up to lpd.  The wait(2) call succeeds, lpd
thinks, the job is done and ... kills some childs (?) <--- This I didn't
verify ... At least is seems, that the running smail gets killed or
disturbed.


Possible Solution:
------------------

In lpr-5.9-6/lp/printjob.c

around line 1001:  change wait(&s) into waitpid(s, NULL, 0).


[ A CC is sent to the maintainer, <tobias@et-inf.fho-emden.de>. ]

.. some time later ...

HMMM, it didn't fixed the bug.   Any comments?

Heiko
public pgp : finger heiko@sax.sax.de
fingerprint: A1 7D F6 7B 69 73 48 35  E1 DE 21 A7 A8 9A 77 92


Reply to: