On 12/05/2013 02:57 AM, Nikolaus Klimek wrote:
Hello,
because our previous SLES Version does not support required apr-version, we
used the ActiveMQ C++ Client 2.2.6, which was compiled to a shared
object/library and called by a cobol application (via CALL). This
combination
works fine.
Actually we updated our SLES (to 11.2) and a higher apr-version now is
supported. So we tried to use a higher-version of the ActiveMQ C++ Client
(e.g. 3.0, ... , 3.8.1), which we compiled to a shared object for calling
via a cobol application, too. Calling the new version now causes a
segmentation fault, the ActiveMQ shared object crashes on initialization,
before any command is executed. We think it deals with loading/initialising
the activemq library (activemq::library; ActiveMQCPP::initializeLibrary()),
because it is new since version 3.0.0.
Another point is we reduced our ActiveMQ shared object to only print a
line. This certainly works. Adding the command activemq::library;
ActiveMQCPP::initializeLibrary() causes the identicall segfault. Bizarrely
calling the identical shared object from a C++ application works.
We don't understand why calling the ActiveMQ shared object doens't work
from cobol, however it works calling from a C++ application. With a release
<=2.2.6 both call variations working.
We hope you have any ideas for let us understand this issue or to give us
some advice for solving this problem.
Thanks in regards!
Niko
Well the CMS libraries are not tested under this sort of scenario so I
can't really offer much help without more information. You should do
some debugging and try and figure out what the stack trace is at the
time of the segmentation fault.
--
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.b...@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/