Gábor Gyimesi created MINIFICPP-2087:
----------------------------------------
Summary: Deadlock when updating flow configuration from predefined
nifi.c2.flow.url
Key: MINIFICPP-2087
URL: https://issues.apache.org/jira/browse/MINIFICPP-2087
Project: Apache NiFi MiNiFi C++
Issue Type: Bug
Reporter: Gábor Gyimesi
Assignee: Gábor Gyimesi
When flow configuration is not available on disk under the configuration
library and C2 is enabled with a predifined "nifi.c2.flow.url" property, the
initial workflow fetching causes a deadlock.
Thread 38 (Thread 0x7fffdbfff640 (LWP 353502) "minifi"):
#0 futex_wait (private=0, expected=2, futex_word=0x6d05d0) at
../sysdeps/nptl/futex-internal.h:146
#1 __GI___lll_lock_wait (futex=futex@entry=0x6d05d0, private=0) at
./nptl/lowlevellock.c:49
#2 0x00007ffff733c0dd in lll_mutex_lock_optimized (mutex=0x6d05d0) at
./nptl/pthread_mutex_lock.c:48
#3 ___pthread_mutex_lock (mutex=0x6d05d0) at ./nptl/pthread_mutex_lock.c:128
#4 0x00007ffff7a37aaf in
org::apache::nifi::minifi::FlowController::executeOnAllComponents(std::function<void
(org::apache::nifi::minifi::state::StateController&)>) () from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#5 0x00007ffff7b93fb1 in
org::apache::nifi::minifi::state::response::FlowInformation::serialize() ()
from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#6 0x00007ffff7a84715 in
org::apache::nifi::minifi::c2::C2MetricsPublisher::getHeartbeatNodes(bool)
const () from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#7 0x00007ffff7a7a38f in
org::apache::nifi::minifi::c2::C2Agent::performHeartBeat() () from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#8 0x00007ffff7a7b5a8 in org::apache::nifi::minifi::c2::C2Agent::produce() ()
from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#9 0x00007ffff7a7b69c in
std::_Function_handler<org::apache::nifi::minifi::utils::TaskRescheduleInfo (),
org::apache::nifi::minifi::c2::C2Agent::initialize(org::apache::nifi::minifi::core::controller::ControllerServiceProvider*,
org::apache::nifi::minifi::state::Pausable*,
org::apache::nifi::minifi::state::StateMonitor*)::\{lambda()#1}>::_M_invoke(std::_Any_data
const&) () from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#10 0x00007ffff7a3a04e in
org::apache::nifi::minifi::utils::Worker<org::apache::nifi::minifi::utils::TaskRescheduleInfo>::run()
() from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#11 0x00007ffff7c1339c in
org::apache::nifi::minifi::utils::ThreadPool<org::apache::nifi::minifi::utils::TaskRescheduleInfo>::run_tasks(std::shared_ptr<org::apache::nifi::minifi::utils::WorkerThread>
const&) () from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#12 0x00007ffff7dee624 in execute_native_thread_routine () from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#13 0x00007ffff7338b43 in start_thread (arg=<optimized out>) at
./nptl/pthread_create.c:442
#14 0x00007ffff73caa00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 1 (Thread 0x7ffff72a3080 (LWP 353449) "minifi"):
#0 futex_wait (private=0, expected=2, futex_word=0x6ffc18) at
../sysdeps/nptl/futex-internal.h:146
#1 __GI___lll_lock_wait (futex=futex@entry=0x6ffc18, private=0) at
./nptl/lowlevellock.c:49
#2 0x00007ffff733c082 in lll_mutex_lock_optimized (mutex=0x6ffc18) at
./nptl/pthread_mutex_lock.c:48
#3 ___pthread_mutex_lock (mutex=0x6ffc18) at ./nptl/pthread_mutex_lock.c:93
#4 0x00007ffff7a844cf in non-virtual thunk to
org::apache::nifi::minifi::c2::C2MetricsPublisher::clearMetricNodes() () from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#5 0x00007ffff7b73fcb in
org::apache::nifi::minifi::state::MetricsPublisherStore::clearMetricNodes() ()
from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#6 0x00007ffff7a5dd24 in
org::apache::nifi::minifi::RootProcessGroupWrapper::setNewRoot(std::unique_ptr<org::apache::nifi::minifi::core::ProcessGroup,
std::default_delete<org::apache::nifi::minifi::core::ProcessGroup> >) () from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#7 0x00007ffff7a36f22 in org::apache::nifi::minifi::FlowController::load(bool)
() from
/home/szaszm/Downloads/nifi-minifi-cpp-1.23.04-b6-bin-centos/nifi-minifi-cpp-1.23.04/bin/libcore-minifi.so
#8 0x00000000004393ca in main ()
--
This message was sent by Atlassian Jira
(v8.20.10#820010)