segmentation fault in function

Started by Sergej Galkinalmost 16 years ago2 messages
#1Sergej Galkin
sergej.galkin@gmail.com

I am realizing gist index and get a bug, that crashes DB. I' debugged my
program as Robert(thanks !) advised me and I know which procedure crashed.

*Datum gist_mov_consistent(PG_FUNCTION_ARGS)*
*{*
* GISTENTRY *entry = (GISTENTRY *)PG_GETARG_POINTER(0);*
* BOX *query = PG_GETARG_BOX_P(1);*
* StrategyNumber strategy = (StrategyNumber)PG_GETARG_UINT16(2);*
* *
* if (DatumGetMovP(entry->key) == NULL || query == NULL)*
* PG_RETURN_BOOL(FALSE);*
* *
* PG_RETURN_BOOL(obj_contains(DatumGetMovP(entry->key), query));*
*}*

*int obj_contains(moving_object *a, BOX *b)*
*{*
* *
* if (b->low.x > a->x_low)*
* return 0;*
* if (b->low.y > a->y_low)*
* return 0;*
* if (b->high.x < a->x_high)*
* return 0;*
* if (b->high.y < a->y_high)*
* return 0;*
* return 1;*
*}
**
Do you have any ideas ?**

Best regards,
Sergej Galkin
*

#2Dimitri Fontaine
dfontaine@hi-media.com
In reply to: Sergej Galkin (#1)
Re: segmentation fault in function

Sergej Galkin <sergej.galkin@gmail.com> writes:

I am realizing gist index and get a bug, that crashes DB. I' debugged
my program as Robert(thanks !) advised me and I know which procedure
crashed.

Using gdb you should have the line number in the source code and should
be able to look up the variable values. For that you need to use a
custom PostgreSQL build using --with-cassert --enable-debug.

Then report some more details if you still need help.

Also have a look at Gevel to be able to inspect your index :
http://www.sai.msu.su/~megera/wiki/Gevel

Regards,
--
dim