On 30 January 2012 23:04, Soules, Craig <craig.soules@hp.com> wrote:
> When there are no errors everything works flawlessly, however, we noticed that even throwing an exception in the C++
layerwas causing an immediate segmentation fault. Even when encapsulated in a try { } catch(...) { } block.
>
> If anyone has seen anything like this, any pointers or suggestions would be much appreciated. I have followed all of
therecommendations in the PostgreSQL documentation, with no luck. I am not overloading the _init() functions in either
sharedlibrary (another potential source of errors I have read about).
I suggest that you generalise from the example of PLV8. The basic
problem is that the effect of longjmp()ing over an area of the stack
with a C++ non-POD type is undefined. I don't think you can even use
structs, as they have implicit destructors in C++.
--
Peter Geoghegan http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training and Services