Thread: Psql malloc error on Git master

Psql malloc error on Git master

From
Thom Brown
Date:
Using 9.1devel as of yesterday's Git branch master, I'm getting an
error in psql when attempting to tab-complete a system tab.

Steps to recreate:

1) From terminal, run "psql postgres" to connect to the postgres
database as the current user.
2a) Type: \d pg_o
2b) OR type: \d pg_op
3) Press TAB to auto-complete

Result:

postgres=# \d pg_opsql(29265) malloc: *** error for object 0x5:
pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap

I haven't been able to cause this error to happen with any other
prefix.  Using pg_opc then TAB does not cause this to occur, neither
does pg_ then TAB.  I have also tested this on 64-bit versions of
PostgreSQL 8.4.4 and 9.0.1, and it doesn't occur on those versions.

System info:

OS: Mac OSX 10.6.5
Kernel: Darwin 10.5.0
Arch: 64-bit kernel and extensions enabled
Processor: Intel Core i5 2.53 Ghz
Memory: 2x2GB DDR3 @ 1066Mhz

Built with GNU Make 3.81
GCC version: i686-apple-darwin10-gcc-4.2.1

If required, I can provide the configure output.

--
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935

Re: Psql malloc error on Git master

From
Alvaro Herrera
Date:
Excerpts from Thom Brown's message of jue ene 20 16:36:10 -0300 2011:
> Using 9.1devel as of yesterday's Git branch master, I'm getting an
> error in psql when attempting to tab-complete a system tab.
>
> Steps to recreate:
>
> 1) From terminal, run "psql postgres" to connect to the postgres
> database as the current user.
> 2a) Type: \d pg_o
> 2b) OR type: \d pg_op
> 3) Press TAB to auto-complete

I can't reproduce it here (but this is 64bit).  Did you try "make
distclean"?

If you can still reproduce it after that, please try "git bisect" to
find the problem commit.

--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: Psql malloc error on Git master

From
Tom Lane
Date:
Thom Brown <thom@linux.com> writes:
> postgres=# \d pg_opsql(29265) malloc: *** error for object 0x5:
> pointer being freed was not allocated
> *** set a breakpoint in malloc_error_break to debug
> Abort trap

> System info:
> OS: Mac OSX 10.6.5

Known bug in OSX's libedit.  Use readline instead.

http://archives.postgresql.org/pgsql-bugs/2010-04/msg00127.php

            regards, tom lane

Re: Psql malloc error on Git master

From
Thom Brown
Date:
On 20 January 2011 21:44, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thom Brown <thom@linux.com> writes:
>> postgres=3D# \d pg_opsql(29265) malloc: *** error for object 0x5:
>> pointer being freed was not allocated
>> *** set a breakpoint in malloc_error_break to debug
>> Abort trap
>
>> System info:
>> OS: Mac OSX 10.6.5
>
> Known bug in OSX's libedit. =A0Use readline instead.
>
> http://archives.postgresql.org/pgsql-bugs/2010-04/msg00127.php
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0regards, tom lane

How do I force readline?  I'm not using --with-libedit-preferred or
--without-readline

--=20
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935

Re: Psql malloc error on Git master

From
Tom Lane
Date:
Thom Brown <thom@linux.com> writes:
> On 20 January 2011 21:44, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Known bug in OSX's libedit.  Use readline instead.

> How do I force readline?  I'm not using --with-libedit-preferred or
> --without-readline

Do you have it installed?

You may need to fool with the link path to ensure that you link to
a real readline and not /usr/lib/libreadline.dylib (which is just
an alias for libedit).

            regards, tom lane

Re: Psql malloc error on Git master

From
Bernd Helmle
Date:
--On 20. Januar 2011 21:56:44 +0000 Thom Brown <thom@linux.com> wrote:

>> Known bug in OSX's libedit. =C2=A0Use readline instead.
>>
>> http://archives.postgresql.org/pgsql-bugs/2010-04/msg00127.php
>>
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0regards, tom lane
>
> How do I force readline?  I'm not using --with-libedit-preferred or
> --without-readline

What I've done is to switch to MacPorts[1] and use their packaging. I'm=20
building PostgreSQL then with:

--with-libraries=3D/opt/local/lib --with-includes=3D/opt/local/include

which for example links psql/libreadline with:

% otool -L $PGSQL_HOME/bin/psql
/Users/bernd/pgsql-dev/install/HEAD/bin/psql:
    /Users/bernd/pgsql-dev/install/HEAD/lib/libpq.5.dylib (compatibility=20
version 5.0.0, current version 5.4.0)
    /opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current=20
version 10.1.0)
    /opt/local/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current=20
version 1.0.0)
    /opt/local/lib/libreadline.6.1.dylib (compatibility version 6.0.0, current=
=20
version 6.1.0)

Works quite well for me. There's also a libedit in MacPorts, but i've never=
=20
used it.

        Bernd

[1] <http://www.macports.org/>

Re: Psql malloc error on Git master

From
Thom Brown
Date:
On 21 January 2011 14:55, Bernd Helmle <mailings@oopsware.de> wrote:
>
>
> --On 20. Januar 2011 21:56:44 +0000 Thom Brown <thom@linux.com> wrote:
>
>>> Known bug in OSX's libedit. =A0Use readline instead.
>>>
>>> http://archives.postgresql.org/pgsql-bugs/2010-04/msg00127.php
>>>
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0regards, tom lane
>>
>> How do I force readline? =A0I'm not using --with-libedit-preferred or
>> --without-readline
>
> What I've done is to switch to MacPorts[1] and use their packaging. I'm
> building PostgreSQL then with:
>
> --with-libraries=3D/opt/local/lib --with-includes=3D/opt/local/include
>
> which for example links psql/libreadline with:
>
> % otool -L $PGSQL_HOME/bin/psql
> /Users/bernd/pgsql-dev/install/HEAD/bin/psql:
> =A0 =A0 =A0 =A0/Users/bernd/pgsql-dev/install/HEAD/lib/libpq.5.dylib (com=
patibility
> version 5.0.0, current version 5.4.0)
> =A0 =A0 =A0 =A0/opt/local/lib/libintl.8.dylib (compatibility version 10.0=
.0, current
> version 10.1.0)
> =A0 =A0 =A0 =A0/opt/local/lib/libssl.1.0.0.dylib (compatibility version 1=
.0.0,
> current version 1.0.0)
> =A0 =A0 =A0 =A0/opt/local/lib/libreadline.6.1.dylib (compatibility versio=
n 6.0.0,
> current version 6.1.0)
>
> Works quite well for me. There's also a libedit in MacPorts, but i've nev=
er
> used it.
>
> =A0 =A0 =A0 Bernd

Okay, I've tried your recommend config options and all seems to be
well now.  I'll note that for future builds.

Thanks

--=20
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935