[pgpool-hackers: 629] Sefault in 3.4rc1

Tatsuo Ishii ishii at postgresql.org
Thu Oct 30 10:11:28 JST 2014


Hi Usama,

3.4rc1 causes segfault in following condition:

1) disable health checking, sr check and fail_over_on_backend_error = off
fail_over_on_backend_error = off
health_check_period = 0
sr_check_period = 0

2) start pgpool-II and PostgreSQL using pgpool_setup (or whatever method)
kill -9 standby postmaster

3) connect to pgpool

4) got segfault

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `pgpool: accept connection                                                     '.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000423ab1 in connect_backend (sp=0x1963da0, frontend=0x195fd80) at protocol/child.c:855

warning: Source file is more recent than executable.
855	
(gdb) bt
bt
#0  0x0000000000423ab1 in connect_backend (sp=0x1963da0, frontend=0x195fd80) at protocol/child.c:855
#1  0x0000000000425ef6 in get_backend_connection (frontend=0x195fd80) at protocol/child.c:2282
#2  do_child (fds=fds at entry=0x1957110) at protocol/child.c:325
#3  0x0000000000406fcc in fork_a_child (fds=0x1957110, id=23) at main/pgpool_main.c:672
#4  0x000000000040a60d in PgpoolMain (discard_status=discard_status at entry=1 '\001', 
    clear_memcache_oidmaps=clear_memcache_oidmaps at entry=0 '\000') at main/pgpool_main.c:278
#5  0x0000000000404dae in main (argc=<optimized out>, argv=<optimized out>) at main/main.c:319

Note that this does not happen in 3.3.4 and instead got this:

2014-10-30 10:03:17 LOG:   pid 9709: pgpool-II successfully started. version 3.3.4 (tokakiboshi)
2014-10-30 10:03:17 LOG:   pid 9709: find_primary_node: primary node id is 0
2014-10-30 10:05:01 ERROR: pid 9739: connect_unix_domain_socket_by_port: connect() failed to /tmp/.s.PGSQL.11001: Connection refused
2014-10-30 10:05:01 ERROR: pid 9739: connection to /tmp(11001) failed
2014-10-30 10:05:01 ERROR: pid 9739: new_connection: create_cp() failed
2014-10-30 10:05:01 LOG:   pid 9739: new_connection: do not failover because fail_over_on_backend_error is off

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp


More information about the pgpool-hackers mailing list