Hello!

Thanks for your suggestion. It seems to be some Permission denies in the trace-file that comes below:

------------------------------------------------------
....
....
....
read(15, "\27\3\3\0\340", 5)            = 5
read(15, "R_4\322w\5\231\277S\36\306\374\330\217\320$\306\242\247\264\226\335o\1\355S:\204_\222\312\16"..., 224) = 224
getsockopt(15, SOL_SOCKET, SO_SNDBUF, [2626560], [4]) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
write(15, "\27\3\3\0\220\260\25\323z7S\354\35oE\227\320\255\227\376\331\234\3472\354\241H\23\351\35\0\223"..., 149) = 149 read(15, 0x7f4e5a2bf343, 5) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=15, events=POLLIN}], 1, 300000) = 1 ([{fd=15, revents=POLLIN}])
read(15, "\27\3\3\0\240", 5)            = 5
read(15, "\273g/%\236\276\231\237\224+\343Sw\360\353\274\\,\356\370\211\20L\246\270\337Jb\223A\201 "..., 160) = 160
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
socket(PF_LOCAL, SOCK_STREAM, 0)        = 16
fcntl(16, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(16, F_SETFL, O_RDWR)              = 0
connect(16, {sa_family=AF_LOCAL, sun_path="private/bounce"}, 110) = 0
poll([{fd=16, events=POLLOUT}], 1, 3600000) = 1 ([{fd=16, revents=POLLOUT}])
write(16, "nrequest\0000\0flags\0000\0queue_id\00067C9"..., 469) = 469
poll([{fd=16, events=POLLIN}], 1, 3600000) = 1 ([{fd=16, revents=POLLIN|POLLHUP}])
read(16, 0x7f4e5a2cc180, 4096)          = -1 EACCES (Permission denied)
close(16)                               = 0
socket(PF_LOCAL, SOCK_STREAM, 0)        = 16
fcntl(16, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(16, F_SETFL, O_RDWR)              = 0
connect(16, {sa_family=AF_LOCAL, sun_path="private/defer"}, 110) = 0
poll([{fd=16, events=POLLOUT}], 1, 3600000) = 1 ([{fd=16, revents=POLLOUT}])
write(16, "nrequest\0000\0flags\0000\0queue_id\00067C9"..., 370) = 370
poll([{fd=16, events=POLLIN}], 1, 3600000) = 1 ([{fd=16, revents=POLLIN|POLLHUP}])
read(16, 0x7f4e5a2cc020, 4096)          = -1 EACCES (Permission denied)
close(16)                               = 0
sendto(7, "<20>Feb 14 23:35:37 postfix/smtp"..., 81, MSG_NOSIGNAL, NULL, 0) = 81 sendto(7, "<22>Feb 14 23:35:37 postfix/smtp"..., 204, MSG_NOSIGNAL, NULL, 0) = 204
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
write(15, "\27\3\3\0@\274\263\16I\316\343h\236\343\1\370\25\250}`\205\3110T\300\237uv\246\334\2470"..., 69) = 69 read(15, 0x7f4e5a2bf343, 5) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=15, events=POLLIN}], 1, 20000) = 1 ([{fd=15, revents=POLLIN}])
read(15, "\27\3\3\0P", 5)               = 5
read(15, "\266\2315\33\336\320\233\213\342\177\235\353\0=8?\215`\331\347\224\1\332\262wtS#\223\25-/"..., 80) = 80 write(15, "\25\3\3\0000\222\236\22\327\204D\37i\364\rM\327#\276H\356\346{\263~\200'i\313\374\357\243"..., 53) = 53
read(15, "\25\3\3\0000", 5)             = 5
read(15, "\363\362d\263r\336;\17H\363\300c\236\231%=\360\260\321\263\330\270v\314\6\220>\307\300Q\6j"..., 48) = 48
close(15)                               = 0
poll([{fd=13, events=POLLOUT}], 1, 3600000) = 1 ([{fd=13, revents=POLLOUT}])
write(13, "status\0\0diag_type\0\0diag_text\0\0mt"..., 86) = 86
poll([{fd=13, events=POLLIN}], 1, 3600000) = 1 ([{fd=13, revents=POLLIN|POLLHUP}])
read(13, "", 4096)                      = 0
close(14)                               = 0
close(13)                               = 0
write(5, "\243$\0\0\353\1\0\0\1\0\0\0", 12) = 12
alarm(0)                                = 6000
flock(8, LOCK_EX)                       = 0
alarm(6000)                             = 0
epoll_wait(10, {}, 100, 5000)           = 0
epoll_ctl(10, EPOLL_CTL_DEL, 9, {EPOLLIN, {u32=9, u64=6302269001074475017}}) = 0
close(9)                                = 0
alarm(0)                                = 5995
flock(8, LOCK_EX)                       = 0
alarm(6000)                             = 0
epoll_wait(10, {}, 100, 95000)          = 0
exit_group(0)                           = ?
+++ exited with 0 +++


Quoting Viktor Dukhovni <postfix-us...@dukhovni.org>:

On Sat, Feb 14, 2015 at 03:30:45PM -0500, Wietse Venema wrote:

In conclusion, whatever the problem is, it is not in Postfix.  My
test shows that it works fine in a non-container environment on what
should basically be the same kernel as what you use.

An "strace" of an smtp(8) delivery agent failing to receive the
bounce(8) service reply might shed a bit more light on the kernel
issue.

    http://www.postfix.org/DEBUG_README.html#auto_trace

        master.cf:
            127.0.0.1:52 inet n      -       n       -       -       smtpd
                -o smtpd_client_restrictions=reject
            debug      unix  -       -       n       -       -       smtp -D

        main.cf:
            indexed = ${default_database_type}:${config_directory}/
            transport_maps = ${indexed}transport
            debugger_command =
                 PATH=/bin:/usr/bin:/sbin:/usr/sbin;
                 (strace -p $process_id -o ${queue_directory}/trace.$process_id) 
& sleep 2

        transport:
            debu...@example.net debug:[127.0.0.1]:52

Send a single message to debu...@example.com, and post the resulting
trace file, which will be in the Postfix queue directory.

You can trim off the top of the trace file above the connect to
the bounce socket (/var/spool/postfix/private/bounce).

--
        Viktor.


Reply via email to