[ 
https://issues.apache.org/jira/browse/MINIFICPP-2112?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marton Szasz resolved MINIFICPP-2112.
-------------------------------------
    Resolution: Fixed

> MiNiFi controller crashes on flow update
> ----------------------------------------
>
>                 Key: MINIFICPP-2112
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-2112
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Bug
>            Reporter: Gábor Gyimesi
>            Assignee: Gábor Gyimesi
>            Priority: Major
>          Time Spent: 3h 20m
>  Remaining Estimate: 0h
>
> MiNiFi controller crashes using the flow update option with resource deadlock.
> {code:java}
> (gdb) bt
> #0  __pthread_kill_implementation (no_tid=0, signo=6, 
> threadid=140737018590784) at ./nptl/pthread_kill.c:44
> #1  __pthread_kill_internal (signo=6, threadid=140737018590784) at 
> ./nptl/pthread_kill.c:78
> #2  __GI___pthread_kill (threadid=140737018590784, signo=signo@entry=6) at 
> ./nptl/pthread_kill.c:89
> #3  0x00007ffff6042476 in __GI_raise (sig=sig@entry=6) at 
> ../sysdeps/posix/raise.c:26
> #4  0x00007ffff60287f3 in __GI_abort () at ./stdlib/abort.c:79
> #5  0x00007ffff64a2bbe in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
> #6  0x00007ffff64ae24c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
> #7  0x00007ffff64ad229 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
> #8  0x00007ffff64ad999 in __gxx_personality_v0 () from 
> /lib/x86_64-linux-gnu/libstdc++.so.6
> #9  0x00007ffff7f8fc64 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1
> #10 0x00007ffff7f90321 in _Unwind_RaiseException () from 
> /lib/x86_64-linux-gnu/libgcc_s.so.1
> #11 0x00007ffff64ae50b in __cxa_throw () from 
> /lib/x86_64-linux-gnu/libstdc++.so.6
> #12 0x00007ffff64a589f in std::__throw_system_error(int) () from 
> /lib/x86_64-linux-gnu/libstdc++.so.6
> #13 0x00007ffff64dc340 in std::thread::join() () from 
> /lib/x86_64-linux-gnu/libstdc++.so.6
> #14 0x00007ffff76d8864 in 
> org::apache::nifi::minifi::io::ServerSocket::~ServerSocket 
> (this=0x555555a54dd0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) 
> at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/io/ServerSocket.cpp:52
> #15 0x00007ffff76d890c in 
> org::apache::nifi::minifi::io::ServerSocket::~ServerSocket 
> (this=0x555555a54dd0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) 
> at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/io/ServerSocket.cpp:53
> #16 0x00007ffff745782e in 
> std::default_delete<org::apache::nifi::minifi::io::BaseServerSocket>::operator()
>  (this=0x5555559fb590, __ptr=0x555555a54dd0) at 
> /usr/include/c++/11/bits/unique_ptr.h:85
> #17 0x00007ffff751ac1e in 
> std::__uniq_ptr_impl<org::apache::nifi::minifi::io::BaseServerSocket, 
> std::default_delete<org::apache::nifi::minifi::io::BaseServerSocket> >::reset 
> (this=0x5555559fb590, __p=0x7fffc0010500) at 
> /usr/include/c++/11/bits/unique_ptr.h:182
> #18 0x00007ffff7519f9e in 
> std::__uniq_ptr_impl<org::apache::nifi::minifi::io::BaseServerSocket, 
> std::default_delete<org::apache::nifi::minifi::io::BaseServerSocket> 
> >::operator= (this=0x5555559fb590, __u=...) at 
> /usr/include/c++/11/bits/unique_ptr.h:167
> #19 0x00007ffff7519903 in 
> std::__uniq_ptr_data<org::apache::nifi::minifi::io::BaseServerSocket, 
> std::default_delete<org::apache::nifi::minifi::io::BaseServerSocket>, true, 
> true>::operator= (this=0x5555559fb590) at 
> /usr/include/c++/11/bits/unique_ptr.h:212
> #20 0x00007ffff7519931 in 
> std::unique_ptr<org::apache::nifi::minifi::io::BaseServerSocket, 
> std::default_delete<org::apache::nifi::minifi::io::BaseServerSocket> 
> >::operator= (this=0x5555559fb590) at 
> /usr/include/c++/11/bits/unique_ptr.h:371
> #21 0x00007ffff7515f72 in 
> org::apache::nifi::minifi::c2::ControllerSocketProtocol::initialize 
> (this=0x5555559fb580) at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/c2/ControllerSocketProtocol.cpp:78
> #22 0x00007ffff7439037 in org::apache::nifi::minifi::FlowController::start 
> (this=0x555555a56cc0) at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/FlowController.cpp:337
> #23 0x00007ffff74377f8 in 
> org::apache::nifi::minifi::FlowController::applyConfiguration 
> (this=0x555555a56cc0, source="ControllerSocketProtocol", 
>     configurePayload="# Licensed to the Apache Software Foundation (ASF) 
> under one or more\n# contributor license agreements.  See the NOTICE file 
> distributed with\n# this work for additional information regarding copyright 
> "..., 
>     flow_id=std::optional<std::string> [no contained value]) at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/FlowController.cpp:142
> #24 0x00007ffff7439551 in 
> org::apache::nifi::minifi::FlowController::applyUpdate (this=0x555555a56cc0, 
> source="ControllerSocketProtocol", 
>     configuration="# Licensed to the Apache Software Foundation (ASF) under 
> one or more\n# contributor license agreements.  See the NOTICE file 
> distributed with\n# this work for additional information regarding copyright 
> "..., persist=false, 
>     flow_id=std::optional<std::string> [no contained value]) at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/FlowController.cpp:390
> #25 0x00007ffff7516954 in 
> org::apache::nifi::minifi::c2::ControllerSocketProtocol::handleUpdate 
> (this=0x5555559fb580, stream=0x7fffe3ffec40) at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/c2/ControllerSocketProtocol.cpp:152
> #26 0x00007ffff75180aa in 
> org::apache::nifi::minifi::c2::ControllerSocketProtocol::handleCommand 
> (this=0x5555559fb580, stream=0x7fffe3ffec40) at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/c2/ControllerSocketProtocol.cpp:310
> #27 0x00007ffff75158e4 in operator() (__closure=0x7fffe3ffed00, 
> stream=0x7fffe3ffec40) at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/c2/ControllerSocketProtocol.cpp:93
> #28 0x00007ffff75191b4 in std::__invoke_impl<void, 
> org::apache::nifi::minifi::c2::ControllerSocketProtocol::initialize()::<lambda(org::apache::nifi::minifi::io::BaseStream*)>&,
>  org::apache::nifi::minifi::io::BaseStream*>(std::__invoke_other, struct 
> {...} &) (__f=...)
>     at /usr/include/c++/11/bits/invoke.h:61
> #29 0x00007ffff7518bc7 in std::__invoke_r<void, 
> org::apache::nifi::minifi::c2::ControllerSocketProtocol::initialize()::<lambda(org::apache::nifi::minifi::io::BaseStream*)>&,
>  org::apache::nifi::minifi::io::BaseStream*>(struct {...} &) (__fn=...)
>     at /usr/include/c++/11/bits/invoke.h:111
> #30 0x00007ffff751861a in 
> std::_Function_handler<void(org::apache::nifi::minifi::io::BaseStream*), 
> org::apache::nifi::minifi::c2::ControllerSocketProtocol::initialize()::<lambda(org::apache::nifi::minifi::io::BaseStream*)>
>  >::_M_invoke(const std::_Any_data &, 
> org::apache::nifi::minifi::io::BaseStream *&&) (__functor=..., 
> __args#0=@0x7fffe3ffebe0: 0x7fffe3ffec40) at 
> /usr/include/c++/11/bits/std_function.h:290
> #31 0x00007ffff76d953f in std::function<void 
> (org::apache::nifi::minifi::io::BaseStream*)>::operator()(org::apache::nifi::minifi::io::BaseStream*)
>  const (this=0x7fffe3ffed00, __args#0=0x7fffe3ffec40) at 
> /usr/include/c++/11/bits/std_function.h:590
> #32 0x00007ffff76d89d3 in operator()(std::function<bool()>, 
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)>) const 
> (__closure=0x555555a63c28, handler=...) at 
> /home/ggyimesi/projects/nifi-minifi-cpp-fork/libminifi/src/io/ServerSocket.cpp:65
> #33 0x00007ffff76d9230 in std::__invoke_impl<void, 
> org::apache::nifi::minifi::io::ServerSocket::registerCallback(std::function<bool()>,
>  
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)::<lambda(std::function<bool()>,
>  std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)>, 
> std::function<bool()>, 
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)> 
> >(std::__invoke_other, struct {...} &&) (__f=...) at 
> /usr/include/c++/11/bits/invoke.h:61
> #34 0x00007ffff76d917c in 
> std::__invoke<org::apache::nifi::minifi::io::ServerSocket::registerCallback(std::function<bool()>,
>  
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)::<lambda(std::function<bool()>,
>  std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)>, 
> std::function<bool()>, 
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)> >(struct 
> {...} &&) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
> #35 0x00007ffff76d90af in 
> std::thread::_Invoker<std::tuple<org::apache::nifi::minifi::io::ServerSocket::registerCallback(std::function<bool()>,
>  
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)::<lambda(std::function<bool()>,
>  std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)>, 
> std::function<bool()>, 
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)> > 
> >::_M_invoke<0, 1, 2>(std::_Index_tuple<0, 1, 2>) (this=0x555555a63be8) at 
> /usr/include/c++/11/bits/std_thread.h:253
> #36 0x00007ffff76d904c in 
> std::thread::_Invoker<std::tuple<org::apache::nifi::minifi::io::ServerSocket::registerCallback(std::function<bool()>,
>  
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)::<lambda(std::function<bool()>,
>  std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)>, 
> std::function<bool()>, 
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)> > 
> >::operator()(void) (this=0x555555a63be8) at 
> /usr/include/c++/11/bits/std_thread.h:260
> #37 0x00007ffff76d9030 in 
> std::thread::_State_impl<std::thread::_Invoker<std::tuple<org::apache::nifi::minifi::io::ServerSocket::registerCallback(std::function<bool()>,
>  
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)::<lambda(std::function<bool()>,
>  std::function<void(org::apache::nifi::minifi::io::BaseStream*)>)>, 
> std::function<bool()>, 
> std::function<void(org::apache::nifi::minifi::io::BaseStream*)> > > 
> >::_M_run(void) (this=0x555555a63be0) at 
> /usr/include/c++/11/bits/std_thread.h:211
> #38 0x00007ffff64dc2b3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
> #39 0x00007ffff6094b43 in start_thread (arg=<optimized out>) at 
> ./nptl/pthread_create.c:442
> #40 0x00007ffff6126a00 in clone3 () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
>  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to