Re: Showing debug messages in my C function

Поиск
Список
Период
Сортировка
От Jorge Arevalo
Тема Re: Showing debug messages in my C function
Дата
Msg-id g2sd321138e1004160404t1d775d13xdc8681bd8325f70d@mail.gmail.com
обсуждение исходный текст
Ответ на Showing debug messages in my C function  (Jorge Arevalo <jorgearevalo@gis4free.org>)
Список pgsql-general
Sorry, a mistake:

> Ok, I've tested the simple example of a SRF from
> http://www.postgresql.org/docs/8.4/interactive/xfunc-c.html (section
> 34.9.10) and the application crash in the same way. When tries to
> access SRF_IS_FIRSTCALL(), or any other PostgreSQL macro like
> SRF_FIRST_CALL_INIT(), PG_GETARG_UINT32(0), etc. But in the rest of my
> functions (non-SRF functions), everything works fine with these macros
> and the rest of the code.

The rest of my functions, non-SRF functions, don't use these macros,
of course. But work fine. Only the SRF-function crash.

Thanks and sorry for being annoying.

On Fri, Apr 16, 2010 at 12:51 PM, Jorge Arevalo
<jorgearevalo@gis4free.org> wrote:
> On Thu, Apr 15, 2010 at 8:16 PM, Jorge Arevalo
> <jorgearevalo@gis4free.org> wrote:
>> On Tue, Apr 13, 2010 at 10:04 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> Jorge Arevalo <jorgearevalo@gis4free.org> writes:
>>>> I'm sorry, because this may be a simple question: I'm programming a C
>>>> function that returns a set (PostgreSQL 8.4). The function crash, and
>>>> I'm trying to
>>>> debug it. I've read:
>>>
>>>> http://www.postgresql.org/docs/8.4/interactive/xfunc-c.html
>>>> http://www.postgresql.org/docs/8.4/interactive/error-message-reporting.html
>>>> http://www.postgresql.org/docs/current/static/runtime-config-logging.html
>>>
>>>> but I can't see any of my log messages.
>>>
>>> Seems likely to me that the function is crashing before it gets to any
>>> of the elog calls; which would most likely be a problem in linking or in
>>> declaring the function.  Did you remember to use the
>>> PG_FUNCTION_INFO_V1() macro?  Try writing a trivial function that only
>>> does an elog and see what it takes to get that to work.
>>>
>>>                        regards, tom lane
>>>
>>
>> Yes, I put the PG_FUNCTION_INFO_V1(myFunction) macro.
>>
>> I solved some small bugs, and I checked the function is called, but I
>> get a segmentation fault when try to call SRF_IS_FIRSTCALL. I think
>> this has no much sense, and the problem keeps hidden for another
>> reason.
>>
>> I'm going to continue debugging, but if helps, I provide the
>> interesting part of log file.
>>
>> Thanks!
>>
>> Best regards,
>> Jorge
>>
>
> Ok, I've tested the simple example of a SRF from
> http://www.postgresql.org/docs/8.4/interactive/xfunc-c.html (section
> 34.9.10) and the application crash in the same way. When tries to
> access SRF_IS_FIRSTCALL(), or any other PostgreSQL macro like
> SRF_FIRST_CALL_INIT(), PG_GETARG_UINT32(0), etc. But in the rest of my
> functions (non-SRF functions), everything works fine with these macros
> and the rest of the code.
>
> I provide another log file, with the results of the simple example
> execution. Another signal 11: Segmentation Fault. caused by line with
> SRF_IS_FIRSTCALL().
>
> Debugging...
>

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

Предыдущее
От: dipti shah
Дата:
Сообщение: Re: How to get whether user has ALL permissions on table?
Следующее
От: Richard Huxton
Дата:
Сообщение: Re: Tuple storage overhead