Обсуждение: [BUGS] 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.1
>
> 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
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.1
> >
> > strace pqsl
> > --- 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.
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.1
>>>
>>> strace pqsl
>>> --- 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.
> 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) > Speicherzugriffsfehler > > I 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) >> Speicherzugriffsfehler >> >> I 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