On Fri, Apr 23, 2004 at 08:38:29PM -0400, Alvaro Herrera Munoz wrote: > On Fri, Apr 23, 2004 at 07:00:05PM -0400, Bruce Momjian wrote: > > > > Please recompile with debug symbols and report back the stack trace. > > See the faq on running debug. > > No, I already did that (all my builds are like that anyway and I read > stack traces more frequently than I'd like). The "can't read pathname" > message I don't understand, but I had never seen it.
strace'ing the postmaster suggested me that the dbname string in utils/init/postinit.c, the InitPostgres function, is the culprit. In fact, if I apply the following patch to tcop/postgres.c the whole thing stops happening. I don't know if this is the correct fix, but it may suggest something. Maybe it's a problem with my platform's argv handling (Mandrakelinux 10, kernel 2.6.3, glibc 2.3.3). Index: postgres.c =================================================================== RCS file: /home/alvherre/cvs/pgsql-server/src/backend/tcop/postgres.c,v retrieving revision 1.400 diff -c -r1.400 postgres.c *** postgres.c 19 Apr 2004 17:42:58 -0000 1.400 --- postgres.c 24 Apr 2004 02:20:47 -0000 *************** *** 2686,2692 **** errhint("Try \"%s --help\" for more information.", argv[0]))); } else if (argc - optind == 1) ! dbname = argv[optind]; else if ((dbname = username) == NULL) { ereport(FATAL, --- 2648,2654 ---- errhint("Try \"%s --help\" for more information.", argv[0]))); } else if (argc - optind == 1) ! dbname = pstrdup(argv[optind]); else if ((dbname = username) == NULL) { ereport(FATAL, -- Alvaro Herrera (<[EMAIL PROTECTED]>) "Et put se mouve" (Galileo Galilei) ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend