Ofer Inbar:
> Postfix 2.2, CentOS 4 (yes, I want to upgrade; can't for now).

Perhaps you should upgrade.

> # strace -p 31741
> Process 31741 attached - interrupt to quit
> futex(0x2a96b46930, FUTEX_WAIT, 2, NULL ^C<unfinished ...>

Postfix does not manipulate futexes. The word futex appears
nowhere in Postfix source code.

However, there's a mutex deadlock in the LINUX C library when a
Postfix < 2.4 watchdog timer goes off and syslog()s a warning
message; the watchdog timer goes off when a Postfix < 2.4 qmgr
defers massive amounts of mail because of a dead transport or
nexthop.

When it is not deadlocked inside the LINUX C library, Postfix
qmgr waits in select(2) for one of the following:
- Notice from cleanup server that there's new incoming mail
- Notice from delivery agent that it is ready to deliver mail
- Notice from delivery agent that it is done delivering mail
- Notice from event timer to re-activate a dead nexthop
- Notice from event timer to re-activate a dead transport
- Notice from event timer to scan the deferred/incoming queue

The watchdog timer uses alarm() and signal().

        Wietse

Reply via email to