Hello,
I've run into a very odd issue calling C++ code that uses exceptions from
within our PostgreSQL FDW. Specifically, we have broken our FDW into two
components, a C layer that looks quite similar to the FDW for text files and a
C++ layer that is called into by the C layer to interface with our storage file
format.
We compile these two components into separate shared libraries, thus we have:
c-fdw.so
c++-fdw.so
and the c-fdw.so is compiled using -Wl,-rpath to allow it to find the
c++-fdw.so at load time.
When there are no errors everything works flawlessly, however, we noticed that
even throwing an exception in the C++ layer was 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 the recommendations in the PostgreSQL
documentation, with no luck. I am not overloading the _init() functions in
either shared library (another potential source of errors I have read about).
Thanks!
Craig Soules
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers