View Issue Details

IDProjectCategoryView StatusLast Update
0000031Pgpool-IIBugpublic2013-02-09 11:15
ReporterjgentschAssigned Tot-ishii 
PrioritynormalSeveritycrashReproducibilitysometimes
Status resolvedResolutionopen 
PlatformOSCentOSOS Version5.8
Product Version 
Target VersionFixed in Version 
Summary0000031: pgpool V3_2_STABLE - segfault in pool_memqcache.c:2529
DescriptionI'm using shmem and master-slave streaming replication. We're getting segmentation faults occasionally. I'm not sure what it is about the SQL that may make a difference, but I'll include the back trace for the specific child process that died.
TagsNo tags attached.

Activities

jgentsch

2012-10-23 06:25

reporter  

pgpool_V3_2_STABLE_shmem_segfault.txt (1,181 bytes)
#0  0x000000000044c16a in pool_add_query_cache_array (backend=0xdfe1e60, query=0xe00e5f8 "SELECT *\nFROM dms.dm_doc_category\nWHERE \"parent_id\" = '244'\nORDER BY label asc", node=<value optimized out>, state=84 'T')
    at pool_memqcache.c:2529
#1  pool_handle_query_cache (backend=0xdfe1e60, query=0xe00e5f8 "SELECT *\nFROM dms.dm_doc_category\nWHERE \"parent_id\" = '244'\nORDER BY label asc", node=<value optimized out>, state=84 'T') at pool_memqcache.c:2937
#2  0x0000000000446af5 in ReadyForQuery (frontend=0xe005100, backend=0xdfe1e60, send_ready=1 '\001', cache_commit=1 '\001') at pool_proto_modules.c:1760
#3  0x0000000000446f4a in ProcessBackendResponse (frontend=0xe005100, backend=0xdfe1e60, state=0x7fff14597d00, num_fields=0x7fff14597d04) at pool_proto_modules.c:2590
#4  0x000000000041a3b5 in pool_process_query (frontend=0xe005100, backend=0xdfe1e60, reset_request=0) at pool_process_query.c:274
#5  0x000000000040a378 in do_child (unix_fd=5, inet_fd=6) at child.c:362
#6  0x00000000004046e5 in fork_a_child (unix_fd=5, inet_fd=6, id=51) at main.c:1243
#7  0x0000000000407184 in main (argc=<value optimized out>, argv=<value optimized out>) at main.c:661

jgentsch

2012-10-23 06:28

reporter   ~0000120

I would suspect that it may be the newline characters.

jgentsch

2012-10-23 06:54

reporter   ~0000121

I get the same result without the \n and the \".

t-ishii

2012-10-27 06:25

developer   ~0000126

Can you print the value of variables?

cache_array
cache_array->caches
cache_array->num_caches

jgentsch

2012-11-03 00:56

reporter   ~0000137

I apologize for the delayed reply.
Is this what you're looking for?

(gdb) print cache_array
$1 = (POOL_QUERY_CACHE_ARRAY *) 0x2ad527c0b010
(gdb) print cache_array->caches
$2 = {0x6d64204d4f52460a}
(gdb) print cache_array->num_caches
$3 = 1162626387

If it helps, here are my cache settings:
memory_cache_enabled = on
memqcache_method = 'shmem'
memqcache_total_size = 1073741824
memqcache_max_num_cache = 1000000
memqcache_expire = 0
memqcache_auto_cache_invalidation = on
memqcache_maxcache = 104857600
memqcache_cache_block_size = 104857600

It's a pretty large shmem allocation, but it shouldn't be an issue.

Thanks for looking at this.

t-ishii

2012-11-09 09:28

developer   ~0000142

Thanks for the back trace. I found a nasty bug with the module in charge of query cache array handling. The cache arrary is used to keep temporary cache results in a transaction. If there are more than 128 SELECTs in a transaction, the module expands cache_arrary by using realloc. However it does not record the new pointer returned by realloc. So the module keeps on using the old pointer which is absoleted. Attached patch fix the problem. Could you please try it?

t-ishii

2012-11-09 09:29

developer  

