Re: Why is create function bringing down the Backend server?

Поиск
Список
Период
Сортировка
От Marko Kreen
Тема Re: Why is create function bringing down the Backend server?
Дата
Msg-id e51f66da0512230205geccc0d7l3ddc2a2eb08b78c@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Why is create function bringing down the Backend server?  (Carlos Moreno <moreno_pg@mochima.com>)
Список pgsql-general
On 12/23/05, Carlos Moreno <moreno_pg@mochima.com> wrote:
> Marko Kreen wrote:
>
> >On 12/22/05, Carlos Moreno <moreno_pg@mochima.com> wrote:
> >
> >>The problem is, when I execute the SQL statement:
> >>
> >>create or replace function sha1 ....  ;
> >>
> >>for the second time (i.e., after making modifications and
> >>recompiling), the *backend* crashes -- it then restarts
> >>automatically, and then I run again the create or replace
> >>statement, and it works now  (and the function seems to
> >>work fine -- well, in its "final" version it does).
> >>
> >
> >You should see if there's something in server log.
> >
>
> The only thing that does show does not seem to say much:
>
> LOG:  server process (PID 12885) was terminated by signal 11
> LOG:  terminating any other active server processes
> LOG:  all server processes terminated; reinitializing
>
> Not sure what the meaning of signal 11 is with PG (AFAIR, it's
> one of the SIGUSER values, right?)

Well, that does not help.  Signal 11 is SIGSEGV.

> >And then indeed, try to gdb it.  You can run Postgres in non-daemon
> >mode with command 'postgres -D datadir database'.
> >
> >The stripped pgcrypto.c you posted - your wrapper function looks fine,
> >only problem I see is that you deleted function find_provider that is used
> >by pg_digest, so there will be undefined function in final .so.
> >
>
> Oh no!!  That was only in the function I posted, so that the file
> is kept as short as possible -- in the one that I compiled, I left
> everything untouched, and only added my functions.

Ah, that's not it.  Then I'm clueless.

> >But that should not crash the server, so gdb trace could be still useful.
> >
> >
> Ok, will try to do it and post any interesting discoveries  (I
> can't find any core files, so I guess I'll have to try gdbing it)

Core files should be in data directory somewhere.
(If postmaster ulimit allows them.)

> >>Anyway, I wanted to add hash functions (SHA-1 is already there,
> >>so I'd like to add SHA-256 and SHA-512 at the very least, and
> >>maybe also, for completeness, SHA-224 and SHA-384).
> >>
> >
> >For SHA2 hashes it should be enough to compile pgcrypto
> >against OpenSSL 0.9.8.  Or upgrade to PostgreSQL 8.1,
> >where they are included.
> >
> >Ofcourse, that is no fun.
> >
>
> Hahahaha -- why do I keep being naive and making the same mistake
> over and over!!!  :-)
>
> As much as it is indeed no fun, it is also good to know  (and I
> didn't know that OpenSSL 0.9.8 had them either, so thanks for
> the double pointer!)

Hehe.  If hacking on a project, it is usually good to check out
the latest version.  pgcrypto had a major update in 8.1.

> >If you want to hack, you could try adding SHA224 to the SHA2
> >implementation in 8.1.
> >
>
> Sounds like a plan  :-)

Cool!  Look how SHA384 fits in and try to follow that.  That way
the code is in coherent style.

--
marko

В списке pgsql-general по дате отправления:

Предыдущее
От: Edward Macnaghten
Дата:
Сообщение: Re: problems with currval and rollback
Следующее
От: Ragnar
Дата:
Сообщение: Re: Stored procedure