[pgpool-hackers: 633] Re: Sefault in 3.4rc1

Muhammad Usama m.usama at gmail.com
Thu Oct 30 20:41:53 JST 2014


Hi Tatsuo,

pgpool-II was ignoring the failure and continues forward when it fails
to connect to the backend with failover on backend error is
disallowed, Exiting the current session in this case was the correct
option.
I have committed the fix for above.

Thanks
Muhammad Usama

On Thu, Oct 30, 2014 at 6:11 AM, Tatsuo Ishii <ishii at postgresql.org> wrote:
> 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
> _______________________________________________
> pgpool-hackers mailing list
> pgpool-hackers at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-hackers


More information about the pgpool-hackers mailing list