[
https://issues.apache.org/activemq/browse/AMQCPP-200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46248#action_46248
]
Teemu Torma commented on AMQCPP-200:
------------------------------------
Earlier today I had to track down a problem on Solaris where any program got a
segfault on exit. The crash happened always in apr_pool_destroy. This may be
related to this problem, I am not sure.
The crash is caused by the sequence of events on exit in my case.
decaf::internal::AprPool::getAprPool() has a static AprRuntime instance to
initialize/terminate apr. The apr terminate will destroy the global apr pool
and all it's children, including any pool created by decaf::internal::AprPool.
However, the activemq-cpp instance of AprPool is destroyed after AprRuntime and
at that point the contained apr_pool is already destroyed and invalid, leading
to segfault in apr_pool_destroy.
I have not seen this on Linux, and I guess that the destruction sequence
involving method static instances is a very compiler and/or platform dependent.
> activemq-cpp-2.2.1 test fails for
> decaf::io::ByteArrayInputStreamTest::testConstructor (segmentation fault)
> -----------------------------------------------------------------------------------------------------------
>
> Key: AMQCPP-200
> URL: https://issues.apache.org/activemq/browse/AMQCPP-200
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Decaf
> Affects Versions: 2.2.1
> Environment: RHEL 5.2 (2.6.18-92.el5), apr-1.3.3, apr-util-1.3.4,
> cppunit-1.12.1, gcc version 4.1.2 20071124 (Red Hat 4.1.2-42), Java(TM) SE
> Runtime Environment (build 1.6.0_06-b02)
> Reporter: Alexander Martens
> Assignee: Timothy Bish
> Attachments: testConstructor-O0.log.gz, testConstructor.log.gz,
> testString-O0.log.gz
>
>
> This unit test seems to fail.
> I send you attached a gdb postmortem log (bt, bt full, info threads).
> Thanks!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.