[Pgpool-committers] pgpool - pgpool-II: Fix long standing bug which causes segfault of

User T-ishii t-ishii at pgfoundry.org
Tue Apr 13 04:14:08 UTC 2010


Log Message:
-----------
Fix long standing bug which causes segfault of pgpool child process.
This was caused buy miscalculation of shmem size in pgpool parent.
The bug appears in at least following sequence in 64bit linux
platform:

1) set max_pool = 1 and num_init_children = 30
2) connect to the pgpool child which was forked lastly
3) let pgpool child die by SIGQUIT and fork (i.e. failover,
   child_life_time timeout etc.)
4) if tries to connect to #3 child, it segfaults

This bug has been there since pgpool-II 1.0 was born.

Bug analysis by Toshihiro Kitagawa.

Modified Files:
--------------
    pgpool-II:
        child.c (r1.44 -> r1.45)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/child.c?r1=1.44&r2=1.45)
        main.c (r1.63 -> r1.64)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/main.c?r1=1.63&r2=1.64)
        pool_connection_pool.c (r1.21 -> r1.22)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool_connection_pool.c?r1=1.21&r2=1.22)


More information about the Pgpool-committers mailing list