Uploaded image for project: 'Apache NiFi MiNiFi C++'
  1. Apache NiFi MiNiFi C++
  2. MINIFICPP-2087

Deadlock when updating flow configuration from predefined nifi.c2.flow.url

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.14.0
    • None

    Description

      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 ()

      Attachments

        Activity

          People

            lordgamez Gábor Gyimesi
            lordgamez Gábor Gyimesi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m