Hi people,

I've noticed smtpd's deliver_maildir getting killed on syscall 15
(chmod) with the latest snapshot. I've rebuilt and core dumped it as
described by Sebastien and this is the backtrace I got:

#0  0x00001d7e8175149a in chmod () at <stdin>:2
#1  0x00001d7c72744ffe in mkdirs (path=0x7f7ffffdd0d0 "/home/gbe/Maildir", 
mode=448)
    at /usr/src/usr.sbin/smtpd/smtpd/../util.c:223
#2  0x00001d7c727471d0 in delivery_maildir_open
    (deliver=0x7f7ffffdd0d0) at 
/usr/src/usr.sbin/smtpd/smtpd/../delivery_maildir.c:99
#3  0x00001d7c7273dd1e in parent_imsg (p=0x1d7e87f6a000,
    imsg=Variable "imsg" is not available.)
    at /usr/src/usr.sbin/smtpd/smtpd/../smtpd.c:1003
#4  0x00001d7c7273afeb in imsg_dispatch (p=0x1d7e87f6a000,
    imsg=0x7f7ffffdf270)
    at /usr/src/usr.sbin/smtpd/smtpd/../smtpd.c:1283
#5  0x00001d7c7271ed3c in mproc_dispatch (fd=Variable
    "fd" is not available.
    ) at /usr/src/usr.sbin/smtpd/smtpd/../mproc.c:213
#6  0x00001d7ec1d22008 in event_base_loop
    (base=0x1d7ee286d800, flags=Variable "flags" is not
    available.) at /usr/src/lib/libevent/event.c:350
#7  0x00001d7c7273bf64 in main (argc=Variable "argc"
    is not available.) at /usr/src/usr.sbin/smtpd/smtpd/../smtpd.c:697

smtpd's output looks like this when this happens:
[... noise omitted ...]
delivery: TempFail for 361bd1ee4342b3f8: from=<g...@charm.unobtanium.de>,
to=<r...@unobtanium.de>, user=gbe, method=maildir, delay=0s, stat=Error
(terminated; signal 6)
debug: mda: session 757ea75d406dfe65 done
[... noise omitted ...]
(this is with "abort" added to all pledges)

The weird thing is that as far as I can see the process handling the
delivery seems to correctly pledge wpath. If I remove the pledge from
smtpd.c, line 693, everything works fine.

Any hints on how to debug this further? I can provide core files if
needed.

-- 
        Gregor

Reply via email to