Thread: psql segfault

psql segfault

From
John Madden
Date:
Hello,

(posting here, as I'm not sure this is a bug)

I've run into an interesting issue with v7.0.3's psql (connecting to a
7.0.3 backend, of course): while trying to do password auth, the client
segfaults.  It'll connect fine when the db is configured to 'trust' local
connections.

Following the standard "initdb -D ...", "createdb testdb", and
successfully setting the password for user postgres...


strace ./psql testdb -U postgres:
read(0, "test\n", 1024)                 = 5
ioctl(0, SNDCTL_TMR_STOP, {B38400 opost isig icanon echo ...}) = 0
fstat(1, {st_mode=S_IFCHR|0720, st_rdev=makedev(136, 0), ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40015000
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "\n", 1
)                       = 1
brk(0x8070000)                          = 0x8070000
socket(PF_UNIX, SOCK_STREAM, 0)         = 4
fcntl(4, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
connect(4, {sin_family=AF_UNIX, path="/tmp/.s.PGSQL.5432"}, 20) = 0
select(5, [], [4], NULL, NULL)          = 1 (out [4])
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
send(4, "\0\0\1(\0\2\0\0testdb\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 296,
0) = 296
rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
select(5, [4], [], NULL, NULL)          = 1 (in [4])
recv(4, "R\0\0\0\4Bc", 16384, 0)        = 7
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

gdb says:
Program received signal SIGSEGV, Segmentation fault.
0x40019fbe in pg_password_sendauth () from
/usr/local/pgsql/lib/libpq.so.2.1

I haven't ever had a problem with Postgres until today, and I'm quite
stumped with it.  All of my installs are default compiles on Slackware 7.1
boxes, running various 2.2 and 2.4 kernels.  Any thoughts?

Thanks,
  John



# John Madden  weez@avenir.dhs.org ICQ: 2EB9EA
# FreeLists, Free mailing lists for all: http://www.freelists.org
# UNIX Systems Engineer, Ivy Tech State College: http://www.ivy.tec.in.us
# Linux, Apache, Perl and C: All the best things in life are free!


Re: psql segfault

From
Tom Lane
Date:
John Madden <weez@freelists.org> writes:
> I've run into an interesting issue with v7.0.3's psql (connecting to a
> 7.0.3 backend, of course): while trying to do password auth, the client
> segfaults.  It'll connect fine when the db is configured to 'trust' local
> connections.

Hmm.  Maybe some local configuration issue is causing this?  I'm just
guessing, but we haven't heard many reports like this.

Could you recompile libpq and psql with -g, then get a backtrace from
the corefile?

            regards, tom lane