Re: mysql_fdw crash
От | Pavel Stehule |
---|---|
Тема | Re: mysql_fdw crash |
Дата | |
Msg-id | CAFj8pRDcu34k+JpUi-PGvqjmpZZhe0HTSu-0ViuUnhN1vM1XoQ@mail.gmail.com обсуждение исходный текст |
Ответ на | mysql_fdw crash (066ce286@free.fr) |
Ответы |
Re: mysql_fdw crash
|
Список | pgsql-hackers |
Hi
út 20. 11. 2018 v 11:09 odesílatel <066ce286@free.fr> napsal:
Hi,
I do have a reproductible crash with mysql_fdw when executing a plpgsql function. I'm running pg 11.1 with current mysql_fdw, but I had the same crash with the pg 9.6 and mysql_fdw provided with ubuntu packages.
From psql side :
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!>
In syslog :
Nov 20 10:52:58 sact2Dev kernel: [322982.294765] postgres[10364]: segfault at 0 ip 00007fc8ab7b5350 sp 00007ffc4312a4f0 error 6 in mysql_fdw.so[7fc8ab7ac000+d000]
I've located the crash cause on the line :
*param_types[i] = exprType(param_expr);
( file mysql_fdw.c ; function prepare_query_params() ; in the forEach() loop)
I've recompiled the fdw with a -g option. Could you please tell me (or point me a documentation) how to have a core dump from the segfaulted lib ; so that I can open it in a debugger to inspect variable contents ?
In this case the most simply technique is attaching to live postgresql session by gdb
I use a small script that run gdb and attach first postgresql session
#!/bin/bash
PID=`ps ax|grep postgres | grep 'postgres: .*idle$' | awk '{print $1}'`
gdb /usr/local/pgsql/bin/postmaster -p $PID
PID=`ps ax|grep postgres | grep 'postgres: .*idle$' | awk '{print $1}'`
gdb /usr/local/pgsql/bin/postmaster -p $PID
When gdb will be active, then use command c, and then run query in session. gdb should to catch segfault.
Regards
Pavel
Or any advice ?
Thank you.
В списке pgsql-hackers по дате отправления: