[Postfixbuch-users] Postfix auf AIX (64-bit)

Andreas Kossack Andreas.Kossack at TU-Cottbus.De
Mo Sep 26 13:39:02 CEST 2005


Hallo Liste,

bei einer unserer Installationen (Postfix 2.2.5, AIX 5.3, vac(pp)-7)
wollten wir das komplette Mail-Environment auf 64-bit umstellen.
Das Einzige, was nach einiger Qual zum Schluss nicht funktionierte,
war
   "<postfix-path>/libexec/cleanup".

Die Aufrufe endeten alle im (normalen) Log-Eintrag
----- begin logfile -----
Sep 26 10:48:01 Merkur mail:info postfix/qmgr[262264]: EEFD619D:
from=<root at TU-Cottbus.De>, size=349, nrcpt=1 (queue active)
Sep 26 10:48:01 Merkur mail:info postfix/error[475370]: EEFD619D:
to=<user at irgendeine_virtuelle_Adresse_die_via_LDAP_aufgeloest_wird>,
relay=none, delay=6, status=bounced (User unknown)
Sep 26 10:48:01 Merkur mail:info postfix/cleanup[217254]: DA6CB19E:
message-id=<20050926114801.DA6CB19E at Merkur.SBone.TU-Cottbus.De>
Sep 26 10:48:01 Merkur mail:info postfix/qmgr[262264]: DA6CB19E: from=<>,
size=2030, nrcpt=1 (queue active)
Sep 26 10:48:01 Merkur mail:info postfix/qmgr[262264]: EEFD619D: removed
Sep 26 10:48:02 Merkur mail:warn|warning postfix/local[540706]: warning:
premature end-of-input on public/cleanup socket while reading input
attribute name
Sep 26 10:48:02 Merkur mail:warn|warning postfix/master[86042]: warning:
process /usr/local/Postfix/libexec/cleanup pid 217254 killed by signal 11
------ end logfile ------

Virtuelle Adressierungen aus Dateien waren dabei nicht betroffen - nur wenn
der LDAP-Server gefragt wurde, kam es zu dem Fehler.

Ein wenig mehr "-v" angeknipst, erzeugte (wie erwartet) viele Eintraege ;-)
Relevant sollte dabei gewesen sein:
----- begin logfile -----
Sep 22 15:48:51 Merkur mail:info postfix/cleanup[475242]: been_here_check:
<user at irgendeine_virtuelle_Adresse_die_via_LDAP_aufgeloest_wird>: 0
Sep 22 15:48:51 Merkur mail:info postfix/cleanup[475242]: dict_ldap_lookup:
In dict_ldap_lookup
Sep 22 15:48:51 Merkur mail:info postfix/cleanup[475242]: dict_ldap_lookup:
No existing connection for LDAP source
/etc/postfix/maps/virtual_address.ldap, reopening
Sep 22 15:48:51 Merkur mail:info postfix/cleanup[475242]: dict_ldap_connect:
Connecting to server ldap://LDAP.TU-Cottbus.De:389
Sep 22 15:48:51 Merkur mail:info postfix/cleanup[475242]: dict_ldap_connect:
Actual Protocol version used is 2.
Sep 22 15:48:51 Merkur mail:info postfix/cleanup[475242]: dict_ldap_connect:
Cached connection handle for LDAP source /etc/postfix/maps/virtual_address.ldap
Sep 22 15:48:51 Merkur mail:info postfix/cleanup[475242]: dict_ldap_lookup:
/etc/postfix/maps/virtual_address.ldap: Searching with filter
(mail=<user at irgendeine_virtuelle_Adresse_die_via_LDAP_aufgeloest_wird>)
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Sep 22 15:48:51 Merkur mail:info postfix/cleanup[475242]:
dict_ldap_get_values[1]: Search found 1 match(es)
Sep 22 15:48:51 Merkur mail:warn|warning postfix/pickup[483434]: warning:
premature end-of-input on public/cleanup socket while reading input
attribute name
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 22 15:48:51 Merkur mail:warn|warning postfix/master[426216]: warning:
process /usr/local/Postfix/libexec/cleanup pid 475242 killed by signal 11
Sep 22 15:48:51 Merkur mail:warn|warning postfix/master[426216]: warning:
/usr/local/Postfix/libexec/cleanup: bad command startup -- throttling
------ end logfile ------

Eigentlich sollte der Abfrage-Teil so aussehen:
----- begin logfile -----
Sep 23 07:49:47 Merkur mail:info postfix/cleanup[205036]:
dict_ldap_get_values[1]: Search found 1 match(es)
Sep 23 07:49:47 Merkur mail:info postfix/cleanup[205036]:
dict_ldap_get_values[1]: search returned 1 value(s) for requested result
attribute uid
Sep 23 07:49:47 Merkur mail:info postfix/cleanup[205036]:
dict_ldap_get_values[1]: Leaving dict_ldap_get_values
Sep 23 07:49:47 Merkur mail:info postfix/cleanup[205036]: dict_ldap_lookup:
Search returned user at TU-Cottbus.De
Sep 23 07:49:47 Merkur mail:info postfix/cleanup[205036]: maps_find:
virtual_alias_maps: ldap:/etc/postfix/maps/virtual_address.ldap(0,100):
user at irgendeine_virtuelle_Adresse_die_via_LDAP_aufgeloest_wird =
user at TU-Cottbus.De
------ end logfile ------

Ein wenig in den Quellen geschnueffelt zeigt, dass die BerkeleyDB der
Uebeltaeter sein koennte, aber auch deren 64-bit-Installation hatten wir mit
"--disable-largefile" uebersetzt, was bei anderen 32-bit Installationen
sowieso schon immer noetig war.

Ach ja,
"postmap -q" Aufrufe funktionieren auch nicht, da gibt's ein
"Memory fault(coredump)", es sind ja auch sicherlich die gleichen
Bibliotheks-Funktionen.

Ein Blick da hinein zeigt:
----- begin gdbfile -----
warning: core file may not match specified executable file.
Program terminated with signal 11, Segmentation fault.
#0  0x00000001001f0937 in mkmap_db_after_open_7_2 ()
Cannot access memory at address 0x110069350
------ end logfile ------

Nun die Frage, ob vielleicht irgendjemand schon ueber ein aehnliches
Problem gestolpert ist, oder ob vielleicht irgendetwas im Code (von
BerkeleyDB oder Postfix) nicht komplett 64-bit faehig ist.
Generell muesste es jedoch eigentlich funktionieren, da bsp. die
"x86_64"-Ports auf unseren AMD-Rechnern laufen. Dort sind allerdings
alle Bibliotheken "-X32_64" zusammengebaut (und nicht "-X64").

Happy mailing ;-)
	Andreas



Mehr Informationen über die Mailingliste Postfixbuch-users