Craig James wrote: > Alvaro Herrera wrote: >> Craig James wrote: >>> Alvaro Herrera wrote: >>>> Craig James wrote: >>>> >>>>> Here is my guess -- and this is just a guess. My functions use a >>>>> third-party library which, of necessity, uses malloc/free in the >>>>> ordinary way. I suspect that there's a bug in the Postgres palloc() >>>>> code that's walking over memory that regular malloc() allocates. The >>>>> third-party library (OpenBabel) has been tested pretty thoroughly by >>>>> me an others and has no memory corruption problems. All malloc's are >>>>> freed properly. Does that seem like a possibility? >>>> Not really. palloc uses malloc underneath. >>> But some Postgres code could be walking off the end of a malloc'ed >>> block, even if palloc() is allocating and deallocating correctly. >>> Which is why I was hoping to use valgrind to see what's going on. >> >> I very much doubt it. Since you've now shown that OpenBabel is >> multithreaded, then that's a much more likely cause. > > Can you elaborate? Are multithreaded libraries not allowed to be > linked to Postgres? Absolutely not. -- Alvaro Herrera http://www.flickr.com/photos/alvherre/ "La gente vulgar solo piensa en pasar el tiempo; el que tiene talento, en aprovecharlo" ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match