query_cache.patch (2,931 bytes)
diff --git a/pool_memqcache.c b/pool_memqcache.c
index 663c549..4546c7f 100644
--- a/pool_memqcache.c
+++ b/pool_memqcache.c
@@ -78,7 +78,7 @@ static void pool_reset_memqcache_buffer(void);
 static POOL_CACHEID *pool_add_item_shmem_cache(POOL_QUERY_HASH *query_hash, char *data, int size);
 static POOL_CACHEID *pool_find_item_on_shmem_cache(POOL_QUERY_HASH *query_hash);
 static char *pool_get_item_shmem_cache(POOL_QUERY_HASH *query_hash, int *size, int *sts);
-static void pool_add_query_cache_array(POOL_QUERY_CACHE_ARRAY *cache_array, POOL_TEMP_QUERY_CACHE *cache);
+static POOL_QUERY_CACHE_ARRAY * pool_add_query_cache_array(POOL_QUERY_CACHE_ARRAY *cache_array, POOL_TEMP_QUERY_CACHE *cache);
 static void pool_add_temp_query_cache(POOL_TEMP_QUERY_CACHE *temp_cache, char kind, char *data, int data_len);
 static void pool_add_oids_temp_query_cache(POOL_TEMP_QUERY_CACHE *temp_cache, int num_oids, int *oids);
 static POOL_INTERNAL_BUFFER *pool_create_buffer(void);
@@ -2472,10 +2472,12 @@ static void dump_shmem_cache(POOL_CACHE_BLOCKID blockid)
 POOL_QUERY_CACHE_ARRAY *pool_create_query_cache_array(void)
 {
 #define POOL_QUERY_CACHE_ARRAY_ALLOCATE_NUM 128
+#define POOL_QUERY_CACHE_ARRAY_HEADER_SIZE (sizeof(int)+sizeof(int))
+
 	size_t size;
 	POOL_QUERY_CACHE_ARRAY *p;
 
-	size = sizeof(int) + sizeof(int) + POOL_QUERY_CACHE_ARRAY_ALLOCATE_NUM *
+	size = POOL_QUERY_CACHE_ARRAY_HEADER_SIZE + POOL_QUERY_CACHE_ARRAY_ALLOCATE_NUM *
 		sizeof(POOL_TEMP_QUERY_CACHE *);
 	p = malloc(size);
 	if (!p)
@@ -2508,26 +2510,28 @@ void pool_discard_query_cache_array(POOL_QUERY_CACHE_ARRAY *cache_array)
 /*
  * Add query cache array
  */
-static void pool_add_query_cache_array(POOL_QUERY_CACHE_ARRAY *cache_array, POOL_TEMP_QUERY_CACHE *cache)
+static POOL_QUERY_CACHE_ARRAY * pool_add_query_cache_array(POOL_QUERY_CACHE_ARRAY *cache_array, POOL_TEMP_QUERY_CACHE *cache)
 {
 	size_t size;
+	POOL_QUERY_CACHE_ARRAY *cp = cache_array;
 
 	if (!cache_array)
-		return;
+		return cp;
 
 	if (cache_array->num_caches >= 	cache_array->array_size)
 	{
 		cache_array->array_size += POOL_QUERY_CACHE_ARRAY_ALLOCATE_NUM;
-		size = cache_array->array_size + sizeof(int) + cache_array->array_size *
+		size = POOL_QUERY_CACHE_ARRAY_HEADER_SIZE + cache_array->array_size *
 			sizeof(POOL_TEMP_QUERY_CACHE *);
 		cache_array = realloc(cache_array, size);
 		if (!cache_array)
 		{
 			pool_error("pool_add_query_cache_array: malloc failed");
-			return;
+			return cp;
 		}
 	}
 	cache_array->caches[cache_array->num_caches++] = cache;
+	return cache_array;
 }
 
 /*
@@ -2954,7 +2958,8 @@ void pool_handle_query_cache(POOL_CONNECTION_POOL *backend, char *query, Node *n
 			 */
 			else
 			{
-				pool_add_query_cache_array(session_context->query_cache_array, cache);
+				session_context->query_cache_array = 
+					pool_add_query_cache_array(session_context->query_cache_array, cache);
 			}
 
 			/* Count up temporary SELECT stats */
query_cache.patch (2,931 bytes)

a.mizurov

2012-11-13 22:08

reporter   ~0000144

bug fixed after applying the patch

a.mizurov

2012-11-14 06:12

reporter   ~0000145

sorry, bug appears again

t-ishii

2012-11-14 07:40

developer   ~0000146

Can you please provide back trace again?

a.mizurov

2012-11-15 00:29

reporter  

error_pgpool.txt (15,664 bytes)
*** glibc detected *** pgpool: test test 192.168.1.10(3277) idle in transaction: double free or corruption (!prev): 0x0000000001056010 ***
======= Backtrace: =========
/lib64/libc.so.6[0x35de075916]
/lib64/libc.so.6[0x35de078443]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x44ca77]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x44cae0]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x44d00f]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x44f19c]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x447e1e]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x448b2e]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x41b425]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x40acf0]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x4046f5]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x40745c]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x35de01ecdd]
pgpool: test test 192.168.1.10(3277) idle in transaction[0x4039e9]
======= Memory map: ========
00400000-004ef000 r-xp 00000000 fd:00 287700                             /usr/pgsql-9.2/pgpool/bin/pgpool
006ee000-006f0000 rw-p 000ee000 fd:00 287700                             /usr/pgsql-9.2/pgpool/bin/pgpool
006f0000-0070f000 rw-p 00000000 00:00 0 
00f30000-00f51000 rw-p 00000000 00:00 0 
00f51000-0109a000 rw-p 00000000 00:00 0 
30d6200000-30d621d000 r-xp 00000000 fd:00 284012                         /lib64/libselinux.so.1
30d621d000-30d641c000 ---p 0001d000 fd:00 284012                         /lib64/libselinux.so.1
30d641c000-30d641d000 r--p 0001c000 fd:00 284012                         /lib64/libselinux.so.1
30d641d000-30d641e000 rw-p 0001d000 fd:00 284012                         /lib64/libselinux.so.1
30d641e000-30d641f000 rw-p 00000000 00:00 0 
30d6600000-30d6607000 r-xp 00000000 fd:00 284007                         /lib64/libcrypt-2.12.so
30d6607000-30d6807000 ---p 00007000 fd:00 284007                         /lib64/libcrypt-2.12.so
30d6807000-30d6808000 r--p 00007000 fd:00 284007                         /lib64/libcrypt-2.12.so
30d6808000-30d6809000 rw-p 00008000 fd:00 284007                         /lib64/libcrypt-2.12.so
30d6809000-30d6837000 rw-p 00000000 00:00 0 
30d6a00000-30d6a5d000 r-xp 00000000 fd:00 280446                         /lib64/libfreebl3.so
30d6a5d000-30d6c5c000 ---p 0005d000 fd:00 280446                         /lib64/libfreebl3.so
30d6c5c000-30d6c5d000 r--p 0005c000 fd:00 280446                         /lib64/libfreebl3.so
30d6c5d000-30d6c5e000 rw-p 0005d000 fd:00 280446                         /lib64/libfreebl3.so
30d6c5e000-30d6c62000 rw-p 00000000 00:00 0 
30d6e00000-30d6f33000 r-xp 00000000 fd:00 284042                         /usr/lib64/libnss3.so
30d6f33000-30d7133000 ---p 00133000 fd:00 284042                         /usr/lib64/libnss3.so
30d7133000-30d7138000 r--p 00133000 fd:00 284042                         /usr/lib64/libnss3.so
30d7138000-30d713a000 rw-p 00138000 fd:00 284042                         /usr/lib64/libnss3.so
30d713a000-30d713c000 rw-p 00000000 00:00 0 
30d7200000-30d7220000 r-xp 00000000 fd:00 284040                         /usr/lib64/libnssutil3.so
30d7220000-30d741f000 ---p 00020000 fd:00 284040                         /usr/lib64/libnssutil3.so
30d741f000-30d7425000 r--p 0001f000 fd:00 284040                         /usr/lib64/libnssutil3.so
30d7425000-30d7426000 rw-p 00025000 fd:00 284040                         /usr/lib64/libnssutil3.so
30d7600000-30d7639000 r-xp 00000000 fd:00 265435                         /lib64/libnspr4.so
30d7639000-30d7838000 ---p 00039000 fd:00 265435                         /lib64/libnspr4.so
30d7838000-30d7839000 r--p 00038000 fd:00 265435                         /lib64/libnspr4.so
30d7839000-30d783b000 rw-p 00039000 fd:00 265435                         /lib64/libnspr4.so
30d783b000-30d783d000 rw-p 00000000 00:00 0 
30d7a00000-30d7a03000 r-xp 00000000 fd:00 284030                         /lib64/libplds4.so
30d7a03000-30d7c02000 ---p 00003000 fd:00 284030                         /lib64/libplds4.so
30d7c02000-30d7c03000 r--p 00002000 fd:00 284030                         /lib64/libplds4.so
30d7c03000-30d7c04000 rw-p 00003000 fd:00 284030                         /lib64/libplds4.so
30d7e00000-30d7e04000 r-xp 00000000 fd:00 284029                         /lib64/libplc4.so
30d7e04000-30d8003000 ---p 00004000 fd:00 284029                         /lib64/libplc4.so
30d8003000-30d8004000 r--p 00003000 fd:00 284029                         /lib64/libplc4.so
30d8004000-30d8005000 rw-p 00004000 fd:00 284029                         /lib64/libplc4.so
30d8200000-30d8228000 r-xp 00000000 fd:00 284060                         /usr/lib64/libsmime3.so
30d8228000-30d8428000 ---p 00028000 fd:00 284060                         /usr/lib64/libsmime3.so
30d8428000-30d842b000 r--p 00028000 fd:00 284060                         /usr/lib64/libsmime3.so
30d842b000-30d842c000 rw-p 0002b000 fd:00 284060                         /usr/lib64/libsmime3.so
30d8600000-30d8638000 r-xp 00000000 fd:00 284044                         /usr/lib64/libssl3.so
30d8638000-30d8838000 ---p 00038000 fd:00 284044                         /usr/lib64/libssl3.so
30d8838000-30d883a000 r--p 00038000 fd:00 284044                         /usr/lib64/libssl3.so
30d883a000-30d883b000 rw-p 0003a000 fd:00 284044                         /usr/lib64/libssl3.so
30d883b000-30d883c000 rw-p 00000000 00:00 0 
30d8a00000-30d8a0a000 r-xp 00000000 fd:00 287807                         /lib64/libkrb5support.so.0.1
30d8a0a000-30d8c09000 ---p 0000a000 fd:00 287807                         /lib64/libkrb5support.so.0.1
30d8c09000-30d8c0a000 r--p 00009000 fd:00 287807                         /lib64/libkrb5support.so.0.1
30d8c0a000-30d8c0b000 rw-p 0000a000 fd:00 287807                         /lib64/libkrb5support.so.0.1
30d8e00000-30d8e2a000 r-xp 00000000 fd:00 287811                         /lib64/libk5crypto.so.3.1
30d8e2a000-30d9029000 ---p 0002a000 fd:00 287811                         /lib64/libk5crypto.so.3.1
30d9029000-30d902b000 r--p 00029000 fd:00 287811                         /lib64/libk5crypto.so.3.1
30d902b000-30d902c000 rw-p 0002b000 fd:00 287811                         /lib64/libk5crypto.so.3.1
30d9200000-30d92d4000 r-xp 00000000 fd:00 287812                         /lib64/libkrb5.so.3.3
30d92d4000-30d94d4000 ---p 000d4000 fd:00 287812                         /lib64/libkrb5.so.3.3
30d94d4000-30d94dd000 r--p 000d4000 fd:00 287812                         /lib64/libkrb5.so.3.3
30d94dd000-30d94df000 rw-p 000dd000 fd:00 287812                         /lib64/libkrb5.so.3.3
30d9600000-30d9602000 r-xp 00000000 fd:00 287802                         /lib64/libkeyutils.so.1.3
30d9602000-30d9801000 ---p 00002000 fd:00 287802                         /lib64/libkeyutils.so.1.3
30d9801000-30d9802000 r--p 00001000 fd:00 287802                         /lib64/libkeyutils.so.1.3
30d9802000-30d9803000 rw-p 00002000 fd:00 287802                         /lib64/libkeyutils.so.1.3
30d9a00000-30d9a19000 r-xp 00000000 fd:00 287799                         /usr/lib64/libsasl2.so.2.0.23
30d9a19000-30d9c18000 ---p 00019000 fd:00 287799                         /usr/lib64/libsasl2.so.2.0.23
30d9c18000-30d9c19000 r--p 00018000 fd:00 287799                         /usr/lib64/libsasl2.so.2.0.23
30d9c19000-30d9c1a000 rw-p 00019000 fd:00 287799                         /usr/lib64/libsasl2.so.2.0.23
30d9e00000-30d9e4e000 r-xp 00000000 fd:00 280114                         /lib64/libldap_r-2.4.so.2.5.6
30d9e4e000-30da04e000 ---p 0004e000 fd:00 280114                         /lib64/libldap_r-2.4.so.2.5.6
30da04e000-30da04f000 r--p 0004e000 fd:00 280114                         /lib64/libldap_r-2.4.so.2.5.6
30da04f000-30da051000 rw-p 0004f000 fd:00 280114                         /lib64/libldap_r-2.4.so.2.5.6
30da051000-30da053000 rw-p 00000000 00:00 0 
30da200000-30da23f000 r-xp 00000000 fd:00 287813                         /lib64/libgssapi_krb5.so.2.2
30da23f000-30da43f000 ---p 0003f000 fd:00 287813                         /lib64/libgssapi_krb5.so.2.2
30da43f000-30da440000 r--p 0003f000 fd:00 287813                         /lib64/libgssapi_krb5.so.2.2
30da440000-30da442000 rw-p 00040000 fd:00 287813                         /lib64/libgssapi_krb5.so.2.2
30da600000-30da774000 r-xp 00000000 fd:00 287814                         /usr/lib64/libcrypto.so.1.0.0
30da774000-30da973000 ---p 00174000 fd:00 287814                         /usr/lib64/libcrypto.so.1.0.0
30da973000-30da98c000 r--p 00173000 fd:00 287814                         /usr/lib64/libcrypto.so.1.0.0
30da98c000-30da996000 rw-p 0018c000 fd:00 287814                         /usr/lib64/libcrypto.so.1.0.0
30da996000-30da99a000 rw-p 00000000 00:00 0 
30dae00000-30dae0e000 r-xp 00000000 fd:00 284061                         /lib64/liblber-2.4.so.2.5.6
30dae0e000-30db00d000 ---p 0000e000 fd:00 284061                         /lib64/liblber-2.4.so.2.5.6
30db00d000-30db00e000 r--p 0000d000 fd:00 284061                         /lib64/liblber-2.4.so.2.5.6
30db00e000-30db00f000 rw-p 0000e000 fd:00 284061                         /lib64/liblber-2.4.so.2.5.6
30db200000-30db253000 r-xp 00000000 fd:00 287815                         /usr/lib64/libssl.so.1.0.0
30db253000-30db453000 ---p 00053000 fd:00 287815                         /usr/lib64/libssl.so.1.0.0
30db453000-30db456000 r--p 00053000 fd:00 287815                         /usr/lib64/libssl.so.1.0.0
30db456000-30db45b000 rw-p 00056000 fd:00 287815                         /usr/lib64/libssl.so.1.0.0
35ddc00000-35ddc20000 r-xp 00000000 fd:00 263607                         /lib64/ld-2.12.so
35dde1f000-35dde20000 r--p 0001f000 fd:00 263607                         /lib64/ld-2.12.so
35dde20000-35dde21000 rw-p 00020000 fd:00 263607                         /lib64/ld-2.12.so
35dde21000-35dde22000 rw-p 00000000 00:00 0 
35de000000-35de189000 r-xp 00000000 fd:00 263615                         /lib64/libc-2.12.so
35de189000-35de389000 ---p 00189000 fd:00 263615                         /lib64/libc-2.12.so
35de389000-35de38d000 r--p 00189000 fd:00 263615                         /lib64/libc-2.12.so
35de38d000-35de38e000 rw-p 0018d000 fd:00 263615                         /lib64/libc-2.12.so
35de38e000-35de393000 rw-p 00000000 00:00 0 
35de800000-35de817000 r-xp 00000000 fd:00 263617                         /lib64/libpthread-2.12.so
35de817000-35dea17000 ---p 00017000 fd:00 263617                         /lib64/libpthread-2.12.so
35dea17000-35dea18000 r--p 00017000 fd:00 263617                         /lib64/libpthread-2.12.so
35dea18000-35dea19000 rw-p 00018000 fd:00 263617                         /lib64/libpthread-2.12.so
35dea19000-35dea1d000 rw-p 00000000 00:00 0 
35dec00000-35dec15000 r-xp 00000000 fd:00 268364                         /lib64/libz.so.1.2.3
35dec15000-35dee14000 ---p 00015000 fd:00 268364                         /lib64/libz.so.1.2.3
35dee14000-35dee15000 r--p 00014000 fd:00 268364                         /lib64/libz.so.1.2.3
35dee15000-35dee16000 rw-p 00015000 fd:00 268364                         /lib64/libz.so.1.2.3
35df000000-35df083000 r-xp 00000000 fd:00 264651                         /lib64/libm-2.12.so
35df083000-35df282000 ---p 00083000 fd:00 264651                         /lib64/libm-2.12.so
35df282000-35df283000 r--p 00082000 fd:00 264651                         /lib64/libm-2.12.so
35df283000-35df284000 rw-p 00083000 fd:00 264651                         /lib64/libm-2.12.so
35e0400000-35e0416000 r-xp 00000000 fd:00 268415                         /lib64/libresolv-2.12.so
35e0416000-35e0616000 ---p 00016000 fd:00 268415                         /lib64/libresolv-2.12.so
35e0616000-35e0617000 r--p 00016000 fd:00 268415                         /lib64/libresolv-2.12.so
35e0617000-35e0618000 rw-p 00017000 fd:00 268415                         /lib64/libresolv-2.12.so
35e0618000-35e061a000 rw-p 00000000 00:00 0 
35e1400000-35e1416000 r-xp 00000000 fd:00 267927                         /lib64/libnsl-2.12.so
35e1416000-35e1615000 ---p 00016000 fd:00 267927                         /lib64/libnsl-2.12.so
35e1615000-35e1616000 r--p 00015000 fd:00 267927                         /lib64/libnsl-2.12.so
35e1616000-35e1617000 rw-p 00016000 fd:00 267927                         /lib64/libnsl-2.12.so
35e1617000-35e1619000 rw-p 00000000 00:00 0 
35e1800000-35e1816000 r-xp 00000000 fd:00 264738                         /lib64/libgcc_s-4.4.6-20120305.so.1
35e1816000-35e1a15000 ---p 00016000 fd:00 264738                         /lib64/libgcc_s-4.4.6-20120305.so.1
35e1a15000-35e1a16000 rw-p 00015000 fd:00 264738                         /lib64/libgcc_s-4.4.6-20120305.so.1
35e2000000-35e2003000 r-xp 00000000 fd:00 270634                         /lib64/libcom_err.so.2.1
35e2003000-35e2202000 ---p 00003000 fd:00 270634                         /lib64/libcom_err.so.2.1
35e2202000-35e2203000 r--p 00002000 fd:00 270634                         /lib64/libcom_err.so.2.1
35e2203000-35e2204000 rw-p 00003000 fd:00 270634                         /lib64/libcom_err.so.2.1
393d800000-393d802000 r-xp 00000000 fd:00 285443                         /lib64/libdl-2.12.so
393d802000-393da02000 ---p 00002000 fd:00 285443                         /lib64/libdl-2.12.so
393da02000-393da03000 r--p 00002000 fd:00 285443                         /lib64/libdl-2.12.so
393da03000-393da04000 rw-p 00003000 fd:00 285443                         /lib64/libdl-2.12.so
7f18aea5f000-7f18aef73000 rw-p 00000000 00:00 0 
7f18aef73000-7f18aef74000 rw-s 00000000 00:04 327690                     /SYSV00000000 (deleted)
7f18aef74000-7f18b1f74000 rw-s 00000000 00:04 294921                     /SYSV00000000 (deleted)
7f18b1f74000-7f18b2f75000 rw-s 00000000 00:04 262152                     /SYSV00000000 (deleted)
7f18b2f75000-7f18bf775000 rw-s 00000000 00:04 163845                     /SYSV00000000 (deleted)
7f18bf775000-7f18bfb71000 rw-s 00000000 00:04 32769                      /SYSV00000000 (deleted)
7f18bfb71000-7f18bfb7f000 rw-s 00000000 00:04 0                          /SYSV00000000 (deleted)
7f18bfb7f000-7f18bfb8d000 rw-p 00000000 00:00 0 
7f18bfb90000-7f18bfb91000 rw-p 00000000 00:00 0 
7f18bfb91000-7f18bfb92000 rw-s 00000000 00:04 229383                     /SYSV00000000 (deleted)
7f18bfb92000-7f18bfb93000 rw-s 00000000 00:04 196614                     /SYSV00000000 (deleted)
7f18bfb93000-7f18bfb94000 rw-s 00000000 00:04 131076                     /SYSV00000000 (deleted)
7f18bfb94000-7f18bfb95000 rw-s 00000000 00:04 98307                      /SYSV00000000 (deleted)
7f18bfb95000-7f18bfb96000 rw-s 00000000 00:04 65538                      /SYSV00000000 (deleted)
7f18bfb96000-7f18bfb9d000 r-xp 00000000 fd:00 287677                     /usr/pgsql-9.2/pgpool/lib/libpcp.so.0.0.0
7f18bfb9d000-7f18bfd9d000 ---p 00007000 fd:00 287677                     /usr/pgsql-9.2/pgpool/lib/libpcp.so.0.0.0
7f18bfd9d000-7f18bfd9e000 rw-p 00007000 fd:00 287677                     /usr/pgsql-9.2/pgpool/lib/libpcp.so.0.0.0
7f18bfd9e000-7f18bfd9f000 rw-p 00000000 00:00 0 
7f18bfd9f000-7f18bfdca000 r-xp 00000000 fd:00 284304                     /usr/pgsql-9.2/lib/libpq.so.5.5
7f18bfdca000-7f18bffc9000 ---p 0002b000 fd:00 284304                     /usr/pgsql-9.2/lib/libpq.so.5.5
7f18bffc9000-7f18bffcc000 rw-p 0002a000 fd:00 284304                     /usr/pgsql-9.2/lib/libpq.so.5.5
7f18bffcc000-7f18bffcd000 rw-p 00000000 00:00 0 
7fff45fd2000-7fff45fe7000 rw-p 00000000 00:00 0                          [stack]
7fff45fff000-7fff46000000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
error_pgpool.txt (15,664 bytes)

