[
https://issues.apache.org/jira/browse/MINIFI-320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16016210#comment-16016210
]
ASF GitHub Bot commented on MINIFI-320:
---------------------------------------
GitHub user phrocker opened a pull request:
https://github.com/apache/nifi-minifi-cpp/pull/100
MINIFI-320: Move instantion of OpenSSL to a singleton that's
lazily created. Added test. In order to make the test work as
expected I had to update thread pool to use a non blocking queue.
Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
### For all changes:
- [ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
- [ ] Does your PR title start with MINIFI-XXXX where XXXX is the JIRA
number you are trying to resolve? Pay particular attention to the hyphen "-"
character.
- [ ] Has your PR been rebased against the latest commit within the target
branch (typically master)?
- [ ] Is your initial contribution a single, squashed commit?
### For code changes:
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the LICENSE file?
- [ ] If applicable, have you updated the NOTICE file?
### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in
which it is rendered?
### Note:
Please ensure that once the PR is submitted, you check travis-ci for build
issues and submit an update to your PR as soon as possible.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/phrocker/nifi-minifi-cpp MINIFI-320
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/nifi-minifi-cpp/pull/100.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #100
----
commit 68d7d6f14c96a73f89dead04e37895af6e1957fc
Author: Marc Parisi <[email protected]>
Date: 2017-05-18T18:21:16Z
MINIFI-320: Move instantion of OpenSSL to a singleton that's
lazily created. Added test. In order to make the test work as
expected I had to update thread pool to use a non blocking queue.
----
> In cases where users run TLSSocket, the context will cause a realloc in
> multiple threads.
> ------------------------------------------------------------------------------------------
>
> Key: MINIFI-320
> URL: https://issues.apache.org/jira/browse/MINIFI-320
> Project: Apache NiFi MiNiFi
> Issue Type: Bug
> Components: C++
> Reporter: marco polo
> Priority: Blocker
> Fix For: cpp-0.3.0
>
>
> An example stacktrace. . We can either move *back* to a singleton of simply
> move the ssl library initialization to a better place.
> #0 0x10122d520 in wrap_realloc
> (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x56520)
> #1 0x100fe80ae in CRYPTO_realloc (libcrypto.1.0.0.dylib:x86_64+0x20ae)
> #2 0x10109880c in lh_insert (libcrypto.1.0.0.dylib:x86_64+0xb280c)
> #3 0x100fea6e7 in OBJ_NAME_add (libcrypto.1.0.0.dylib:x86_64+0x46e7)
> #4 0x1010a5b41 in OpenSSL_add_all_ciphers
> (libcrypto.1.0.0.dylib:x86_64+0xbfb41)
> #5 0x1010a58d1 in OPENSSL_add_all_algorithms_noconf
> (libcrypto.1.0.0.dylib:x86_64+0xbf8d1)
> #6 0x10012ad40 in org::apache::nifi::minifi::io::TLSContext::initialize()
> TLSSocket.cpp:60
> #7 0x100132255 in org::apache::nifi::minifi::io::TLSSocket::initialize()
> TLSSocket.cpp:166
> #8 0x100677a68 in org::apache::nifi::minifi::Site2SitePeer::Open()
> Site2SitePeer.cpp:42
> #9 0x100631543 in
> org::apache::nifi::minifi::Site2SiteClientProtocol::establish()
> Site2SiteClientProtocol.cpp:46
> #10 0x10063e9ff in
> org::apache::nifi::minifi::Site2SiteClientProtocol::bootstrap()
> Site2SiteClientProtocol.cpp:483
> #11 0x100600880 in
> org::apache::nifi::minifi::RemoteProcessorGroupPort::onTrigger(org::apache::nifi::minifi::core::ProcessContext*,
> org::apache::nifi::minifi::core::ProcessSession*)
> RemoteProcessorGroupPort.cpp:148
> #12 0x1002c1a3a in
> org::apache::nifi::minifi::core::Processor::onTrigger(org::apache::nifi::minifi::core::ProcessContext*,
> org::apache::nifi::minifi::core::ProcessSessionFactory*) Processor.cpp:235
> #13 0x10062cc20 in
> org::apache::nifi::minifi::SchedulingAgent::onTrigger(std::__1::shared_ptr<org::apache::nifi::minifi::core::Processor>,
> org::apache::nifi::minifi::core::ProcessContext*,
> org::apache::nifi::minifi::core::ProcessSessionFactory*)
> SchedulingAgent.cpp:66
> #14 0x10069b933 in
> org::apache::nifi::minifi::TimerDrivenSchedulingAgent::run(std::__1::shared_ptr<org::apache::nifi::minifi::core::Processor>,
> org::apache::nifi::minifi::core::ProcessContext*,
> org::apache::nifi::minifi::core::ProcessSessionFactory*)
> TimerDrivenSchedulingAgent.cpp:37
> #15 0x100690205 in
> org::apache::nifi::minifi::ThreadedSchedulingAgent::schedule(std::__1::shared_ptr<org::apache::nifi::minifi::core::Processor>)::$_0::operator()()
> const ThreadedSchedulingAgent.cpp:97
> #16 0x10068f37d in void*
> std::__1::__thread_proxy<std::__1::tuple<org::apache::nifi::minifi::ThreadedSchedulingAgent::schedule(std::__1::shared_ptr<org::apache::nifi::minifi::core::Processor>)::$_0>
> >(void*) __functional_base:416
> #17 0x7fffb45cf9ae in _pthread_body
> (libsystem_pthread.dylib:x86_64+0x39ae)
> #18 0x7fffb45cf8fa in _pthread_start
> (libsystem_pthread.dylib:x86_64+0x38fa)
> #19 0x7fffb45cf100 in thread_start (libsystem_pthread.dylib:x86_64+0x3100)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)