[Samba] Fwd: "Make_passthrough: pid XXXX, dup2(6, 0) failed" with LPRNG 3.8.C and Samba 4.3.8 on FreeBSD

Benedikt Hochstrasser tictactux at gmail.com
Sat Jun 25 11:59:37 UTC 2016


(FreeBSD 10.3-RELEASE-p4 i386, Lprng 3.8.C and Samba 4.3.8 installed via
pkg())

I have set up a PDF converter queue that converts PS input to PDF and puts
it on its website. Recently I had samba join the AD domain here, and ever
since my pdf converter fails.

Upon much trial, error and debugging I found out that when I start the
Lprng service BEFORE the Samba service, everything is working. However, the
default startup sequence is Samba first, then Lprng (due to dependencies).

More debugging revealed that the problem is the input filter spawning fails
(ie even a dummy filter that only touches "/tmp/hello" is not executed).

In the Log, I get entries like

2016-06-25-12:39:16.710 wagi-util [4827] (Server)  pdf: Trim_status_file: '
status.pr' max 10, min 0, size 6197
2016-06-25-12:39:16.710 wagi-util [4827] (Server)  pdf: Wait_for_subserver:
pid_to_wait_for -1, flags 1
*Make_passthrough: pid 4829, dup2(6,0) failed*2016-06-25-12:39:16.712
wagi-util [4828] (Worker - Print)  pdf: Wait_for_pid: returning 'JFAIL',
exit status 'exit status 32 (JFAIL)'
2016-06-25-12:39:16.712 wagi-util [4828] (Worker - Print)  pdf: setstatus:
msg 'IF filter 'pdflpd' filter exit status 'JFAIL''
2016-06-25-12:39:16.712 wagi-util [4828] (Worker - Print)  pdf: setstatus:
msg 'printing finished'

The spurious "Make_passthrough" statement looks as if it weren't written by
the normal logging routine but rather was spit out by some other routine.

I have a hunch that samba somehow sits on a file or a process that becomes
unavailable for Lprng, UNLESS Lprng is started before samba.

I disabled printing in samba, gave it a completely unrelated printcap file,
disabled spoolss etc, all to no avail.

Of course, setting up a vanilla FreeBSD in Virtualbox and just installing
Lprng and Samba worked fine in either start sequence, but then I haven't
joined it to a domain nor am I using a modified nsswitch.conf and other
settings that are used in a domain context.

I now have the workaround of stopping both services and starting them in
the correct sequence, but it still bugs me.

Any idea where to look next?

/etc/printcap:
.common:
   :sd=/var/spool/lpd/%P
   :lf=log
   :max_log_file_size=256
   :done_status=0
   :sh:mx=0:mc=0
pdf:tc=.common:lp=/dev/null:filter=/usr/local/libexec/filters/pdflpd:

/usr/local/etc/smb4.conf
[global]
   workgroup = MYDOMAIN
   netbios name = MYNAME
   security = ads
   realm = MYDOMAIN.MYCOMPANY.COM
   encrypt passwords = yes
   password server = 10.65.10.220
   wins server = 10.65.10.220
   client ldap sasl wrapping = plain
   idmap config * : backend = tdb
   idmap config * : range = 2000-9999
   idmap config DPRDOM : backend = rid
   idmap config DORDOM : range = 10000-29999
   winbind enum users = yes
   winbind enum groups = yes
   winbind nested groups = yes
   dos charset = CP850
   unix charset = UTF8
   restrict anonymous = 2
   server string = "Utility Server"
   load printers = No
   printing = bsd
   printcap name = /usr/local/etc/samba-printcap
   disable spoolss = Yes
   local master = no
   smb ports = 445
   map to guest = Bad User
   read raw = Yes
   write raw = Yes
   max xmit = 65535
   socket options = TCP_NODELAY IPTOS_LOWDELAY
   use sendfile = true
   vfs objects = acl_xattr
   map acl inherit = Yes
   store dos attributes = Yes
   oplocks = Yes


Stumped in Zurich

-- 
Ben


More information about the samba mailing list