Segfault on ANALYZE in SERIALIZABLE isolation

From: Joe Wildish <joe-postgresql(dot)org(at)elusive(dot)cx>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Segfault on ANALYZE in SERIALIZABLE isolation
Date: 2019-05-18 14:15:48
Message-ID: 4EA80A20-E9BF-49F1-9F01-5B66CAB21453@elusive.cx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hackers,

Head of master is giving me a segfault on running ANALYZE when isolation mode is SERIALIZABLE.

My configure:

export CFLAGS="-g"
export LDFLAGS="-L/usr/local/opt/readline/lib"
export CPPFLAGS="-I/usr/local/opt/readline/include"

./configure \
--prefix=/Users/joe/Development/tmp/pg \
--enable-cassert \
--enable-debug \
--with-readline

To reproduce:

[joe(at)oberon pg]$ ./bin/initdb -D $(pwd)/data
The files belonging to this database system will be owned by user "joe".
This user must also own the server process.

The database cluster will be initialized with locale "en_GB.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

creating directory /Users/joe/Development/tmp/pg/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... Europe/London
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

initdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

./bin/pg_ctl -D /Users/joe/Development/tmp/pg/data -l logfile start

[joe(at)oberon pg]$ ./bin/pg_ctl -D /Users/joe/Development/tmp/pg/data -l logfile start && ./bin/psql -d postgres
waiting for server to start.... done
server started
psql (12devel)
Type "help" for help.

[local] joe(at)postgres=# ALTER SYSTEM SET DEFAULT_TRANSACTION_ISOLATION TO 'serializable';
ALTER SYSTEM
[local] joe(at)postgres=# \q
[joe(at)oberon pg]$ ./bin/pg_ctl -D /Users/joe/Development/tmp/pg/data -l logfile restart && ./bin/psql -d postgres
waiting for server to shut down.... done
server stopped
waiting for server to start.... done
server started
psql (12devel)
Type "help" for help.

[local] joe(at)postgres=# ANALYZE;
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
@!>

Logline:
2019-05-18 15:10:06.831 BST [45177] LOG: server process (PID 45186) was terminated by signal 11: Segmentation fault: 11

Cheers,
-Joe

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2019-05-18 14:26:48 Re: PostgreSQL 12: Feature Highlights
Previous Message Bruce Momjian 2019-05-18 13:24:28 Re: PostgreSQL 12: Feature Highlights