Vincent, 1) I am having the exact same problem: I cannot even do a CREATEDB in 8.0.2 on AIX5.3
2) You sent your mail to the PG lists, but not to IBM, possibly? 3) If you think it will help, I can call support as well. If you get ANY word on this, whether a fix, a tweak, or a workaround, please Please PLEASE post to the list rapidly. We're dead in the water on this and the IT environment around here is such that if I can't get PG working on AIX, it'll be marked for death. And I really wanted to start using PG around here. Thanks!!!!! -- Ross Mohan -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Vincent Vanwynsberghe Sent: Tuesday, May 10, 2005 4:08 AM To: [EMAIL PROTECTED]; pgsql-bugs@postgresql.org Subject: [PORTS] Bug Report with Postgres 7.4 on AIX 5.3 Dear Support, We try to install Postgres 7.4 on AIX 5.3 (IBM,9111-520). The compilation is good and we are able to start the postmaster. When we try to start the psql we got the following error : FATAL: unsupported frontend protocol 0.0: server supports 1.0 to 3.0 We run the psql under the AIX debugger dbx and our conclusions are the following : In the file fe-connect.c we try to copy a area of 1025 in the conn->raddr.addr area but the size of that area is only 144. The result is a corruption of the pg_conn structure +1175 /* Remember current address for possible error msg */ +1176 memcpy(&conn->raddr.addr, addr_cur->ai_addr, +1177 addr_cur->ai_addrlen); The addr_cur->ai_addrlen is set with the sizeof(struct sockaddr_un) in the file ip.c. In the file libpq-int.h the structure pg_conn contains 2 fields SockAddr * PGconn stores all the state data associated with a single connection * to a backend. */ struct pg_conn { ... SockAddr laddr; /* Local address */ SockAddr raddr; ... } The structure SockAddr is defined in the file pqcomm.h typedef struct { struct sockaddr_storage addr; ACCEPT_TYPE_ARG3 salen; } SockAddr; On Our AIX 5.3 the sockaddr_un is defined in the file /usr/include/sys/un.h #if defined(COMPAT_43) && !defined(_KERNEL) struct sockaddr_un { ushort_t sun_family; /* AF_UNIX */ char sun_path[PATH_MAX]; /* changed from 104 to PATH_MAX to support long user names */ }; #else struct sockaddr_un { uchar_t sun_len; /* sockaddr len including null */ sa_family_t sun_family; /* AF_UNIX */ char sun_path[PATH_MAX]; /* changed from 104 to PATH_MAX to support long user names */ }; #endif /* COMPAT_43 && !_KERNEL */ PATH_MAX is defined in the file /usr/include/sys/limits.h #if _POSIX_C_SOURCE >= 200112L && !(defined _ALL_SOURCE) || defined(_PATHMAX_HAS_NULL) #define PATH_MAX 1024 /* max number of bytes in a pathname. includes a terminating null */ #else #define PATH_MAX 1023 #endif In our platform the sizeof of struct sockaddr_un is 1025 and the sizeof of SockAddr is 144. In conclusion the instructions done in the function PQconnectPoll cause a memory overflow !!! +1175 /* Remember current address for possible error msg */ +1176 memcpy(&conn->raddr.addr, addr_cur->ai_addr, +1177 addr_cur->ai_addrlen); Are you aware about this problem ? Could you give us a way to solve the problem ? Kind Regards, Vincent Vanwynsberghe ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]