Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assigning vars.x = vars causes Icinga 2 segfaults #6409

Closed
Crunsher opened this issue Jun 22, 2018 · 3 comments
Closed

Assigning vars.x = vars causes Icinga 2 segfaults #6409

Crunsher opened this issue Jun 22, 2018 · 3 comments
Labels
area/configuration DSL, parser, compiler, error handling bug Something isn't working core/crash Shouldn't happen, requires attention
Milestone

Comments

@Crunsher
Copy link
Contributor

With this config...

object CheckCommand "chk" {
	command = "ohlol"
	vars.foo = 5
}

object CheckCommand "chk-dead" {
	command = "ohlol"
	vars.bar = vars
}

... Icinga will segfault when reading the config

$ icinga2 daemon -C
[2018-06-22 16:42:34 +0200] information/cli: Icinga application loader (version: v2.8.4-761-g352aca733)
[2018-06-22 16:42:34 +0200] information/cli: Loading configuration file(s).
[2018-06-22 16:42:34 +0200] information/ConfigItem: Committing config item(s).
[2018-06-22 16:42:34 +0200] information/ApiListener: My API identity: jfws
[1]    24843 segmentation fault  icinga2 daemon -C
@Crunsher Crunsher added area/configuration DSL, parser, compiler, error handling core/crash Shouldn't happen, requires attention labels Jun 22, 2018
@Crunsher Crunsher changed the title Icinga 2 segfaults Assigning vars.x = vars causes Icinga 2 segfaults Jun 22, 2018
@Crunsher Crunsher changed the title Assigning vars.x = vars causes Icinga 2 segfaults Assigning vars.x = vars causes Icinga 2 segfaults Jun 22, 2018
@Crunsher
Copy link
Contributor Author

There is no crash report or similar, it's easy to reproduce and Friday afternoon - so I will put off collecting proper debug info for now :P

@dnsmichi
Copy link
Contributor

Self-referencing in a recursion until stack limit is hit. There's similar reports for that already. Nothing new, so not relevant for 2.9.

(lldb) bt
* thread #7, stop reason = EXC_BAD_ACCESS (code=2, address=0x7000097f8ff8)
  * frame #0: 0x00007fff7f8ee19b libsystem_malloc.dylib`tiny_malloc_from_free_list + 8
    frame #1: 0x00007fff7f8ed3bf libsystem_malloc.dylib`szone_malloc_should_clear + 422
    frame #2: 0x00007fff7f8ed1bd libsystem_malloc.dylib`malloc_zone_malloc + 103
    frame #3: 0x00007fff7f8ec4c7 libsystem_malloc.dylib`malloc + 24
    frame #4: 0x00007fff7d6eb628 libc++abi.dylib`operator new(unsigned long) + 40
    frame #5: 0x00000001001690a5 icinga2`std::__1::__split_buffer<std::__1::pair<icinga::String, icinga::Value>, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >&) [inlined] std::__1::__allocate(__size=56) at new:226
    frame #6: 0x000000010016909c icinga2`std::__1::__split_buffer<std::__1::pair<icinga::String, icinga::Value>, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >&) [inlined] std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >::allocate(this=0x00007000097f94a8, __n=1, (null)=0x0000000000000000) at memory:1747
    frame #7: 0x0000000100168fd6 icinga2`std::__1::__split_buffer<std::__1::pair<icinga::String, icinga::Value>, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >&) [inlined] std::__1::allocator_traits<std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> > >::allocate(__a=0x00007000097f94a8, __n=1) at memory:1502
    frame #8: 0x0000000100168fb7 icinga2`std::__1::__split_buffer<std::__1::pair<icinga::String, icinga::Value>, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >&>::__split_buffer(this=0x00007000097f9328, __cap=1, __start=0, __a=0x00007000097f94a8) at __split_buffer:311
    frame #9: 0x000000010016871d icinga2`std::__1::__split_buffer<std::__1::pair<icinga::String, icinga::Value>, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> >&>::__split_buffer(this=0x00007000097f9328, __cap=1, __start=0, __a=0x00007000097f94a8) at __split_buffer:310
    frame #10: 0x000000010015d4f6 icinga2`std::__1::vector<std::__1::pair<icinga::String, icinga::Value>, std::__1::allocator<std::__1::pair<icinga::String, icinga::Value> > >::reserve(this=0x00007000097f9498 size=1, __n=1) at vector:1530
    frame #11: 0x0000000100260e7f icinga2`SerializeDictionary(input=0x00007000097f97c8, attributeTypes=2) at serializer.cpp:46
    frame #12: 0x0000000100260633 icinga2`icinga::Serialize(value=0x0000000105d0c4e8, attributeTypes=2) at serializer.cpp:176
    frame #13: 0x000000010026103d icinga2`SerializeDictionary(input=0x00007000097f9c28, attributeTypes=2) at serializer.cpp:51

.......

    frame #929: 0x00000001003796e7 icinga2`icinga::ConfigItem::Commit(this=0x00000001037da480, discard=false) at configitem.cpp:295
    frame #930: 0x000000010038f112 icinga2`icinga::ConfigItem::CommitNewItems(this=0x00000001036e4650, ip=0x0000000104804d60)::$_1::operator()(std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> const&) const at configitem.cpp:435
    frame #931: 0x000000010038f0d0 icinga2`void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(this=0x00007000098784e8)::$_1 const&)::'lambda'()::operator()() const::'lambda'()::operator()() const at workqueue.hpp:102
    frame #932: 0x000000010038f07d icinga2`void std::__1::__invoke_void_return_wrapper<void>::__call<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()::operator()() const::'lambda'()&>(void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()::operator()() const::'lambda'()&&&) [inlined] decltype(__f=0x00007000098784e8)(std::__1::forward<>(fp0))) std::__1::__invoke<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()::operator()() const::'lambda'()&>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >&&) at type_traits:4323
    frame #933: 0x000000010038f06c icinga2`void std::__1::__invoke_void_return_wrapper<void>::__call<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(__args=0x00007000098784e8)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()::operator()() const::'lambda'()&>(void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()::operator()() const::'lambda'()&&&) at __functional_base:349
    frame #934: 0x000000010038ef99 icinga2`std::__1::__function::__func<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()::operator()() const::'lambda'(), std::__1::allocator<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()::operator()() const::'lambda'()>, void ()>::operator(this=0x00007000098784e0)() at functional:1562
    frame #935: 0x00000001001d1ddb icinga2`std::__1::function<void ()>::operator(this=0x00007000098784e0)() const at functional:1921
    frame #936: 0x0000000100345d13 icinga2`icinga::WorkQueue::RunTaskFunction(this=0x00007ffeefbf96d0, func=0x00007000098784e0)> const&) at workqueue.cpp:252
    frame #937: 0x000000010038de50 icinga2`void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(this=0x00000001036e4648)::$_1 const&)::'lambda'()::operator()() const at workqueue.hpp:101
    frame #938: 0x000000010038dd8d icinga2`void std::__1::__invoke_void_return_wrapper<void>::__call<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()&>(void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()&&&) [inlined] decltype(__f=0x00000001036e4648)(std::__1::forward<>(fp0))) std::__1::__invoke<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()&>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >&&) at type_traits:4323
    frame #939: 0x000000010038dd7c icinga2`void std::__1::__invoke_void_return_wrapper<void>::__call<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(__args=0x00000001036e4648)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()&>(void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()&&&) at __functional_base:349
    frame #940: 0x000000010038dca9 icinga2`std::__1::__function::__func<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'(), std::__1::allocator<void icinga::WorkQueue::ParallelFor<std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > >, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1>(std::__1::vector<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool>, std::__1::allocator<std::__1::pair<boost::intrusive_ptr<icinga::ConfigItem>, bool> > > const&, icinga::ConfigItem::CommitNewItems(boost::intrusive_ptr<icinga::ActivationContext> const&, icinga::WorkQueue&, std::__1::vector<boost::intrusive_ptr<icinga::ConfigItem>, std::__1::allocator<boost::intrusive_ptr<icinga::ConfigItem> > >&)::$_1 const&)::'lambda'()>, void ()>::operator(this=0x00000001036e4640)() at functional:1562
    frame #941: 0x00000001001d1ddb icinga2`std::__1::function<void ()>::operator(this=0x00000001036e4640)() const at functional:1921
    frame #942: 0x0000000100345d13 icinga2`icinga::WorkQueue::RunTaskFunction(this=0x00007ffeefbf96d0, func=0x00000001036e4640)> const&) at workqueue.cpp:252
    frame #943: 0x000000010034526f icinga2`icinga::WorkQueue::WorkerThreadProc(this=0x00007ffeefbf96d0) at workqueue.cpp:295
    frame #944: 0x0000000100348184 icinga2`boost::detail::thread_data<std::__1::__bind<void (icinga::WorkQueue::*)(), icinga::WorkQueue*> >::run() [inlined] decltype(__f=0x00000001034d23c0, __a0=0x00000001034d23d0)).*fp(std::__1::forward<>(fp1))) std::__1::__invoke<void (icinga::WorkQueue::*&)(), icinga::WorkQueue*&, void>(void (icinga::WorkQueue::*&&&)(), icinga::WorkQueue*&&&) at type_traits:4264
    frame #945: 0x0000000100348105 icinga2`boost::detail::thread_data<std::__1::__bind<void (icinga::WorkQueue::*)(), icinga::WorkQueue*> >::run() [inlined] std::__1::__bind_return<void (icinga::WorkQueue::*)(), std::__1::tuple<icinga::WorkQueue*>, std::__1::tuple<>, __is_valid_bind_return<void (icinga::WorkQueue::*)(), std::__1::tuple<icinga::WorkQueue*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (__f=0x00000001034d23c0, __bound_args=0x00000001034d23d0, __args=0x0000700009878e38)(), std::__1::tuple<icinga::WorkQueue*>, 0ul, std::__1::tuple<> >(void (icinga::WorkQueue::*&)(), std::__1::tuple<icinga::WorkQueue*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&) at functional:2224
    frame #946: 0x00000001003480d5 icinga2`boost::detail::thread_data<std::__1::__bind<void (icinga::WorkQueue::*)(), icinga::WorkQueue*> >::run() [inlined] std::__1::__bind_return<void (icinga::WorkQueue::*)(), std::__1::tuple<icinga::WorkQueue*>, std::__1::tuple<>, __is_valid_bind_return<void (icinga::WorkQueue::*)(), std::__1::tuple<icinga::WorkQueue*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (this=0x00000001034d23c0)(), icinga::WorkQueue*>::operator()<>() at functional:2257
    frame #947: 0x00000001003480b2 icinga2`boost::detail::thread_data<std::__1::__bind<void (icinga::WorkQueue::*)(), icinga::WorkQueue*> >::run(this=0x00000001034d2270) at thread.hpp:117
    frame #948: 0x0000000102f485ea libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 154
    frame #949: 0x00007fff7fa5c661 libsystem_pthread.dylib`_pthread_body + 340
    frame #950: 0x00007fff7fa5c50d libsystem_pthread.dylib`_pthread_start + 377
    frame #951: 0x00007fff7fa5bbf9 libsystem_pthread.dylib`thread_start + 13

@dnsmichi
Copy link
Contributor

dnsmichi commented Sep 6, 2018

Fixed in the referenced issue.

@dnsmichi dnsmichi closed this as completed Sep 6, 2018
@dnsmichi dnsmichi added this to the 2.10.0 milestone Sep 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/configuration DSL, parser, compiler, error handling bug Something isn't working core/crash Shouldn't happen, requires attention
Projects
None yet
Development

No branches or pull requests

2 participants