StackOverflowError generating snapshot

Description

I have got a StackOverflow Error when a database has at least two schemas with tables with same name and each one has an index. The script to simulate:

CREATE SCHEMA dummy1;
CREATE SCHEMA dummy2;

CREATE TABLE dummy1.dummy ( id numeric(10,0) NOT NULL);
CREATE UNIQUE INDEX idxvalue ON dummy1.dummy (id);

CREATE TABLE dummy2.dummy ( id numeric(10,0) NOT NULL);
CREATE UNIQUE INDEX idxvalue ON dummy2.dummy (id);

The command to perform the error is:

liquibase.bat --driver=org.postgresql.Driver --url=jdbcface with tongueostgresql://localhost:5432/postgres --username=postgres --password=123 --logLevel=debug --logFile=log.txt snapshot --schemas="dummy1,dummy2"

And the log was:

DEBUG 30/11/15 14:00: liquibase: Connected to postgres@jdbcface with tongueostgresql://localhost:5432/postgres
DEBUG 30/11/15 14:00: liquibase: Setting auto commit to false from true
DEBUG 30/11/15 14:00: liquibase: Computed checksum for 1448899233741 as 34b16eb903226560db75e64bad3900f2
DEBUG 30/11/15 14:00: liquibase: Executing QUERY database command: SELECT relname AS SEQUENCE_NAME FROM pg_class, pg_namespace WHERE relkind='S' AND pg_class.relnamespace = pg_namespace.oid AND nspname = 'dummy1'
DEBUG 30/11/15 14:00: liquibase: Executing QUERY database command: SELECT relname AS SEQUENCE_NAME FROM pg_class, pg_namespace WHERE relkind='S' AND pg_class.relnamespace = pg_namespace.oid AND nspname = 'dummy2'
SEVERE 30/11/15 14:00: liquibase: Unknown Reason
java.lang.StackOverflowError
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.cleanNameFromDatabase(JdbcSnapshotGenerator.java:122)
at liquibase.snapshot.jvm.TableSnapshotGenerator.readTable(TableSnapshotGenerator.java:84)
at liquibase.snapshot.jvm.TableSnapshotGenerator.snapshotObject(TableSnapshotGenerator.java:36)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:60)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:50)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:63)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:50)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:63)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:50)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:63)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:50)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:63)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:50)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:63)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:50)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:63)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:50)
at liquibase.snapshot.DatabaseSnapshot.include(DatabaseSnapshot.java:194)
at liquibase.snapshot.DatabaseSnapshot.replaceObject(DatabaseSnapshot.java:272)
at liquibase.snapshot.DatabaseSnapshot.includeNestedObjects(DatabaseSnapshot.java:234)
at liquibase.snapshot.DatabaseSnapshot.include(DatabaseSnapshot.java:208)
at liquibase.snapshot.DatabaseSnapshot.replaceObject(DatabaseSnapshot.java:292)
at liquibase.snapshot.DatabaseSnapshot.includeNestedObjects(DatabaseSnapshot.java:234)
at liquibase.snapshot.DatabaseSnapshot.include(DatabaseSnapshot.java:208)
at liquibase.snapshot.DatabaseSnapshot.replaceObject(DatabaseSnapshot.java:292)

Environment

PostgreSQL 9.4.4
Windows 7
java version 1.8.0_66
Liquibase 3.4.2

Activity

Show:

Nathan Voxland March 8, 2016 at 10:56 PM

This has been fixed for 3.5.0

Fixed

Details

Reporter

Fix versions

Affects versions

Priority

Created November 30, 2015 at 4:24 PM
Updated March 8, 2016 at 10:56 PM
Resolved March 8, 2016 at 10:56 PM

Flag notifications