Обсуждение: could not find block containing chunk 0x8483530
select *, lower(name) from student; gives error: could not find block containing chunk 0x8483530 what does this error mean & what may be the cause? template1=# \d student Table "public.student" Column | Type | Modifiers --------+---------+----------- name | devchar | age | integer | Regards Vinay -- Vinay Jain Dissertation Project Trainee DAKE Division C-DAC Mumbai
Vinay Jain <vinayjain@gmail.com> writes: > select *, lower(name) from student; > gives error: could not find block containing chunk 0x8483530 That's some sort of memory manipulation bug --- pfree'ing a wrong pointer, likely. > template1=# \d student > Table "public.student" > Column | Type | Modifiers > --------+---------+----------- > name | devchar | > age | integer | Given that a custom datatype is involved, I'd suspect the C code for the custom type. regards, tom lane
On Tue, 17 Aug 2004 09:59:40 +0530, Vinay Jain <vinayjain@gmail.com> wrote: > On Mon, 16 Aug 2004 10:39:18 -0400, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Vinay Jain <vinayjain@gmail.com> writes: > > > select *, lower(name) from student; > > > gives error: could not find block containing chunk 0x8483530 > > > > That's some sort of memory manipulation bug --- pfree'ing a wrong > > pointer, likely. > > I am not using pfree in C code. but I am using palloc for memory allocation. > > All other queries like: select * from student order by lower(name); > gives appropriate result. > > > > > > > template1=# \d student > > > Table "public.student" > > > Column | Type | Modifiers > > > --------+---------+----------- > > > name | devchar | > > > age | integer | > > > > Given that a custom datatype is involved, I'd suspect the C code > > for the custom type. > > > > regards, tom lane > > > > > -- > Vinay Jain > Dissertation Project Trainee > DAKE Division > C-DAC Mumbai > -- Vinay Jain Dissertation Project Trainee DAKE Division C-DAC Mumbai
On Tue, Aug 17, 2004 at 10:00:16AM +0530, Vinay Jain wrote: > On Tue, 17 Aug 2004 09:59:40 +0530, Vinay Jain <vinayjain@gmail.com> wrote: > > On Mon, 16 Aug 2004 10:39:18 -0400, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > > Vinay Jain <vinayjain@gmail.com> writes: > > > > select *, lower(name) from student; > > > > gives error: could not find block containing chunk 0x8483530 > > > > > > That's some sort of memory manipulation bug --- pfree'ing a wrong > > > pointer, likely. > > > I am not using pfree in C code. but I am using palloc for memory allocation. > > All other queries like: select * from student order by lower(name); > gives appropriate result. Maybe you are palloc'ing in the wrong memory context. Make sure you understand how memory contexts are used and thier longevity. If you want anything more specific, you should post your code. -- Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) "Vivir y dejar de vivir son soluciones imaginarias. La existencia está en otra parte" (Andre Breton)