a.mizurov

2012-11-15 00:30

reporter   ~0000150

Last edited: 2012-11-15 00:34

View 2 revisions

Maybe attached file <error_pgpool> help, if not, what i need do to create useful backtrace for you. We use OS Centos 6.3, postgresql-9.2 and pgpool-3.2.1 with your patch

t-ishii

2012-11-19 16:56

developer   ~0000157

error_pgpool doesn't help too much. Can you please create usefull backtrace for me?

jgentsch

2013-02-09 02:49

reporter   ~0000224

I can confirm that it fixes my particular crash as of 3.2.2. Thanks for fixing it!

t-ishii

2013-02-09 11:15

developer   ~0000225

You are welcome!

Issue History

Date Modified Username Field Change
2012-10-23 06:25 jgentsch New Issue
2012-10-23 06:25 jgentsch File Added: pgpool_V3_2_STABLE_shmem_segfault.txt
2012-10-23 06:28 jgentsch Note Added: 0000120
2012-10-23 06:54 jgentsch Note Added: 0000121
2012-10-26 19:09 t-ishii Assigned To => t-ishii
2012-10-26 19:09 t-ishii Status new => assigned
2012-10-27 06:25 t-ishii Note Added: 0000126
2012-11-03 00:56 jgentsch Note Added: 0000137
2012-11-09 09:28 t-ishii Note Added: 0000142
2012-11-09 09:29 t-ishii File Added: query_cache.patch
2012-11-13 22:08 a.mizurov Note Added: 0000144
2012-11-14 06:12 a.mizurov Note Added: 0000145
2012-11-14 07:40 t-ishii Note Added: 0000146
2012-11-15 00:29 a.mizurov File Added: error_pgpool.txt
2012-11-15 00:30 a.mizurov Note Added: 0000150
2012-11-15 00:34 a.mizurov Note Edited: 0000150 View Revisions
2012-11-19 16:56 t-ishii Note Added: 0000157
2012-11-26 16:05 t-ishii Status assigned => feedback
2013-02-09 02:49 jgentsch Note Added: 0000224
2013-02-09 02:49 jgentsch Status feedback => assigned
2013-02-09 11:15 t-ishii Note Added: 0000225
2013-02-09 11:15 t-ishii Status assigned => resolved