BUG #14490: psql and createdb crash with SIGSEGV
The following bug has been logged on the website:
Bug reference: 14490
Logged by: Marcel Ruff
Email address: mr@marcelruff.info
PostgreSQL version: 9.6.1
Operating system: Debian GNU/Linux 8 (jessie) 3.18.44 x86_64
Description:
psql --version
psql (PostgreSQL) 9.6.1
psql
Speicherzugriffsfehler
ldd /usr/local/pgsql/bin/psql
linux-vdso.so.1 (0x00007ffeaf3ba000)
libpq.so.5 => /usr/local/pgsql/lib/libpq.so.5 (0x00007f0d74ba8000)
libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6
(0x00007f0d74958000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0d74650000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0d742a0000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f0d74080000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
(0x00007f0d73e50000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0d74dd8000)
strace pqsl
...
connect(3, {sa_family=AF_LOCAL, sun_path="/tmp/.s.PGSQL.5432"}, 110) = 0
getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
getsockname(3, {sa_family=AF_LOCAL, NULL}, [2]) = 0
poll([{fd=3, events=POLLOUT|POLLERR}], 1, 4294967295) = 1 ([{fd=3,
revents=POLLOUT}])
sendto(3, "\0\0\0R\0\3\0\0user\0watchee\0database\0wa"..., 82, MSG_NOSIGNAL,
NULL, 0) = 82
poll([{fd=3, events=POLLIN|POLLERR}], 1, 4294967295) = 1 ([{fd=3,
revents=POLLIN}])
recvfrom(3, "R\0\0\0\10\0\0\0\0E\0\0\0\\SFATAL\0VFATAL\0C3D0"..., 16384, 0,
NULL, NULL) = 102
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV +++
createdb xxxx
crashes with SIGSEGV as well
Compiled with
./configure --with-pam --with-libxml --with-libxslt
Thank you
Marcel
Note: The server has no DNS setup
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
On Wed, Jan 11, 2017 at 5:29 AM, <mr@marcelruff.info> wrote:
Bug reference: 14490
Logged by: Marcel Ruff
Email address: mr@marcelruff.info
PostgreSQL version: 9.6.1
Operating system: Debian GNU/Linux 8 (jessie) 3.18.44 x86_64
Description:psql --version
psql (PostgreSQL) 9.6.1strace pqsl ... connect(3, {sa_family=AF_LOCAL, sun_path="/tmp/.s.PGSQL.5432"}, 110) = 0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 getsockname(3, {sa_family=AF_LOCAL, NULL}, [2]) = 0 poll([{fd=3, events=POLLOUT|POLLERR}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) sendto(3, "\0\0\0R\0\3\0\0user\0watchee\0database\0wa"..., 82, MSG_NOSIGNAL, NULL, 0) = 82 poll([{fd=3, events=POLLIN|POLLERR}], 1, 4294967295) = 1 ([{fd=3, revents=POLLIN}]) recvfrom(3, "R\0\0\0\10\0\0\0\0E\0\0\0\\SFATAL\0VFATAL\0C3D0"..., 16384, 0, NULL, NULL) = 102 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} --- +++ killed by SIGSEGV +++createdb xxxx
crashes with SIGSEGV as well
This is strange. No buildfarm machines complain about a similar
behavior... Nor do my dev environments say something.
--
Michael
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
Michael Paquier wrote:
On Wed, Jan 11, 2017 at 5:29 AM, <mr@marcelruff.info> wrote:
Bug reference: 14490
Logged by: Marcel Ruff
Email address: mr@marcelruff.info
PostgreSQL version: 9.6.1
Operating system: Debian GNU/Linux 8 (jessie) 3.18.44 x86_64
Description:psql --version
psql (PostgreSQL) 9.6.1strace pqsl
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} --- +++ killed by SIGSEGV +++createdb xxxx
crashes with SIGSEGV as wellThis is strange. No buildfarm machines complain about a similar
behavior... Nor do my dev environments say something.
We need to see a stack trace to be able to say anything.
--
�lvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
Does this help?
valgrind psql
==977== Memcheck, a memory error detector
==977== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==977== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==977== Command: psql
==977==
==977== Invalid write of size 1
==977== at 0x4E4DF3C: resetPQExpBuffer (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44921: pqPrepareAsyncResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44B4D: PQgetResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E40877: PQconnectPoll (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E4110D: connectDBComplete (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E418EE: PQconnectdbParams (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x405377: main (in /usr/local/pgsql/bin/psql)
==977== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==977==
==977==
==977== Process terminating with default action of signal 11 (SIGSEGV)
==977== Access not within mapped region at address 0x0
==977== at 0x4E4DF3C: resetPQExpBuffer (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44921: pqPrepareAsyncResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44B4D: PQgetResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E40877: PQconnectPoll (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E4110D: connectDBComplete (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E418EE: PQconnectdbParams (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x405377: main (in /usr/local/pgsql/bin/psql)
==977== If you believe this happened as a result of a stack
==977== overflow in your program's main thread (unlikely but
==977== possible), you can try to increase the size of the
==977== main thread stack using the --main-stacksize= flag.
==977== The main thread stack size used in this run was 8388608.
==977==
==977== HEAP SUMMARY:
==977== in use at exit: 38,140 bytes in 71 blocks
==977== total heap usage: 185 allocs, 114 frees, 53,697 bytes allocated
==977==
==977== LEAK SUMMARY:
==977== definitely lost: 34 bytes in 1 blocks
==977== indirectly lost: 0 bytes in 0 blocks
==977== possibly lost: 0 bytes in 0 blocks
==977== still reachable: 38,106 bytes in 70 blocks
==977== suppressed: 0 bytes in 0 blocks
==977== Rerun with --leak-check=full to see details of leaked memory
==977==
==977== For counts of detected and suppressed errors, rerun with: -v
==977== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Speicherzugriffsfehler
I will now recompile everything,
thank you
Marcel
On 11.01.2017 03:06, Alvaro Herrera wrote:
Michael Paquier wrote:
On Wed, Jan 11, 2017 at 5:29 AM, <mr@marcelruff.info> wrote:
Bug reference: 14490
Logged by: Marcel Ruff
Email address: mr@marcelruff.info
PostgreSQL version: 9.6.1
Operating system: Debian GNU/Linux 8 (jessie) 3.18.44 x86_64
Description:psql --version
psql (PostgreSQL) 9.6.1strace pqsl --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} --- +++ killed by SIGSEGV +++createdb xxxx
crashes with SIGSEGV as wellThis is strange. No buildfarm machines complain about a similar
behavior... Nor do my dev environments say something.We need to see a stack trace to be able to say anything.
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
On Wed, Jan 11, 2017 at 4:59 PM, Marcel Ruff <mr@marcelruff.info> wrote:
Does this help?
valgrind psql
==977== Memcheck, a memory error detector
==977== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==977== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==977== Command: psql
==977==
==977== Invalid write of size 1
==977== at 0x4E4DF3C: resetPQExpBuffer (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44921: pqPrepareAsyncResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44B4D: PQgetResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E40877: PQconnectPoll (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E4110D: connectDBComplete (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E418EE: PQconnectdbParams (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x405377: main (in /usr/local/pgsql/bin/psql)
==977== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==977==
==977==
==977== Process terminating with default action of signal 11 (SIGSEGV)
==977== Access not within mapped region at address 0x0
==977== at 0x4E4DF3C: resetPQExpBuffer (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44921: pqPrepareAsyncResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44B4D: PQgetResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E40877: PQconnectPoll (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E4110D: connectDBComplete (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E418EE: PQconnectdbParams (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x405377: main (in /usr/local/pgsql/bin/psql)
==977== If you believe this happened as a result of a stack
==977== overflow in your program's main thread (unlikely but
==977== possible), you can try to increase the size of the
==977== main thread stack using the --main-stacksize= flag.
==977== The main thread stack size used in this run was 8388608.
==977==
==977== HEAP SUMMARY:
==977== in use at exit: 38,140 bytes in 71 blocks
==977== total heap usage: 185 allocs, 114 frees, 53,697 bytes allocated
==977==
==977== LEAK SUMMARY:
==977== definitely lost: 34 bytes in 1 blocks
==977== indirectly lost: 0 bytes in 0 blocks
==977== possibly lost: 0 bytes in 0 blocks
==977== still reachable: 38,106 bytes in 70 blocks
==977== suppressed: 0 bytes in 0 blocks
==977== Rerun with --leak-check=full to see details of leaked memory
==977==
==977== For counts of detected and suppressed errors, rerun with: -v
==977== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
SpeicherzugriffsfehlerI will now recompile everything,
Could you take a backtrace with gdb and "bt" for example?
--
Michael
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
I have compiled 9.6.1 completely again and the bug is gone.
thank you for taking care,
Marcel
On 11.01.2017 09:04, Michael Paquier wrote:
On Wed, Jan 11, 2017 at 4:59 PM, Marcel Ruff <mr@marcelruff.info> wrote:
Does this help?
valgrind psql
==977== Memcheck, a memory error detector
==977== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==977== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==977== Command: psql
==977==
==977== Invalid write of size 1
==977== at 0x4E4DF3C: resetPQExpBuffer (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44921: pqPrepareAsyncResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44B4D: PQgetResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E40877: PQconnectPoll (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E4110D: connectDBComplete (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E418EE: PQconnectdbParams (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x405377: main (in /usr/local/pgsql/bin/psql)
==977== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==977==
==977==
==977== Process terminating with default action of signal 11 (SIGSEGV)
==977== Access not within mapped region at address 0x0
==977== at 0x4E4DF3C: resetPQExpBuffer (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44921: pqPrepareAsyncResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E44B4D: PQgetResult (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E40877: PQconnectPoll (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E4110D: connectDBComplete (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x4E418EE: PQconnectdbParams (in /usr/local/pgsql/lib/libpq.so.5.9)
==977== by 0x405377: main (in /usr/local/pgsql/bin/psql)
==977== If you believe this happened as a result of a stack
==977== overflow in your program's main thread (unlikely but
==977== possible), you can try to increase the size of the
==977== main thread stack using the --main-stacksize= flag.
==977== The main thread stack size used in this run was 8388608.
==977==
==977== HEAP SUMMARY:
==977== in use at exit: 38,140 bytes in 71 blocks
==977== total heap usage: 185 allocs, 114 frees, 53,697 bytes allocated
==977==
==977== LEAK SUMMARY:
==977== definitely lost: 34 bytes in 1 blocks
==977== indirectly lost: 0 bytes in 0 blocks
==977== possibly lost: 0 bytes in 0 blocks
==977== still reachable: 38,106 bytes in 70 blocks
==977== suppressed: 0 bytes in 0 blocks
==977== Rerun with --leak-check=full to see details of leaked memory
==977==
==977== For counts of detected and suppressed errors, rerun with: -v
==977== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
SpeicherzugriffsfehlerI will now recompile everything,
Could you take a backtrace with gdb and "bt" for example?
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
Marcel Ruff wrote:
I have compiled 9.6.1 completely again and the bug is gone.
I suppose you may have had a partial rebuild -- i.e. you built once,
then updated the source tree and rebuilt, but not all files were
correctly rebuilt. Since you seem to be compiling from source, maybe
you are missing --enable-depend to configure.
IMO we should enable that flag by default.
--
�lvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
I have added " --enable-depend" as default,
thank you
Marcel
On 11.01.2017 14:19, Alvaro Herrera wrote:
Marcel Ruff wrote:
I have compiled 9.6.1 completely again and the bug is gone.
I suppose you may have had a partial rebuild -- i.e. you built once,
then updated the source tree and rebuilt, but not all files were
correctly rebuilt. Since you seem to be compiling from source, maybe
you are missing --enable-depend to configure.IMO we should enable that flag by default.
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs