[pgpool-general-jp: 1521] Re: pgpoolでエラーが発生します「child process with pid: 28828 was terminated by segmentation fault」
KUROSAWA Hiroshi
hiroshi.kurosawa @ und-meer.com
2018年 4月 4日 (水) 18:02:33 JST
お世話になります
> サンプルのクエリをCakePHPから単独で実行して落ちなければ、
CakePHPから単独のSQLを実行してみました
エラーは起きず、テーブル書き込み可能でした
> valgrindをかけた状態
> でpgpoolを実行すれば、何かわかると思います。
valgrindを使ったことが無かったので、
具体的にはどうすればよいのでしょうか
pgpoolはsystemctl start pgpool.serviceで起動しています
service内容を調べて同じように起動するコマンドを作りました
/etc/pgpool-II/pgpool.confをコピーして
pid_file_name
memqcache_oiddir
だけユーザーディレクトリに変えました
/usr/bin/valgrind --trace-children=yes --track-origins=yes
--log-file=/var/lib/pgsql/valgrind-logs.txt --leak-check=full
--show-leak-kinds=all /usr/bin/pgpool -f /var/lib/pgsql/pgpool.conf -n >
/var/lib/pgsql/pgpool-logs.txt 2>&1
以上のコマンドを実行しましたが、
psqlで接続が出来ません
以下のようになります
psql -U postgres -h 192.168.100.199 -p 9999 test2
psql: could not connect to server: No route to host
Is the server running on host "192.168.100.199" and accepting
TCP/IP connections on port 9999?
psをみると
root 8742 0.1 2.6 294316 159324 pts/0 S+ 17:49 0:00
/usr/bin/valgrind --trace-children=yes --track-origins=yes
--log-file=/var/lib/pgsql/valgrind-logs.txt --leak-check=full
--show-leak-kinds=all /usr/bin/pgpool -f /var/lib/pgsql/pgpool.conf -n
はたくさんあるのですが、
pgpool自体は起動出来てないのでしょうか?
valgrindだけはずして
/usr/bin/pgpool -f /var/lib/pgsql/pgpool.conf -n >
/var/lib/pgsql/pgpool-logs.txt 2>&1
実行した場合は
psqlで接続できました
どうするのが正しいのでしょうか
教えていただけると助かります
どうぞよろしくお願いします。
---------------
以下valgrindを実行したときの表示です
Permissionのエラーがでましたので、
ユーザーをpostgresやrootにしてみましたが、
上と同様にpsqlで接続できませんでした
2018-04-04 16:40:46: pid 6557: LOG: Backend status file
/tmp/pgpool_status does not exist
2018-04-04 16:40:46: pid 6557: LOG: waiting for watchdog to initialize
2018-04-04 16:40:46: pid 6558: LOG: setting the local watchdog node
name to "192.168.100.154:9999 Linux m-yydb"
2018-04-04 16:40:46: pid 6558: LOG: watchdog cluster is configured with
1 remote nodes
2018-04-04 16:40:46: pid 6558: LOG: watchdog remote node:0 on
192.168.100.180:9000
2018-04-04 16:40:46: pid 6558: LOG: interface monitoring is disabled in
watchdog
2018-04-04 16:40:46: pid 6558: LOG: watchdog node state changed from
[DEAD] to [LOADING]
2018-04-04 16:40:51: pid 6558: LOG: watchdog node state changed from
[LOADING] to [JOINING]
2018-04-04 16:40:55: pid 6558: LOG: watchdog node state changed from
[JOINING] to [INITIALIZING]
2018-04-04 16:40:56: pid 6558: LOG: I am the only alive node in the
watchdog cluster
2018-04-04 16:40:56: pid 6558: HINT: skipping stand for coordinator state
2018-04-04 16:40:56: pid 6558: LOG: watchdog node state changed from
[INITIALIZING] to [MASTER]
2018-04-04 16:40:56: pid 6558: LOG: I am announcing my self as
master/coordinator watchdog node
2018-04-04 16:41:00: pid 6558: LOG: I am the cluster leader node
2018-04-04 16:41:00: pid 6558: DETAIL: our declare coordinator message
is accepted by all nodes
2018-04-04 16:41:00: pid 6558: LOG: setting the local node
"192.168.100.154:9999 Linux m-yydb" as watchdog cluster master
2018-04-04 16:41:00: pid 6558: LOG: I am the cluster leader node.
Starting escalation process
2018-04-04 16:41:00: pid 6557: LOG: watchdog process is initialized
2018-04-04 16:41:00: pid 6558: LOG: escalation process started with
PID:6573
2018-04-04 16:41:00: pid 6573: LOG: watchdog: escalation started
2018-04-04 16:41:00: pid 6558: LOG: new IPC connection received
2018-04-04 16:41:00: pid 6558: LOG: new IPC connection received
2018-04-04 16:41:01: pid 6574: LOG: 2 watchdog nodes are configured for
lifecheck
2018-04-04 16:41:01: pid 6574: LOG: watchdog nodes ID:0
Name:"192.168.100.154:9999 Linux m-yydb"
2018-04-04 16:41:01: pid 6574: DETAIL: Host:"192.168.100.154" WD
Port:9000 pgpool-II port:9999
2018-04-04 16:41:01: pid 6574: LOG: watchdog nodes ID:1 Name:"Not_Set"
2018-04-04 16:41:01: pid 6574: DETAIL: Host:"192.168.100.180" WD
Port:9000 pgpool-II port:9999
2018-04-04 16:41:01: pid 6557: LOG: Setting up socket for 0.0.0.0:9999
2018-04-04 16:41:01: pid 6557: LOG: Setting up socket for :::9999
2018-04-04 16:41:01: pid 6588: FATAL: watchdog failed to ping
host"192.168.100.199"
2018-04-04 16:41:01: pid 6588: DETAIL: execv(/bin/ping) failed. reason:
Permission denied
2018-04-04 16:41:01: pid 6573: WARNING: watchdog failed to ping
host"192.168.100.199"
2018-04-04 16:41:01: pid 6573: DETAIL: ping process exits with code: 1
2018-04-04 16:41:01: pid 6573: LOG: waiting for the delegate IP address
to become active
2018-04-04 16:41:01: pid 6573: DETAIL: waiting... count: 1
2018-04-04 16:41:01: pid 6632: FATAL: watchdog failed to ping
host"192.168.100.199"
2018-04-04 16:41:01: pid 6632: DETAIL: execv(/bin/ping) failed. reason:
Permission denied
2018-04-04 16:41:02: pid 6557: LOG: pgpool-II successfully started.
version 3.7.2 (amefuriboshi)
2018-04-04 16:41:02: pid 6573: WARNING: watchdog failed to ping
host"192.168.100.199"
2018-04-04 16:41:02: pid 6573: DETAIL: ping process exits with code: 1
2018-04-04 16:41:02: pid 6573: LOG: waiting for the delegate IP address
to become active
2018-04-04 16:41:02: pid 6573: DETAIL: waiting... count: 2
2018-04-04 16:41:02: pid 6649: FATAL: watchdog failed to ping
host"192.168.100.199"
2018-04-04 16:41:02: pid 6649: DETAIL: execv(/bin/ping) failed. reason:
Permission denied
2018-04-04 16:41:02: pid 6577: LOG: set SO_REUSEPORT option to the socket
2018-04-04 16:41:02: pid 6577: LOG: creating watchdog heartbeat receive
socket.
2018-04-04 16:41:02: pid 6577: DETAIL: set SO_REUSEPORT
2018-04-04 16:41:02: pid 6578: LOG: set SO_REUSEPORT option to the socket
2018-04-04 16:41:02: pid 6578: LOG: creating socket for sending heartbeat
2018-04-04 16:41:02: pid 6578: DETAIL: set SO_REUSEPORT
2018-04-04 16:41:02: pid 6573: WARNING: watchdog failed to ping
host"192.168.100.199"
2018-04-04 16:41:02: pid 6573: DETAIL: ping process exits with code: 1
2018-04-04 16:41:02: pid 6573: LOG: waiting for the delegate IP address
to become active
2018-04-04 16:41:02: pid 6573: DETAIL: waiting... count: 3
2018-04-04 16:41:02: pid 6573: LOG: failed to acquire the delegate IP
address
2018-04-04 16:41:02: pid 6573: DETAIL: 'if_up_cmd' failed
2018-04-04 16:41:02: pid 6573: WARNING: watchdog escalation failed to
acquire delegate IP
2018-04-04 16:41:02: pid 6558: LOG: watchdog escalation process with
pid: 6573 exit with SUCCESS.
-------------------------
On 2018/04/03 18:10, Tatsuo Ishii wrote:
> 石井です。
>
> CakePHPはおそらく無関係だと思います。
>
> サンプルのクエリをCakePHPから単独で実行して落ちなければ、それまでに実
> 行されたクエリのどれかがメモリを壊している可能性があります。
>
> 落ちている箇所がシステムのライブラリなので、それがバグを持っている可能
> 性は一応排除して良いと思うので)。Pgpool-IIの未知のバグを踏んだ、という
> ことですね。メモリを壊しているということであれば、valgrindをかけた状態
> でpgpoolを実行すれば、何かわかると思います。
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese:http://www.sraoss.co.jp
>
>> 調査ありがとうございます
>> CakePHPのORMのなにかが原因なんでしょうか
>> アプリの方で回避する方法がないか探ってみます
>>
>> On 2018/04/03 17:47, Tatsuo Ishii wrote:
>>> 石井です。
>>>
>>>> psql(pgadmin)から実行ではエラーは出ませんでした
>>>> 以下実行したSQLです
>>> いただいたSQLを拡張クエリモードで実行してみましたが、特に問題ありませ
>>> んでした。
>>> 使用クライアントはpgprotoです。
>>> https://github.com/tatsuo-ishii/pgproto
>>> 参考までに、使用したpgprotoのデータファイルを添付しておきます。
>>> --
>>> Tatsuo Ishii
>>> SRA OSS, Inc. Japan
>>> English: http://www.sraoss.co.jp/index_en.php
>>> Japanese:http://www.sraoss.co.jp
>>>
>>
>> _______________________________________________
>> pgpool-general-jp mailing list
>> pgpool-general-jp @ sraoss.jp
>> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
pgpool-general-jp メーリングリストの案内