BUG #6062: psql terminates on auto-complete

From: "Sebastian" <skurscheid(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6062: psql terminates on auto-complete
Date: 2011-06-15 19:22:16
Message-ID: 201106151922.p5FJMGue044731@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 6062
Logged by: Sebastian
Email address: skurscheid(at)gmail(dot)com
PostgreSQL version: 9.0.1
Operating system: Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST
2011; root:xnu-1504.9.37~1/RELEASE_I386 i386
Description: psql terminates on auto-complete
Details:

I have encountered a peculiar psql behavior which I can consistently
replicate:

When using the auto-complete function (TAB) to complete the name of a
particular set of tables when writing a SELECT statement, psql crashes with
following error:

"malloc: *** error for object 0x2: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap"

I will make the assumption that this error is not caused by the actual table
definition, but is rather caused by some psql behavior associated with the
auto-complete feature.

The names of the tables are:

postgres=# \dt temp.a*
List of relations
Schema | Name | Type | Owner
--------+-------------------------------+-------+------------
temp | assoc_rel | table | skurscheid
temp | association | table | skurscheid
temp | association_isoform | table | skurscheid
temp | association_property | table | skurscheid
temp | association_qualifier | table | skurscheid
temp | association_species_qualifier | table | skurscheid
(6 rows)

This also occurs when the tables are stored under a different schema (such
as "go" - this is a local copy of the Gene Ontology database, which
otherwise works without any problems)

This error does not occur when using e.g. \dt in psql.

Also, after some more testing I have determined that this error only occurs
following this sequence:

postgres=# select * from go.assoc (TAB, TAB) [- this will bring up the list
of all matching objects]

postgres=# select * from go.associpsql(87623) malloc: *** error for object
0x7: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap

I would hazard the guess that the "_" character in some of the objects names
might have something to do with it, because:

postgres=# select * from go.assoc_(TAB)rel;
id | from_id | to_id | relationship_type_id
----+---------+-------+----------------------
(0 rows)

works fine.

I hope the supplied information is sufficient to address this bug.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Denis de Bernardy 2011-06-15 21:07:29 Re: PG 9.1 regression / row comparison?
Previous Message Tom Lane 2011-06-15 16:43:21 Re: BUG #6061: Progresql.exe memory usage using HOLD cursor.