Обсуждение: initdb causes Segmentation fault
I'm running ubuntu 8.04 on a Linux 2.6.24-22-generic #1 SMP Mon Nov 24 19:35:06 UTC 2008 x86_64 GNU/Linux machine. there was same porblem with preinstalation of progres and superuser. So I tried to solve it by reinstall postgres 8.3 with apt-get after removing it with sudo apt-get --purge remove $(aptitude search postgres|awk '/^i/{gsub(/^i.../,"");print}'|awk '{print $1}') but results in segmentation fault when it comes to call initdb. I downloaded PostgreSQL 8.3.6 single click installer which had also problems with initialization. So I downloaded the source of PostgreSQL 8.3.6 and compiled and installed it. But again when I have to run /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data it ends with Segmentation fault. output of strace: 12050 --- SIGCHLD (Child exited) @ 0 (0) --- 12050 munmap(0x7f062d3d7000, 4096) = 0 12050 geteuid() = 1000 12050 open("/etc/passwd", O_RDONLY|0x80000 /* O_??? */) = -1 EACCES (Permission denied) 12050 geteuid() = 1000 12050 --- SIGSEGV (Segmentation fault) @ 0 (0) --- 12050 +++ killed by SIGSEGV +++ thx in advance, Haluk
On Monday 16 February 2009 01:34:07 Haluk Durmus wrote: > I'm running ubuntu 8.04 on > > a Linux 2.6.24-22-generic #1 SMP Mon Nov 24 19:35:06 UTC 2008 x86_64 > GNU/Linux machine. > > there was same porblem with preinstalation of progres and superuser. > So I tried to solve it by reinstall postgres 8.3 with apt-get after > removing it with sudo apt-get --purge remove $(aptitude search postgres|awk > '/^i/{gsub(/^i.../,"");print}'|awk '{print $1}') > > but results in segmentation fault when it comes to call initdb. > > I downloaded PostgreSQL 8.3.6 single click installer which had also > problems with initialization. > > So I downloaded the source of PostgreSQL 8.3.6 and compiled and installed > it. But again when I have to run > > /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data > > it ends with Segmentation fault. > > output of strace: > > 12050 --- SIGCHLD (Child exited) @ 0 (0) --- > 12050 munmap(0x7f062d3d7000, 4096) = 0 > 12050 geteuid() = 1000 > 12050 open("/etc/passwd", O_RDONLY|0x80000 /* O_??? */) = -1 EACCES > (Permission denied) 12050 geteuid() = 1000 > 12050 --- SIGSEGV (Segmentation fault) @ 0 (0) --- > 12050 +++ killed by SIGSEGV +++ Are you using selinux or some another security framework? Also, check /etc/passwd permissions, it should be something like -rw-r--r-- -- Vladimir Rusinov http://greenmice.info/
Thank you very very much Vladimir, I was just starting to port my db to mysql. You saved me and our project :) > Also, check /etc/passwd permissions, it should be something like -rw-r--r-- My permissions of /etc/passwd was set to -rw------- I changed it to -rw-r--r-- and initdb works now smoothly :) best regards, Haluk