Re: "cache reference leak" and "problem in alloc set" warnings
От | Volkan YAZICI |
---|---|
Тема | Re: "cache reference leak" and "problem in alloc set" warnings |
Дата | |
Msg-id | 20060817131325.GA1323@alamut.tdm.local обсуждение исходный текст |
Ответ на | Re: "cache reference leak" and "problem in alloc set" warnings (Volkan YAZICI <yazicivo@ttnet.net.tr>) |
Ответы |
Re: "cache reference leak" and "problem in alloc set" warnings
|
Список | pgsql-hackers |
On Aug 16 04:20, Volkan YAZICI wrote: > On Aug 16 03:09, Volkan YAZICI wrote: > > WARNING: problem in alloc set ExprContext: detected write past chunk > > end in block 0x8462f00, chunk 0x84634c8 > > WARNING: cache reference leak: cache pg_type (34), tuple 2/7 has > > count 1 > > Excuse me for bugging the list. I've solved the problem. I should look > for ReleaseSysCache() call just after every SearchSysCache(). Looks like this only solves catalog search related allocation issues. I've still biten by a single "write past chunk" error while returning a record in PL/scheme: WARNING: problem in alloc set ExprContext: detected write past chunk end in block 0x84a0598, chunk 0x84a0c84 First, I thouht that it was because of clobbering a memory chunk that doesn't belong to me. But when I place a { char *tmp = palloc(32); printf("-> %p\n", tmp); pfree(tmp) } line at the entrance and end of PL handler, outputed bounds don't include above 0x84a0598 chunk. Even the address of the heap tuples I created are far distinct from the address in the error message. I don't have any clue about the problematic section of the code, although I know that it occurs when you return a record. I'd be very very appreciated if somebody can help me to figure out how to debug (or even solve) the problem. Regards. P.S. Here's the related source code: http://cvs.pgfoundry.org/cgi-bin/ cvsweb.cgi/~checkout~/plscheme/plscheme/plscheme-8.2.c?rev=1.3&content -type=text/plain in case of if anyone would want to take a look at.
В списке pgsql-hackers по дате отправления: