[pgpool-general: 9115] Re: Another segmentation fault

Emond Papegaaij emond.papegaaij at gmail.com
Tue Jun 4 15:57:29 JST 2024


Hi,

For the first backtrace (in protocol/child.c:1076), it tries to access slot
2, which is null:
(gdb) info locals
frontend_auth_cxt = 0x55803d0ff040 <errordata+192>
oldContext = 0x55803eacd070
save_exception_stack = 0x7ffc8cdd0fb0
save_context_stack = 0x0
local_sigjmp_buf = {{__jmpbuf = {0, -4847230081711116359, 0,
140722671836608, 94009268320888, 140437064355872, -4847230081734185031,
-1710719621514694727}, __mask_was_saved = 0, __saved_mask = {__val =
{12884901889, 94009295947704, 94009295947728, 0, 140722671782208,
94009266127820, 60129542144, 140722671782336,
        94009266128191, 0, 0, 94009266967008, 60129543624, 140722671782304,
94009265945097, 94009266967017}}}}
backend = 0x7fba0c407168
topmem_sp = 0x7fba0c4037a0
topmem_sp_set = 1 '\001'
i = 2

(gdb) p *backend
$5 = {
  info = 0x7fba04272c08,
  slots = {0x7fba0c403a00, 0x7fba0c403a30, 0x0 <repeats 126 times>}
}
(gdb) p *backend->slots[0]
$6 = {
  sp = 0x7fba0c4037a0,
  pid = 574235237,
  key = 1951614039,
  con = 0x7fba0c406548,
  closetime = 0
}
(gdb) p *backend->slots[1]
$7 = {
  sp = 0x7fba0c4037a0,
  pid = 21,
  key = 1024,
  con = 0x7fba0c40b9a8,
  closetime = 0
}
(gdb) p *backend->slots[2]
Cannot access memory at address 0x0

For the second crash (in pool_connection_pool.c:326), all slots are null:
(gdb) info locals
i = 0
freed = 0
closetime = 0
oldestp = 0x7f474f36e168
ret = 0x0
info = 0x55b511283469 <opt_sort>
p = 0x7f474f36e168

(gdb) p *p
$7 = {
  info = 0x7f47470d5c08,
  slots = {0x0 <repeats 128 times>}
}

(gdb) p p->slots[0]
$10 = (POOL_CONNECTION_POOL_SLOT *) 0x0
(gdb) p p->slots[1]
$11 = (POOL_CONNECTION_POOL_SLOT *) 0x0
(gdb) p p->slots[2]
$12 = (POOL_CONNECTION_POOL_SLOT *) 0x0

I hope this helps.

Best regards,
Emond

Op di 4 jun 2024 om 04:56 schreef Tatsuo Ishii <ishii at sraoss.co.jp>:

> > No worries. I hope you had a good trip. Last night we triggered the last
> > crash again. Is there anything we can do to make it easier for you to
> find
> > the cause?
>
> It would be helpful if you could share some variable values in the
> core file. Since I don't have the pgpool load module when you got the
> core, I cannot inspect the variables using the core you provided.
>
> > #0  connect_backend (sp=0x55803eb0a6b8, frontend=0x55803eb08768) at
> > protocol/child.c:1076
> > #1  0x000055803ce3d02a in get_backend_connection
> (frontend=0x55803eb08768)
> > at protocol/child.c:2112
> > #2  0x000055803ce38fd5 in do_child (fds=0x55803eabea90) at
> > protocol/child.c:416
> > #3  0x000055803cdfea4c in fork_a_child (fds=0x55803eabea90, id=13) at
> > main/pgpool_main.c:863
> > #4  0x000055803cdfde30 in PgpoolMain (discard_status=0 '\000',
> > clear_memcache_oidmaps=0 '\000') at main/pgpool_main.c:561
> > #5  0x000055803cdfb9e6 in main (argc=2, argv=0x7ffc8cdddda8) at
> > main/main.c:365
>
> Around protocol/child.c:1076:
>                                 /* set DB node id */
>                                 pool_set_db_node_id(CONNECTION(backend,
> i), i);
>
> I want to see the values in the "backend" struct. Since CONNECTION
> macro is used here, you have to do something like in a gdb session.
>
> p *backend->slots[0]
> p *backend->slots[1]
> p *backend->slots[2]
>
> Best reagards,
> --
> Tatsuo Ishii
> SRA OSS LLC
> English: http://www.sraoss.co.jp/index_en/
> Japanese:http://www.sraoss.co.jp
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pgpool.net/pipermail/pgpool-general/attachments/20240604/4c8284da/attachment.htm>


More information about the pgpool-general mailing list