[pgpool-general: 1201] Re: 3.2.1 segfaults at startup on Fedora17

Tatsuo Ishii ishii at postgresql.org
Thu Nov 29 16:39:42 JST 2012


I have took a look at watchdog code and made some fixes on it. The
file was wd_ping.c, which is might or might not related to the problem
you have. Can you grab the git master head and try it out? Hope error
reporting codes added to wd_ping.c may reveals the cause of problem at
least.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> Hello,
> 
> I have simmilar problem on Slacware64 v14 with glibc2.15 and gcc 4.7.1 .
> Also have tried the latest GIT version of pgpool - the same result.
> 
> Symptoms:
> Once I enable watchdog and start it on one server it segfaults when it can't
> find other pgpool watchdog on network already. Sometimes it eventually start and
> then all is OK - pgpool on other server starts fine as watchdog on the other server
> already can connect to watchdog on the first server.
> Sometimes means X tries to run it, where X is purely random, usually on 5-30 try it starts and work fine then..
> Of course I have to clean semaphores and shared memory via the ipcrm as
> those never get unregistered after pgpool segfault crash..
> 
> When I tried to compile pgpool on older system (Slackware64 v13.1.0) with
> glibc2.11 and gcc 4.4.4 and copy the pgpool binary on Slackware64 v14 it
> just works on the Slackware v14.
> 
> Here is the backtrace of the binary compiled on Slackware64 v14:
> 
> gsql at wwwpri:~$ /usr/local/bin/pgpool -f /usr/local/etc/pgpool.conf -n -D
> 2012-11-20 19:57:12 LOG:   pid 10639: wd_chk_sticy: all commands have sticky bit
> 2012-11-20 19:57:12 LOG:   pid 10639: watchdog might call network commands which using sticky bit.
> 2012-11-20 19:57:12 LOG:   pid 10639: Backend status file /tmp/pgpool_status discarded
> 2012-11-20 19:57:14 LOG:   pid 10639: wd_create_send_socket: connect() reports failure (Connection refused). You can safely ignore this while starting up.
> Segmentation fault (core dumped)
> pgsql at wwwpri:~$ 
> 
> pgsql at wwwpri:~$ gdb /usr/local/bin/pgpool core                           
> GNU gdb (GDB) 7.5
> Copyright (C) 2012 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-slackware-linux".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from /usr/local/bin/pgpool...done.
> [New LWP 10639]
> 
> warning: Could not load shared library symbols for linux-vdso.so.1.
> Do you need "set solib-search-path" or "set sysroot"?
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> Core was generated by /usr/local/bin/pgpool -f /usr/local/etc/pgpool.conf -n -D'.
> Program terminated with signal 11, Segmentation fault.
> #0  0x00007fc0882db040 in pthread_detach () from /lib64/libpthread.so.0
> (gdb) backtrace
> #0  0x00007fc0882db040 in pthread_detach () from /lib64/libpthread.so.0
> #1  0x0000000000478577 in wd_is_unused_ip (ip=<optimized out>) at wd_ping.c:159
> #2  0x00000000004764fd in wd_init () at wd_init.c:91
> #3  0x0000000000475817 in wd_main (fork_wait_time=1) at watchdog.c:117
> #4  0x000000000040634f in main (argc=<optimized out>, argv=<optimized out>) at main.c:642
> (gdb) 
> 
> When I disable watchdog in pgpool.conf then pgpool works OK, but I need virtual IP so I have to use watchdog..
> 
> To me it seems that pgpool-ii 3.2.1 (or git version) is not compatible with latest system (either glibc/pthread or gcc).
> 
> I can provide additional data if required, but unfortunatelly can't find the root cause by my own :(
> 
> Thank you,
> 
> Tomas
> _______________________________________________
> pgpool-general mailing list
> pgpool-general at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-general


More information about the pgpool-general mailing list