[pgpool-hackers: 467] Re: penultimate patch for exception and memory manager ( EXCEPTION_MGR branch)

Muhammad Usama m.usama at gmail.com
Wed Mar 19 22:20:03 JST 2014


Hi Tatsuo

Sorry for the delay. I was stuck in some other work, and now I am resuming
the work on this patch. For some reason regression was working fine on my
machine when I sent out the patch but will send you the updated patch after
figuring out the problem.


Thanks
Usama



On Wed, Feb 19, 2014 at 9:23 AM, Tatsuo Ishii <ishii at postgresql.org> wrote:

> Usama,
>
> Thanks for the explanation.
>
> BTW, I ran a reggression test against EXEC_MANAGER branch and got
> serious problems.
>
> testing 003.failover...*** glibc detected *** pgpool: worker process:
> free(): invalid pointer: 0x00000000007756c8 ***
>
> testing 055.backend_all_down...*** glibc detected *** /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool:
> double free or corruption (!prev): 0x000000000075c050 ***
>
> [ and regression test hangs]
>
> Detailed log attached.
>
> Best regards,
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese: http://www.sraoss.co.jp
>
> > On Thu, Feb 13, 2014 at 3:49 AM, Tatsuo Ishii <ishii at postgresql.org>
> wrote:
> >
> >> Usama,
> >>
> >> Thanks for your hard work.
> >>
> >> One thing I noticed is, you moved src/tools/pcp to src/utils/pcp. Is
> >> there any reason for this?
> >>
> >
> > Since the pgpool binary and pcp tool binaries all requires the functions
> > defined in pcp_stream.c for reading and writing to pcp streams. But with
> > the arrival of memory manager API in pgpool, pcp stream functions
> requires
> > to distinguish between calls made from pgpool and pcp tools. As we need
> to
> > create reading and writing buffers in specific MemoryContexts when the
> > function is invoked from pgpool, and as pcp tools does not have a concept
> > of MemoryContext so the step of selecting a MemoryContext before
> allocating
> > a memory needed to be skipped when in pcp tools environment.
> >
> > To achieve the above, the patch makes the libpcp exclusive for the tool
> > binaries only (compile with POOL_PRIVATE flag) and now pgpool uses the
> > pcp_stream.c function directly and no longer has the dependancy on the
> lib.
> >
> > To make this new arrangement visible in pgpool source directory structure
> > the patch rearranges the source code organisation and moves the
> > pcp_stream.c and pcp_error.c files to src/utils/pcp from src/lib/pcp
> > directory, while the pcp.c file still remains at its original directory.
> > Also the new arrangement of code seems more naturally fit to the rest of
> > pgppol-II source structure as other stream related functions also resides
> > in src/utils directory.
> >
> > --
> > Thanks
> > Muhammad Usama
> >
> >
> > --
> >> Tatsuo Ishii
> >> SRA OSS, Inc. Japan
> >> English: http://www.sraoss.co.jp/index_en.php
> >> Japanese: http://www.sraoss.co.jp
> >>
> >> From: Muhammad Usama <m.usama at gmail.com>
> >> Subject: Re: penultimate patch for exception and memory manager (
> >> EXCEPTION_MGR branch)
> >> Date: Tue, 11 Feb 2014 19:55:48 +0500
> >> Message-ID: <
> >> CAEJvTzWEjDWgtJ3HGCuaSwkGpXzWBETmrM4ShrA5tcNTQFvEuA at mail.gmail.com>
> >>
> >> > Hi Tatsuo
> >> >
> >> > I have rebased the EXCEPTION_MGR branch to current master, please find
> >> the
> >> > updated patch generated after rebasing.
> >> >
> >> > Thanks
> >> > Muhammad Usama
> >> >
> >> >
> >> > On Tue, Feb 11, 2014 at 11:17 AM, Tatsuo Ishii <ishii at postgresql.org>
> >> wrote:
> >> >
> >> >> Usama,
> >> >>
> >> >> I have checked EXCEPTION_MGR branch and it seems it is far behind
> main
> >> >> branch. The last patch brought to the EXCEPTION_MGR was dated
> >> >> 2013/12/19. Can you please rebase the branch?
> >> >>
> >> >> Best regards,
> >> >> --
> >> >> Tatsuo Ishii
> >> >> SRA OSS, Inc. Japan
> >> >> English: http://www.sraoss.co.jp/index_en.php
> >> >> Japanese: http://www.sraoss.co.jp
> >> >>
> >> >> From: Muhammad Usama <m.usama at gmail.com>
> >> >> Subject: penultimate patch for exception and memory manager (
> >> >> EXCEPTION_MGR branch)
> >> >> Date: Mon, 10 Feb 2014 19:53:41 +0500
> >> >> Message-ID: <CAEJvTzUZHKKHjz-ZvYaAsviwVVBKSoX-ByNq9rhANO1zPJYR=
> >> >> w at mail.gmail.com>
> >> >>
> >> >> > Please find the penultimate patch for integration of memory and
> >> exception
> >> >> > manager APIs into pgpool.
> >> >> > The patch is generated on the EXCEPTION_MGR development branch and
> >> >> > integrates the said APIs in query processing portion of pgpool-II
> >> code.
> >> >> >
> >> >> > Patch summary for review
> >> >> > ======================
> >> >> > The patch is very large mainly because of replacing of
> pool_error(),
> >> >> > pool_debug() and pool_log() function calls to ereport(ERROR,..)
> >> >> > ereport(DEBUG,..) and ereport(LOG,..) and it would be little time
> >> >> consuming
> >> >> > to review the patch. Although all the above also needs the thorough
> >> >> review,
> >> >> > as replacing pool_error() with ereport(ERROR) or ereport(FATAL) is
> >> just
> >> >> not
> >> >> > a cosmetic but changes the flow of code, but there are few things,
> >> that
> >> >> > requires the more attention than others.
> >> >> >
> >> >> > Lifecycle of objects.
> >> >> > ================
> >> >> > Since with integration of memory manager, it is very important to
> >> manage
> >> >> > the life cycle of each object and making sure the object is
> created in
> >> >> the
> >> >> > proper MemoryContext. Here is the summary of some important objects
> >> and
> >> >> > their residences.
> >> >> >
> >> >> > Some Important Memory Contexts
> >> >> > ============================
> >> >> >
> >> >> > ProcessLoopContext:
> >> >> > This context resets at every main loop iteration of a process
> >> >> >
> >> >> > TopMemoryContext:
> >> >> > This context is same as PostgreSQL's TopMemoryContext and lives
> for a
> >> >> life
> >> >> > time of process.
> >> >> >
> >> >> > ErrorContext:
> >> >> > Same as PostgreSQL's ErrorContext and used for error processing.
> >> >> >
> >> >> > QueryContext:
> >> >> > Used by pgpool child process and it lives for single query cycle.
> >> >> >
> >> >> >
> >> >> > Lifecycle of Important Objects
> >> >> > ========================
> >> >> >
> >> >> > SessionContext:
> >> >> > The session context consists of a backend and frontend connection
> and
> >> it
> >> >> > lives for a single iteration of main child process loop.
> >> >> > So the session context object is created in ProcessLoopContext.
> >> >> >
> >> >> > ProcessContext:
> >> >> > ConnectionPool:
> >> >> > BackendConnection:
> >> >> > The above objects are required for the life of process hence are
> >> created
> >> >> in
> >> >> > TopMemoryContext which lives throughout the process life time.
> >> >> >
> >> >> > Child Frontend connection:
> >> >> > Frontend connection object is placed in the ProcessLoopContext
> since
> >> new
> >> >> > frontend connection is created at every main loop iteration of
> pgpool
> >> >> child
> >> >> > process.
> >> >> >
> >> >> > PCP Frontend connection:
> >> >> > This object can live till the pcp process so the object for pcp
> >> frontend
> >> >> is
> >> >> > created in TopMemoryContext.
> >> >> >
> >> >> > new configuration parameters
> >> >> > ========================
> >> >> >
> >> >> > The patch also adds three new configuration parameters to control
> the
> >> >> error
> >> >> > reporting style and details.
> >> >> > Parameters names and their behaviours are borrowed from PostgreSQL.
> >> >> >
> >> >> > int log_error_verbosity;    /* controls how much detail about error
> >> >> should
> >> >> > be emitted */
> >> >> >
> >> >> > int client_min_messages;    /*controls which message should be
> sent to
> >> >> > client */
> >> >> >
> >> >> > int log_min_messages;       /*controls which message should be
> >> emitted to
> >> >> > server log */
> >> >> >
> >> >> >
> >> >> > Some other notable changes introduced by the patch.
> >> >> > ==========================================
> >> >> >
> >> >> > The patch changes the error reporting behaviour and now pgpool-II
> >> tries
> >> >> to
> >> >> > send all the error and log messages to the connected frontend
> clients
> >> >> > (controllable by "client_min_messages" configuration parameter ).
> >> >> >
> >> >> > The patch added an extra call back "on_system_exit" to the elog
> API,
> >> >> which
> >> >> > is not present in the PostgreSQL.
> >> >> > The call back is called at system exit by elog API just before
> calling
> >> >> the
> >> >> > "on_shmem_exit" call backs.
> >> >> > "on_system_exit" is a single call back and can be used to clean up
> >> things
> >> >> > which are dependent on shared memory.
> >> >> >
> >> >> > "repalloc()" behaviour in PostgreSQL palloc API is little different
> >> from
> >> >> > C-API counterpart "realloc()".
> >> >> > ("realloc()" behaves as "malloc()" if ptr argument is NULL. While
> >> >> > "repalloc()" does not works on NULL pointers)
> >> >> > So I have changed the behaviour of "repalloc()" to make it more
> >> >> consistent
> >> >> > with C-API.
> >> >> >
> >> >> > The patch makes the libpcp exclusive for the tool binaries only
> >> (compile
> >> >> > with POOL_PRIVATE flag ). pgpool binary no longer has the
> dependancy
> >> on
> >> >> the
> >> >> > lib, and uses the pcp_stream.c function directly.
> >> >> > For this new arrangement the patch also rearranges the source code
> >> >> > organisation and moves the pcp_stream.c and pcp_error.c files to
> >> >> > src/utils/pcp directory from src/lib/pcp directory.
> >> >> >
> >> >> > What is still remaining.
> >> >> > ==================
> >> >> > 1- Need to decide the MemoryContext for memcache objects.
> >> >> > 2- Watchdog and few rewrite function are still without the
> managers.
> >> >> > 3- Replace all remaining occurrences of  pool_error, pool_debug,
> and
> >> >> > pool_log with appropriate ereport() calls
> >> >> > 4 -Code cleanup
> >> >> >
> >> >> > Reviews comments and suggestions are most welcome
> >> >> >
> >> >> > Thanks
> >> >> > Usama
> >> >>
> >>
>
> using pgpool-II at /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed
> *************************
> REGRESSION MODE : install
> PGPOOL-II       : /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed
> PostgreSQL bin  : /usr/local/pgsql/bin
> pgbench         : /usr/local/pgsql/bin/pgbench
> PostgreSQL jdbc : /usr/local/pgsql/share/postgresql-9.2-1003.jdbc4.jar
> *************************
> testing 001.load_balance...ok.
> testing 002.native_replication...ok.
> testing 003.failover...*** glibc detected *** pgpool: worker process:
> free(): invalid pointer: 0x00000000007756c8 ***
> ======= Backtrace: =========
> /lib64/libc.so.6(+0x763b6)[0x7fd2922cf3b6]
> pgpool: worker process[0x41d1ff]
> pgpool: worker process[0x436363]
> pgpool: worker process[0x436615]
> pgpool: worker process[0x405e94]
> pgpool: worker process[0x4072bf]
> pgpool: worker process[0x407425]
> pgpool: worker process[0x408d01]
> pgpool: worker process[0x404ef8]
> /lib64/libc.so.6(__libc_start_main+0xfd)[0x7fd292277b1d]
> pgpool: worker process[0x4040e9]
> ======= Memory map: ========
> 00400000-0050c000 r-xp 00000000 08:05 2635374
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool
> 0070c000-0070e000 rw-p 0010c000 08:05 2635374
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool
> 0070e000-00795000 rw-p 00000000 00:00 0
>  [heap]
> 7fd29044d000-7fd290463000 r-xp 00000000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7fd290463000-7fd290662000 ---p 00016000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7fd290662000-7fd290663000 rw-p 00015000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7fd290663000-7fd290883000 rw-s 00000000 00:04 61898777
> /SYSV00000000 (deleted)
> 7fd290883000-7fd29088f000 r-xp 00000000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7fd29088f000-7fd290a8e000 ---p 0000c000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7fd290a8e000-7fd290a8f000 r--p 0000b000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7fd290a8f000-7fd290a90000 rw-p 0000c000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7fd290a90000-7fd290a92000 r-xp 00000000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7fd290a92000-7fd290c91000 ---p 00002000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7fd290c91000-7fd290c92000 rw-p 00001000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7fd290c92000-7fd290c9a000 r-xp 00000000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
> 7fd290c9a000-7fd290e99000 ---p 00008000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
> 7fd290e99000-7fd290e9a000 rw-p 00007000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
> 7fd290e9a000-7fd290e9c000 r-xp 00000000 08:05 1704128
>  /lib64/libdl-2.11.1.so
> 7fd290e9c000-7fd29109c000 ---p 00002000 08:05 1704128
>  /lib64/libdl-2.11.1.so
> 7fd29109c000-7fd29109d000 r--p 00002000 08:05 1704128
>  /lib64/libdl-2.11.1.so
> 7fd29109d000-7fd29109e000 rw-p 00003000 08:05 1704128
>  /lib64/libdl-2.11.1.so
> 7fd29109e000-7fd2910c5000 r-xp 00000000 08:05 1704166
>  /lib64/libk5crypto.so.3.1
> 7fd2910c5000-7fd2912c4000 ---p 00027000 08:05 1704166
>  /lib64/libk5crypto.so.3.1
> 7fd2912c4000-7fd2912c6000 rw-p 00026000 08:05 1704166
>  /lib64/libk5crypto.so.3.1
> 7fd2912c6000-7fd2912c9000 r-xp 00000000 08:05 1704103
>  /lib64/libcom_err.so.2.1
> 7fd2912c9000-7fd2914c8000 ---p 00003000 08:05 1704103
>  /lib64/libcom_err.so.2.1
> 7fd2914c8000-7fd2914c9000 rw-p 00002000 08:05 1704103
>  /lib64/libcom_err.so.2.1
> 7fd2914c9000-7fd291597000 r-xp 00000000 08:05 1704179
>  /lib64/libkrb5.so.3.3
> 7fd291597000-7fd291796000 ---p 000ce000 08:05 1704179
>  /lib64/libkrb5.so.3.3
> 7fd291796000-7fd2917a1000 rw-p 000cd000 08:05 1704179
>  /lib64/libkrb5.so.3.3
> 7fd2917a1000-7fd2917d9000 r-xp 00000000 08:05 1704152
>  /lib64/libgssapi_krb5.so.2.2
> 7fd2917d9000-7fd2919d8000 ---p 00038000 08:05 1704152
>  /lib64/libgssapi_krb5.so.2.2
> 7fd2919d8000-7fd2919da000 rw-p 00037000 08:05 1704152
>  /lib64/libgssapi_krb5.so.2.2
> 7fd2919da000-7fd291a36000 r-xp 00000000 08:05 1970855
>  /usr/lib64/libfreebl3.so
> 7fd291a36000-7fd291c35000 ---p 0005c000 08:05 1970855
>  /usr/lib64/libfreebl3.so
> 7fd291c35000-7fd291c37000 rw-p 0005b000 08:05 1970855
>  /usr/lib64/libfreebl3.so
> 7fd291c37000-7fd291c3b000 rw-p 00000000 00:00 0
> 7fd291c3b000-7fd291dd1000 r-xp 00000000 08:05 1703939
>  /lib64/libcrypto.so.1.0.0l
> 7fd291dd1000-7fd291fd0000 ---p 00196000 08:05 1703939
>  /lib64/libcrypto.so.1.0.0l
> 7fd291fd0000-7fd291ff3000 rw-p 00195000 08:05 1703939
>  /lib64/libcrypto.so.1.0.0l
> 7fd291ff3000-7fd291ff7000 rw-p 00000000 00:00 0
> 7fd291ff7000-7fd292052000 r-xp 00000000 08:05 1703951
>  /lib64/libssl.so.1.0.0l
> 7fd292052000-7fd292251000 ---p 0005b000 08:05 1703951
>  /lib64/libssl.so.1.0.0l
> 7fd292251000-7fd292259000 rw-p 0005a000 08:05 1703951
>  /lib64/libssl.so.1.0.0l
> 7fd292259000-7fd2923ca000 r-xp 00000000 08:05 1703946
>  /lib64/libc-2.11.1.so
> 7fd2923ca000-7fd2925ca000 ---p 00171000 08:05 1703946
>  /lib64/libc-2.11.1.so
> 7fd2925ca000-7fd2925ce000 r--p 00171000 08:05 1703946
>  /lib64/libc-2.11.1.so
> 7fd2925ce000-7fd2925cf000 rw-p 00175000 08:05 1703946
>  /lib64/libc-2.11.1.so
> 7fd2925cf000-7fd2925d4000 rw-p 00000000 00:00 0
> 7fd2925d4000-7fd292656000 r-xp 00000000 08:05 1704182
>  /lib64/libm-2.11.1.so
> 7fd292656000-7fd292855000 ---p 00082000 08:05 1704182
>  /lib64/libm-2.11.1.so
> 7fd292855000-7fd292856000 r--p 00081000 08:05 1704182
>  /lib64/libm-2.11.1.so
> 7fd292856000-7fd292857000 rw-p 00082000 08:05 1704182
>  /lib64/libm-2.11.1.so
> 7fd292857000-7fd29286d000 r-xp 00000000 08:05 1704185
>  /lib64/libnsl-2.11.1.so
> 7fd29286d000-7fd292a6c000 ---p 00016000 08:05 1704185
>  /lib64/libnsl-2.11.1.so
> 7fd292a6c000-7fd292a6d000 r--p 00015000 08:05 1704185
>  /lib64/libnsl-2.11.1.so
> 7fd292a6d000-7fd292a6e000 rw-p 00016000 08:05 1704185
>  /lib64/libnsl-2.11.1.so
> 7fd292a6e000-7fd292a70000 rw-p 00000000 00:00 0
> 7fd292a70000-7fd292a86000 r-xp 00000000 08:05 1704202
>  /lib64/libresolv-2.11.1.so
> 7fd292a86000-7fd292c85000 ---p 00016000 08:05 1704202
>  /lib64/libresolv-2.11.1.so
> 7fd292c85000-7fd292c86000 r--p 00015000 08:05 1704202
>  /lib64/libresolv-2.11.1.so
> 7fd292c86000-7fd292c87000 rw-p 00016000 08:05 1704202
>  /lib64/libresolv-2.11.1.so
> 7fd292c87000-7fd292c89000 rw-p 00000000 00:00 0
> 7fd292c89000-7fd292c90000 r-xp 00000000 08:05 1703950
>  /lib64/libcrypt-2.11.1.so
> 7fd292c90000-7fd292e90000 ---p 00007000 08:05 1703950
>  /lib64/libcrypt-2.11.1.so
> 7fd292e90000-7fd292e91000 r--p 00007000 08:05 1703950
>  /lib64/libcrypt-2.11.1.so
> 7fd292e91000-7fd292e92000 rw-p 00008000 08:05 1703950
>  /lib64/libcrypt-2.11.1.so
> 7fd292e92000-7fd292ec0000 rw-p 00000000 00:00 0
> 7fd292ec0000-7fd292ed7000 r-xp 00000000 08:05 1703970
>  /lib64/libpthread-2.11.1.so
> 7fd292ed7000-7fd2930d6000 ---p 00017000 08:05 1703970
>  /lib64/libpthread-2.11.1.so
> 7fd2930d6000-7fd2930d7000 r--p 00016000 08:05 1703970
>  /lib64/libpthread-2.11.1.so
> 7fd2930d7000-7fd2930d8000 rw-p 00017000 08:05 1703970
>  /lib64/libpthread-2.11.1.so
> 7fd2930d8000-7fd2930dc000 rw-p 00000000 00:00 0
> 7fd2930fb000-7fd293102000 r-xp 00000000 08:05 2635363
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/lib/libpcp.so.0.0.0
> 7fd293102000-7fd293302000 ---p 00007000 08:05 2635363
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/lib/libpcp.so.0.0.0
> 7fd293302000-7fd293303000 rw-p 00007000 08:05 2635363
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/lib/libpcp.so.0.0.0
> 7fd293303000-7fd29332b000 r-xp 00000000 08:05 2004750
>  /usr/local/pgsql/lib/libpq.so.5.6
> 7fd29332b000-7fd29352a000 ---p 00028000 08:05 2004750
>  /usr/local/pgsql/lib/libpq.so.5.6
> 7fd29352a000-7fd29352d000 rw-p 00027000 08:05 2004750
>  /usr/local/pgsql/lib/libpq.so.5.6
> 7fd29352d000-7fd29354b000 r-xp 00000000 08:05 1703940
>  /lib64/ld-2.11.1.so
> 7fd29372e000-7fd29372f000 rw-s 00000000 00:04 61997084
> /SYSV00000000 (deleted)
> 7fd29372f000-7fd293730000 rw-s 00000000 00:04 61964315
> /SYSV00000000 (deleted)
> 7fd293730000-7fd293731000 rw-s 00000000 00:04 61931546
> /SYSV00000000 (deleted)
> 7fd293731000-7fd29373f000 rw-s 00000000 00:04 61866007
> /SYSV00000000 (deleted)
> 7fd29373f000-7fd29374a000 rw-p 00000000 00:00 0
> 7fd29374a000-7fd29374b000 r--p 0001d000 08:05 1703940
>  /lib64/ld-2.11.1.so
> 7fd29374b000-7fd29374c000 rw-p 0001e000 08:05 1703940
>  /lib64/ld-2.11.1.so
> 7fd29374c000-7fd29374d000 rw-p 00000000 00:00 0
> 7fffb3324000-7fffb3345000 rw-p 00000000 00:00 0
>  [stack]
> 7fffb33ff000-7fffb3400000 r-xp 00000000 00:00 0
>  [vdso]
> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
>  [vsyscall]
> *** glibc detected *** pgpool: worker process: free(): invalid pointer:
> 0x00000000007756c8 ***
> ======= Backtrace: =========
> /lib64/libc.so.6(+0x763b6)[0x7fd2922cf3b6]
> pgpool: worker process[0x41d1ff]
> pgpool: worker process[0x436363]
> pgpool: worker process[0x436615]
> pgpool: worker process[0x405e94]
> pgpool: worker process[0x4072bf]
> pgpool: worker process[0x407425]
> pgpool: worker process[0x408d01]
> pgpool: worker process[0x404ef8]
> /lib64/libc.so.6(__libc_start_main+0xfd)[0x7fd292277b1d]
> pgpool: worker process[0x4040e9]
> ======= Memory map: ========
> 00400000-0050c000 r-xp 00000000 08:05 2635374
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool
> 0070c000-0070e000 rw-p 0010c000 08:05 2635374
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool
> 0070e000-00795000 rw-p 00000000 00:00 0
>  [heap]
> 7fd29044d000-7fd290463000 r-xp 00000000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7fd290463000-7fd290662000 ---p 00016000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7fd290662000-7fd290663000 rw-p 00015000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7fd290663000-7fd290883000 rw-s 00000000 00:04 61898777
> /SYSV00000000 (deleted)
> 7fd290883000-7fd29088f000 r-xp 00000000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7fd29088f000-7fd290a8e000 ---p 0000c000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7fd290a8e000-7fd290a8f000 r--p 0000b000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7fd290a8f000-7fd290a90000 rw-p 0000c000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7fd290a90000-7fd290a92000 r-xp 00000000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7fd290a92000-7fd290c91000 ---p 00002000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7fd290c91000-7fd290c92000 rw-p 00001000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7fd290c92000-7fd290c9a000 r-xp 00000000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
> 7fd290c9a000-7fd290e99000 ---p 00008000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
> 7fd290e99000-7fd290e9a000 rw-p 00007000 08:05 1704181                   ok.
> testing 004.watchdog...ok.
> testing 005.jdbc...ok.
> testing 006.memqcache...ok.
> testing 050.bug58...ok.
> testing 051.bug60...ok.
> testing 052.do_query...ok.
> testing 053.insert_lock_hangs...ok.
> testing 054.postgres_fdw...ok.
> testing 055.backend_all_down...*** glibc detected *** /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool:
> double free or corruption (!prev): 0x000000000075c050 ***
> *** glibc detected *** pgpool: worker process: double free or corruption
> (!prev): 0x000000000075d490 ***
> ======= Backtrace: =========
> /lib64/libc.so.6(+0x763b6)[0x7f0dca1f93b6]
> /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool[0x41d1ff]
>
> /home/t-ishii/work/git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool[0x4058a7]
>
> /home/t-ishii/work/git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool[0x40882f]
>
> /home/t-ishii/work/git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool[0x404ef8]
> ======= Backtrace: =========
> /lib64/libc.so.6(__libc_start_main+0xfd)[0x7f0dca1a1b1d]
> /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool[0x4040e9]
> pgpool: worker process======= Memory map: ========
> /lib64/libc.so.6(__libc_start_main+0xfd)[0x7f0dca1a1b1d]
> pgpool: worker process[0x4040e9]
> ======= Memory map: ========
> 00400000-0050c000 r-xp 00000000 08:05 2635374
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool
> 0070c000-0070e000 rw-p 0010c000 08:05 2635374
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/bin/pgpool
> 0070e000-00771000 rw-p 00000000 00:00 0
>  [heap]
> 7f0dc8377000-7f0dc838d000 r-xp 00000000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7f0dc838d000-7f0dc858c000 ---p 00016000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7f0dc858c000-7f0dc858d000 rw-p 00015000 08:05 1704093
>  /lib64/libgcc_s-4.4.5.so.1
> 7f0dc858d000-7f0dc87ad000 rw-s 00000000 00:04 84148247
> /SYSV00000000 (deleted)
> 7f0dc87ad000-7f0dc87b9000 r-xp 00000000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7f0dc87b9000-7f0dc89b8000 ---p 0000c000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7f0dc89b8000-7f0dc89b9000 r--p 0000b000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7f0dc89b9000-7f0dc89ba000 rw-p 0000c000 08:05 1704191
>  /lib64/libnss_files-2.11.1.so
> 7f0dc89ba000-7f0dc89bc000 r-xp 00000000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7f0dc89bc000-7f0dc8bbb000 ---p 00002000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7f0dc8bbb000-7f0dc8bbc000 rw-p 00001000 08:05 1704176
>  /lib64/libkeyutils-1.2.so
> 7f0dc8bbc000-7f0dc8bc4000 r-xp 00000000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
> 7f0dc8bc4000-7f0dc8dc3000 ---p 00008000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
> 7f0dc8dc3000-7f0dc8dc4000 rw-p 00007000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
> 7f0dc8dc4000-7f0dc8dc6000 r-xp 00000000 08:05 1704128
>  /lib64/libdl-2.11.1.so
> 7f0dc8dc6000-7f0dc8fc6000 ---p 00002000 08:05 1704128
>  /lib64/libdl-2.11.1.so
> 7f0dc8fc6000-7f0dc8fc7000 r--p 00002000 08:05 1704128
>  /lib64/libdl-2.11.1.so
> 7f0dc8fc7000-7f0dc8fc8000 rw-p 00003000 08:05 1704128
>  /lib64/libdl-2.11.1.so
> 7f0dc8fc8000-7f0dc8fef000 r-xp 00000000 08:05 1704166
>  /lib64/libk5crypto.so.3.1
> 7f0dc8fef000-7f0dc91ee000 ---p 00027000 08:05 1704166
>  /lib64/libk5crypto.so.3.1
> 7f0dc91ee000-7f0dc91f0000 rw-p 00026000 08:05 1704166
>  /lib64/libk5crypto.so.3.1
> 7f0dc91f0000-7f0dc91f3000 r-xp 00000000 08:05 1704103
>  /lib64/libcom_err.so.2.1
> 7f0dc91f3000-7f0dc93f2000 ---p 00003000 08:05 1704103
>  /lib64/libcom_err.so.2.1
> 7f0dc93f2000-7f0dc93f3000 rw-p 00002000 08:05 1704103
>  /lib64/libcom_err.so.2.1
> 7f0dc93f3000-7f0dc94c1000 r-xp 00000000 08:05 1704179
>  /lib64/libkrb5.so.3.3
> 7f0dc94c1000-7f0dc96c0000 ---p 000ce000 08:05 1704179
>  /lib64/libkrb5.so.3.3
> 7f0dc96c0000-7f0dc96cb000 rw-p 000cd000 08:05 1704179
>  /lib64/libkrb5.so.3.3
> 7f0dc96cb000-7f0dc9703000 r-xp 00000000 08:05 1704152
>  /lib64/libgssapi_krb5.so.2.2
> 7f0dc9703000-7f0dc9902000 ---p 00038000 08:05 1704152
>  /lib64/libgssapi_krb5.so.2.2
> 7f0dc9902000-7f0dc9904000 rw-p 00037000 08:05 1704152
>  /lib64/libgssapi_krb5.so.2.2
> 7f0dc9904000-7f0dc9960000 r-xp 00000000 08:05 1970855
>  /usr/lib64/libfreebl3.so
> 7f0dc9960000-7f0dc9b5f000 ---p 0005c000 08:05 1970855
>  /usr/lib64/libfreebl3.so
> 7f0dc9b5f000-7f0dc9b61000 rw-p 0005b000 08:05 1970855
>  /usr/lib64/libfreebl3.so
> 7f0dc9b61000-7f0dc9b65000 rw-p 00000000 00:00 0
> 7f0dc9b65000-7f0dc9cfb000 r-xp 00000000 08:05 1703939
>  /lib64/libcrypto.so.1.0.0l
> 7f0dc9cfb000-7f0dc9efa000 ---p 00196000 08:05 1703939
>  /lib64/libcrypto.so.1.0.0l
> 7f0dc9efa000-7f0dc9f1d000 rw-p 00195000 08:05 1703939
>  /lib64/libcrypto.so.1.0.0l
> 7f0dc9f1d000-7f0dc9f21000 rw-p 00000000 00:00 0
> 7f0dc9f21000-7f0dc9f7c000 r-xp 00000000 08:05 1703951
>  /lib64/libssl.so.1.0.0l
> 7f0dc9f7c000-7f0dca17b000 ---p 0005b000 08:05 1703951
>  /lib64/libssl.so.1.0.0l
> 7f0dca17b000-7f0dca183000 rw-p 0005a000 08:05 1703951
>  /lib64/libssl.so.1.0.0l
> 7f0dca183000-7f0dca2f4000 r-xp 00000000 08:05 1703946
>  /lib64/libc-2.11.1.so
> 7f0dca2f4000-7f0dca4f4000 ---p 00171000 08:05 1703946
>  /lib64/libc-2.11.1.so
> 7f0dca4f4000-7f0dca4f8000 r--p 00171000 08:05 1703946
>  /lib64/libc-2.11.1.so
> 7f0dca4f8000-7f0dca4f9000 rw-p 00175000 08:05 1703946
>  /lib64/libc-2.11.1.so
> 7f0dca4f9000-7f0dca4fe000 rw-p 00000000 00:00 0
> 7f0dca4fe000-7f0dca580000 r-xp 00000000 08:05 1704182
>  /lib64/libm-2.11.1.so
> 7f0dca580000-7f0dca77f000 ---p 00082000 08:05 1704182
>  /lib64/libm-2.11.1.so
> 7f0dca77f000-7f0dca780000 r--p 00081000 08:05 1704182
>  /lib64/libm-2.11.1.so
> 7f0dca780000-7f0dca781000 rw-p 00082000 08:05 1704182
>  /lib64/libm-2.11.1.so
> 7f0dca781000-7f0dca797000 r-xp 00000000 08:05 1704185
>  /lib64/libnsl-2.11.1.so
> 7f0dca797000-7f0dca996000 ---p 00016000 08:05 1704185
>  /lib64/libnsl-2.11.1.so
> 7f0dca996000-7f0dca997000 r--p 00015000 08:05 1704185
>  /lib64/libnsl-2.11.1.so
> 7f0dca997000-7f0dca998000 rw-p 00016000 08:05 1704185
>  /lib64/libnsl-2.11.1.so
> 7f0dca998000-7f0dca99a000 rw-p 00000000 00:00 0
> 7f0dca99a000-7f0dca9b0000 r-xp 00000000 08:05 1704202
>  /lib64/libresolv-2.11.1.so
> 7f0dca9b0000-7f0dcabaf000 ---p 00016000 08:05 1704202
>  /lib64/libresolv-2.11.1.so
> 7f0dcabaf000-7f0dcabb0000 r--p 00015000 08:05 1704202
>  /lib64/libresolv-2.11.1.so
> 7f0dcabb0000-7f0dcabb1000 rw-p 00016000 08:05 1704202
>  /lib64/libresolv-2.11.1.so
> 7f0dcabb1000-7f0dcabb3000 rw-p 00000000 00:00 0
> 7f0dcabb3000-7f0dcabba000 r-xp 00000000 08:05 1703950
>  /lib64/libcrypt-2.11.1.so
> 7f0dcabba000-7f0dcadba000 ---p 00007000 08:05 1703950
>  /lib64/libcrypt-2.11.1.so
> 7f0dcadba000-7f0dcadbb000 r--p 00007000 08:05 1703950
>  /lib64/libcrypt-2.11.1.so
> 7f0dcadbb000-7f0dcadbc000 rw-p 00008000 08:05 1703950
>  /lib64/libcrypt-2.11.1.so
> 7f0dcadbc000-7f0dcadea000 rw-p 00000000 00:00 0
> 7f0dcadea000-7f0dcae01000 r-xp 00000000 08:05 1703970
>  /lib64/libpthread-2.11.1.so
> 7f0dcae01000-7f0dcb000000 ---p 00017000 08:05 1703970
>  /lib64/libpthread-2.11.1.so
> 7f0dcb000000-7f0dcb001000 r--p 00016000 08:05 1703970
>  /lib64/libpthread-2.11.1.so
> 7f0dcb001000-7f0dcb002000 rw-p 00017000 08:05 1703970
>  /lib64/libpthread-2.11.1.so
> 7f0dcb002000-7f0dcb006000 rw-p 00000000 00:00 0
> 7f0dcb025000-7f0dcb02c000 r-xp 00000000 08:05 2635363
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/lib/libpcp.so.0.0.0
> 7f0dcb02c000-7f0dcb22c000 ---p 00007000 08:05 2635363
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/lib/libpcp.so.0.0.0
> 7f0dcb22c000-7f0dcb22d000 rw-p 00007000 08:05 2635363
>  /home/t-ishii/work/
> git.postgresql.org/pgpool2/src/test/regression/temp/installed/lib/libpcp.so.0.0.0
> 7f0dcb22d000-7f0dcb255000 r-xp 00000000 08:05 2004750
>  /usr/local/pgsql/lib/libpq.so.5.6
> 7f0dcb255000-7f0dcb454000 ---p 00028000 08:05 2004750
>  /usr/local/pgsql/lib/libpq.so.5.6
> 7f0dcb454000-7f0dcb457000 rw-p 00027000 08:05 2004750
>  /usr/local/pgsql/lib/libpq.so.5.6
> 7f0dcb457000-7f0dcb475000 r-xp 00000000 08:05 1703940
>  /lib64/ld-2.11.1.so
> 7f0dcb658000-7f0dcb659000 rw-s 00000000 00:04 84246555
> /SYSV00000000 (deleted)
> 7f0dcb659000-7f0dcb65a000 rw-s 00000000 00:04 84213786
> /SYSV00000000 (deleted)
> 7f0dcb65a000-7f0dcb65b000 rw-s 00000000 00:04 84181017
> /SYSV00000000 (deleted)
> 7f0dcb65b000-7f0dcb669000 rw-s 00000000 00:04 84115478
> /SYSV00000000 (deleted)
> 7f0dcb669000-7f0dcb674000 rw-p 00000000 00:00 0
> 7f0dcb674000-7f0dcb675000 r--p 0001d000 08:05 1703940
>  /lib64/ld-2.11.1.so
> 7f0dcb675000-7f0dcb676000 rw-p 0001e000 08:05 1703940
>  /lib64/ld-2.11.1.so
> 7f0dcb676000-7f0dcb677000 rw-p 00000000 00:00 0
> 7fff746e1000-7fff74702000 rw-p 00000000 00:00 0
>  [stack]
> 7fff747ff000-7fff74800000 r-xp 00000000 00:00 0
>  [vdso]
> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
>  [vsyscall]
> 7fd290c92000-7fd290c9a000 r-xp 00000000 08:05 1704181
>  /lib64/libkrb5support.so.0.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-hackers/attachments/20140319/479e4bfa/attachment-0001.html>


More information about the pgpool-hackers mailing list