Skip to content

Segmentation fault with LEFT JOIN on a partitioned table with pg_pathman 1.4 #193

Closed
@mdurbha72

Description

@mdurbha72

Problem description

I have a Postgres 9.6.8 with pg_pathman 1.4 working great. I patched Postgres to 9.6.12 and the OS from 7.4 to 7.6 via a "yum update" and now my queries with LEFT JOIN to a pg_pathman-managed partitioned table causes Segmentation fault and crashes Postgres instance. When pg_pathman is disabled, the query completes fine. How can I fix this? I ran make install USE_PGXS=1" and restarted Postgres, but that did not fix this error. Can you please help?

emr_prod=# SELECT 1 - count(event_date) AS result FROM (SELECT now()::date AS run_date) p LEFT JOIN historic.audit_event ON event_code = 1;
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.

  ## when pg_pathman is disabled, the query runs fine
emr_prod=# SET pg_pathman.enable = f;
NOTICE:  RuntimeAppend, RuntimeMergeAppend and PartitionFilter nodes and some other options have been disabled
SET
emr_prod=# SELECT 1 - count(event_date) AS result FROM (SELECT now()::date AS run_date) p LEFT JOIN historic.audit_event ON event_code = 1;
 result
--------
      1
(1 row)

  ### This is the output in the postgres log - 
2019-04-10 21:21:47 PDT [5162]: [64-1] [] [] LOG:  00000: server process (PID 6459) was terminated by signal 11: Segmentation fault
2019-04-10 21:21:47 PDT [5162]: [65-1] [] [] DETAIL:  Failed process was running: SELECT 1 - count(event_date) AS result FROM (SELECT now()::date AS run_date) p LEFT JOIN historic.audit_event ON event_code = 1;
2019-04-10 21:21:47 PDT [5162]: [66-1] [] [] LOCATION:  LogChildExit, postmaster.c:3574
2019-04-10 21:21:47 PDT [5162]: [67-1] [] [] LOG:  00000: terminating any other active server processes
2019-04-10 21:21:47 PDT [5162]: [68-1] [] [] LOCATION:  HandleChildCrash, postmaster.c:3294
2019-04-10 21:21:47 PDT [5162]: [69-1] [] [] LOG:  00000: all server processes terminated; reinitializing
2019-04-10 21:21:47 PDT [5162]: [70-1] [] [] LOCATION:  PostmasterStateMachine, postmaster.c:3818
2019-04-10 21:21:47 PDT [7125]: [1-1] [] [] LOG:  00000: database system was interrupted while in recovery at log time 2019-04-10 21:02:56 PDT
2019-04-10 21:21:47 PDT [7125]: [2-1] [] [] HINT:  If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target.
2019-04-10 21:21:47 PDT [7125]: [3-1] [] [] LOCATION:  StartupXLOG, xlog.c:6076

Environment

postgres@xxx:/var/lib/pgsql> cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

emr_prod=# select * from pg_extension where extname = 'pg_pathman'; extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
------------+----------+--------------+----------------+------------+-------------------+--------------
pg_pathman | 10 | 2200 | f | 1.4 | {8738685,8738694} | {"",""}
(1 row)

emr_prod=# select version();
version

PostgreSQL 9.6.12 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
(1 row)

emr_prod=# SELECT get_pathman_lib_version();
get_pathman_lib_version

10409
(1 row)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions