[pgsql-pkg-yum] Segmentation fault occurred when using orafce.

Поиск
Список
Период
Сортировка
От Kazuki Uehara
Тема [pgsql-pkg-yum] Segmentation fault occurred when using orafce.
Дата
Msg-id e3489a61-1383-d946-4cc9-24a08a700ce4@lab.ntt.co.jp
обсуждение исходный текст
Список pgsql-pkg-yum
Hi,

Segmentation fault occurred at installcheck of orafce 3.3.1 when using the below rpm.
https://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/repoview/orafce96.html

Segmentation fault don't occur when doing source build.
So, I think there is the possibility that rpm has problem.

Could you analyze this problem?


## Reproduction procedure

-bash-4.2$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
-bash-4.2$ rpm -qa | grep postgres
postgresql96-contrib-9.6.1-1PGDG.rhel7.x86_64
postgresql96-libs-9.6.1-1PGDG.rhel7.x86_64
postgresql96-server-9.6.1-1PGDG.rhel7.x86_64
postgresql96-9.6.1-1PGDG.rhel7.x86_64
postgresql96-debuginfo-9.6.1-1PGDG.rhel7.x86_64
postgresql96-devel-9.6.1-1PGDG.rhel7.x86_64
-bash-4.2$ rpm -qa | grep orafce
orafce96-3.3.1-1.rhel7.x86_64
-bash-4.2$ wget https://github.com/orafce/orafce/archive/VERSION_3_3_1.tar.gz
-bash-4.2$ tar -xvf VERSION_3_3_1.tar.gz
-bash-4.2$ cd orafce-VERSION_3_3_1
-bash-4.2$ make USE_PGXS=1 installcheck
/usr/pgsql-9.6/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --bindir='/usr/pgsql-9.6/bin'
--load-language=plpgsql--schedule=parallel_schedule --encoding=utf8 --dbname=contrib_regression orafce dbms_output
dbms_utilityfiles varchar2 nvarchar2 aggregates nlssort dbms_random 
(using postmaster on Unix socket, default port)
============== dropping database "contrib_regression" ==============
NOTICE:  database "contrib_regression" does not exist, skipping
DROP DATABASE
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== installing plpgsql                     ==============
CREATE LANGUAGE
============== running regression test queries        ==============
test init                     ... ok
parallel group (2 tests):  dbms_pipe_session_A dbms_pipe_session_B
      dbms_pipe_session_A      ... FAILED (test process exited with exit code 2)
      dbms_pipe_session_B      ... FAILED (test process exited with exit code 2)
parallel group (3 tests):  dbms_alert_session_B dbms_alert_session_C dbms_alert_session_A
      dbms_alert_session_A     ... FAILED (test process exited with exit code 2)
      dbms_alert_session_B     ... FAILED (test process exited with exit code 2)
      dbms_alert_session_C     ... FAILED (test process exited with exit code 2)
test orafce                   ... FAILED (test process exited with exit code 2)
test dbms_output              ... FAILED (test process exited with exit code 2)
test dbms_utility             ... FAILED (test process exited with exit code 2)
test files                    ... FAILED (test process exited with exit code 2)
test varchar2                 ... FAILED (test process exited with exit code 2)
test nvarchar2                ... FAILED (test process exited with exit code 2)
test aggregates               ... FAILED (test process exited with exit code 2)
test nlssort                  ... FAILED (test process exited with exit code 2)
test dbms_random              ... FAILED (test process exited with exit code 2)

========================
  14 of 15 tests failed.
========================

The differences that caused some tests to fail can be viewed in the
file "/var/lib/pgsql/orafce-VERSION_3_3_1/regression.diffs".  A copy of the test summary that you see
above is saved in the file "/var/lib/pgsql/orafce-VERSION_3_3_1/regression.out".

make: *** [installcheck] Error 1


-bash-4.2$ cat ~/9.6/data/pg_log/postgresql-Tue.log
< 2017-01-10 09:32:17.295 JST > ERROR:  role "pipe_test_owner" cannot be dropped because some objects depend on it
< 2017-01-10 09:32:17.295 JST > DETAIL:  1 object in database postgres
< 2017-01-10 09:32:17.295 JST > STATEMENT:  DROP USER IF EXISTS pipe_test_owner;
< 2017-01-10 09:32:17.295 JST > ERROR:  role "pipe_test_owner" already exists
< 2017-01-10 09:32:17.295 JST > STATEMENT:  CREATE ROLE pipe_test_owner WITH CREATEROLE;
< 2017-01-10 09:32:26.764 JST > LOG:  server process (PID 23610) was terminated by signal 11: Segmentation fault
< 2017-01-10 09:32:26.764 JST > DETAIL:  Failed process was running: SELECT
dbms_pipe.send_message('pipe_test_owner_created_notifier');
< 2017-01-10 09:32:26.764 JST > LOG:  terminating any other active server processes
< 2017-01-10 09:32:27.406 JST > WARNING:  terminating connection because of crash of another server process
< 2017-01-10 09:32:27.406 JST > DETAIL:  The postmaster has commanded this server process to roll back the current
transactionand exit, because another server process exited abnormally and possibly corrupted shared memory. 
< 2017-01-10 09:32:27.406 JST > HINT:  In a moment you should be able to reconnect to the database and repeat your
command.
< 2017-01-10 09:32:27.406 JST > WARNING:  terminating connection because of crash of another server process
< 2017-01-10 09:32:27.406 JST > DETAIL:  The postmaster has commanded this server process to roll back the current
transactionand exit, because another server process exited abnormally and possibly corrupted shared memory. 
< 2017-01-10 09:32:27.406 JST > HINT:  In a moment you should be able to reconnect to the database and repeat your
command.
< 2017-01-10 09:32:27.778 JST > LOG:  all server processes terminated; reinitializing
< 2017-01-10 09:32:28.061 JST > LOG:  database system was interrupted; last known up at 2017-01-10 09:32:16 JST
< 2017-01-10 09:32:28.563 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:28.565 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:28.567 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:28.680 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:28.861 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:28.888 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:28.922 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:28.964 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:28.976 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:29.093 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:29.124 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:29.240 JST > FATAL:  the database system is in recovery mode
< 2017-01-10 09:32:30.116 JST > LOG:  database system was not properly shut down; automatic recovery in progress
< 2017-01-10 09:32:30.118 JST > LOG:  redo starts at 0/EEBD4830
< 2017-01-10 09:32:30.151 JST > LOG:  invalid record length at 0/EECF3058: wanted 24, got 0
< 2017-01-10 09:32:30.151 JST > LOG:  redo done at 0/EECF3030
< 2017-01-10 09:32:30.151 JST > LOG:  last completed transaction was at log time 2017-01-10 09:32:17.304965+09
< 2017-01-10 09:32:30.312 JST > LOG:  MultiXact member wraparound protections are now enabled
< 2017-01-10 09:32:30.314 JST > LOG:  database system is ready to accept connections
< 2017-01-10 09:32:30.315 JST > LOG:  autovacuum launcher started


## backtrace

[root@dbms-vm ~]# gdb /usr/pgsql-9.6/bin/postgres /tmp/core.3142
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-80.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/pgsql-9.6/bin/postgres...Reading symbols from
/usr/lib/debug/usr/pgsql-9.6/bin/postgres.debug...done.
done.
[New LWP 3142]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `postgres: postgres contrib_regression [local] SELECT  '.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000006c0c45 in LWLockAcquire (lock=0x7f3cf3816d88, mode=LW_EXCLUSIVE) at lwlock.c:1314
1314            TRACE_POSTGRESQL_LWLOCK_ACQUIRE(T_NAME(lock), T_ID(lock), mode);
Missing separate debuginfos, use: debuginfo-install audit-libs-2.4.1-5.el7.x86_64 bzip2-libs-1.0.6-13.el7.x86_64
cyrus-sasl-lib-2.1.26-19.2.el7.x86_64elfutils-libelf-0.163-3.el7.x86_64 elfutils-libs-0.163-3.el7.x86_64
glibc-2.17-105.el7.x86_64keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.13.2-12.el7_2.x86_64 libattr-2.4.46-12.el7.x86_64
libcap-2.22-8.el7.x86_64libcom_err-1.42.9-7.el7.x86_64 libgcc-4.8.5-4.el7.x86_64 libgcrypt-1.5.3-12.el7_1.1.x86_64
libgpg-error-1.12-3.el7.x86_64libselinux-2.2.2-6.el7.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64 nspr-4.10.8-2.el7_1.x86_64
nss-3.19.1-18.el7.x86_64nss-softokn-freebl-3.16.2.3-13.el7_1.x86_64 nss-util-3.19.1-4.el7_1.x86_64
openldap-2.4.40-8.el7.x86_64openssl-libs-1.0.1e-51.el7_2.7.x86_64 orafce96-3.3.1-1.rhel7.x86_64
pam-1.1.8-12.el7_1.1.x86_64pcre-8.32-15.el7_2.1.x86_64 systemd-libs-219-19.el7.x86_64 xz-libs-5.1.2-12alpha.el7.x86_64
zlib-1.2.7-15.el7.x86_64
(gdb) bt
#0  0x00000000006c0c45 in LWLockAcquire (lock=0x7f3cf3816d88, mode=LW_EXCLUSIVE) at lwlock.c:1314
#1  0x00007f3cd1290e5b in ora_lock_shmem () from /usr/pgsql-9.6/lib/orafce.so
#2  0x00007f3cd1291b57 in dbms_pipe_send_message () from /usr/pgsql-9.6/lib/orafce.so
#3  0x00000000005c33a2 in ExecMakeFunctionResultNoSets (fcache=0x1f36830, econtext=0x1f36640, isNull=0x1f372d8 "",
isDone=<optimizedout>) at execQual.c:2041 
#4  0x00000000005c8cee in ExecTargetList (tupdesc=<optimized out>, isDone=0x7ffe883dcff4, itemIsDone=0x1f373f0,
isnull=0x1f372d8"", values=0x1f372c0, econtext=0x1f36640,  targetlist=0x1f373c0) at execQual.c:5408 
#5  ExecProject (projInfo=<optimized out>, isDone=isDone@entry=0x7ffe883dcff4) at execQual.c:5632
#6  0x00000000005ddab2 in ExecResult (node=node@entry=0x1f36530) at nodeResult.c:155
#7  0x00000000005c2338 in ExecProcNode (node=node@entry=0x1f36530) at execProcnode.c:392
#8  0x00000000005be6af in ExecutePlan (dest=0x1f35998, direction=<optimized out>, numberTuples=0, sendTuples=1 '\001',
operation=CMD_SELECT,use_parallel_mode=<optimized out>,  planstate=0x1f36530, estate=0x1f36420) at execMain.c:1567 
#9  standard_ExecutorRun (queryDesc=0x1e9b420, direction=<optimized out>, count=0) at execMain.c:338
#10 0x00007f3cf3bdc0a5 in pgss_ExecutorRun (queryDesc=0x1e9b420, direction=ForwardScanDirection, count=0) at
pg_stat_statements.c:877
#11 0x00000000006d0ab7 in PortalRunSelect (portal=portal@entry=0x1e92f40, forward=forward@entry=1 '\001', count=0,
count@entry=9223372036854775807,dest=dest@entry=0x1f35998) at pquery.c:948 
#12 0x00000000006d1ecb in PortalRun (portal=0x1e92f40, count=9223372036854775807, isTopLevel=<optimized out>,
dest=0x1f35998,altdest=0x1f35998, completionTag=0x7ffe883dd590 "") at pquery.c:789 
#13 0x00000000006cfb16 in PostgresMain (argc=<optimized out>, argv=<optimized out>, dbname=<optimized out>,
username=<optimizedout>) at postgres.c:1094 
#14 0x000000000046f51b in BackendRun (port=0x1e99d80) at postmaster.c:4270
#15 BackendStartup (port=0x1e99d80) at postmaster.c:3944
#16 ServerLoop () at postmaster.c:1701
#17 0x0000000000673458 in PostmasterMain (argc=argc@entry=3, argv=argv@entry=0x1e73a00) at postmaster.c:1309
#18 0x000000000047018e in main (argc=3, argv=0x1e73a00) at main.c:228


Regards,

--
Kazuki Uehara
NTT Open Source Software Center




В списке pgsql-pkg-yum по дате отправления:

Предыдущее
От: Nick Barnes
Дата:
Сообщение: Re: [pgsql-pkg-yum] Missing packages for 9.6/RHEL7
Следующее
От: Devrim Gündüz
Дата:
Сообщение: Re: [pgsql-pkg-yum] pgRouting 2.3.2 release