[Pkg-nagios-devel] Bug#838358: icinga2: FTBFS on armhf: test failures

Christoph Biedl debian.axhn at manchmal.in-ulm.de
Sat Oct 8 13:07:36 UTC 2016


Emilio Pozuelo Monfort wrote...

> The following tests FAILED:
> 	 46 - base-base_timer/invoke (OTHER_FAULT)
> 	 47 - base-base_timer/scope (OTHER_FAULT)
> Errors while running CTest
> Makefile:130: recipe for target 'test' failed
> make[1]: *** [test] Error 8
> make[1]: Leaving directory '/«PKGBUILDDIR»/obj-arm-linux-gnueabihf'
> dh_auto_test: make -j1 test ARGS+=-j1 returned exit code 2
> debian/rules:23: recipe for target 'build-arch' failed
> make: *** [build-arch] Error 2

Trying to get this fixed I re-compiled icinga2 on my CubieTruck (takes
more than six hours), and could otherwise easily reproduce the issue.

The backtrace as attached exceeds my debugging skills. I'm dropping it
here in case somebody who is more experienced in boost can take a
look.

    Christoph


[/tmp/icinga/icinga2-2.5.4/obj-arm-linux-gnueabihf] $ gdb --args /tmp/icinga/icinga2-2.5.4/obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base --run_test=base_timer/invoke --catch_system_error=yes
GNU gdb (Debian 7.11.1-2) 7.11.1
(...)
Reading symbols from /tmp/icinga/icinga2-2.5.4/obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base...done.
(gdb) run
Starting program: /tmp/icinga/icinga2-2.5.4/obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base --run_test=base_timer/invoke --catch_system_error=yes
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
(gdb) [New Thread 0xb4480450 (LWP 147957)]
[New Thread 0xb3c80450 (LWP 147958)]
[New Thread 0xb32ff450 (LWP 147959)]
[New Thread 0xb28ff450 (LWP 147960)]
[New Thread 0xb20ff450 (LWP 147961)]
[New Thread 0xb18ff450 (LWP 147962)]
Running 1 test case...

Thread 3 "boosttest-test-" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb3c80450 (LWP 147958)]
0xb6fff958 in ?? ()
(gdb) bt
#0  0xb6fff958 in ?? ()
#1  0xb681f85a in boost::function1<void, boost::intrusive_ptr<icinga::Timer> const&>::operator() (a0=..., this=<optimized out>) at /usr/include/boost/function/function_template.hpp:771
#2  boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)>, 0u, boost::intrusive_ptr<icinga::Timer> const&>(boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)>&, boost::signals2::detail::unsigned_meta_array<0u>, std::tuple<boost::intrusive_ptr<icinga::Timer> const&> const&, boost::enable_if<boost::is_void<boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)>::result_type>, void>::type*) const (this=<optimized out>, args=std::tuple containing = {...}, func=...)
    at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:105
#3  boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)>, boost::intrusive_ptr<icinga::Timer> const&, 1u>(boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)>&, std::tuple<boost::intrusive_ptr<icinga::Timer> const&> const&, mpl_::size_t<1u>) const (this=<optimized out>, args=std::tuple containing = {...}, func=...) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:90
#4  boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > const&) const (connectionBody=..., this=0xb3c7f954) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:133
#5  boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> >::dereference() const (this=0xb3c7f85c) at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:109
#6  boost::iterators::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > const&) (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:549
#7  boost::iterators::detail::iterator_facade_base<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::iterators::single_pass_traversal_tag, boost::signals2::detail::void_type&, int, false, false>::operator*() const (this=0xb3c7f85c) at /usr/include/boost/iterator/iterator_facade.hpp:655
#8  boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> >) const (this=<optimized out>, first=..., last=...) at /usr/include/boost/signals2/optional_last_value.hpp:55
#9  boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >(boost::signals2::optional_last_value<void>&, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, boost::intrusive_ptr<icinga::Timer> const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (boost::intrusive_ptr<icinga::Timer> const&), boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)> >, boost::signals2::mutex> >) const (this=<optimized out>, 
    combiner=..., first=..., last=...) at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64
#10 boost::signals2::detail::signal_impl<void (boost::intrusive_ptr<icinga::Timer> const&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)>, boost::function<void (boost::signals2::connection const&, boost::intrusive_ptr<icinga::Timer> const&)>, boost::signals2::mutex>::operator()(boost::intrusive_ptr<icinga::Timer> const&) (this=0xce0c0, args#0=...) at /usr/include/boost/signals2/detail/signal_template.hpp:247
#11 0xb681c646 in boost::signals2::signal<void (boost::intrusive_ptr<icinga::Timer> const&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (boost::intrusive_ptr<icinga::Timer> const&)>, boost::function<void (boost::signals2::connection const&, boost::intrusive_ptr<icinga::Timer> const&)>, boost::signals2::mutex>::operator()(boost::intrusive_ptr<icinga::Timer> const&) (args#0=..., this=0xe317c) at /usr/include/boost/signals2/detail/signal_template.hpp:723
#12 icinga::Timer::Call (this=0xe3170) at ./lib/base/timer.cpp:94
#13 0xb6818ff2 in boost::function0<void>::operator() (this=0xb3c7fa08) at /usr/include/boost/function/function_template.hpp:771
#14 icinga::ThreadPool::WorkerThread::ThreadProc (this=0xb68c6ac0 <icinga::Application::GetTP()::tp+1360>, queue=...) at ./lib/base/threadpool.cpp:138
#15 0xb64ba6f8 in ?? () from /usr/lib/arm-linux-gnueabihf/libboost_thread.so.1.61.0
#16 0xb630c5e4 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#17 0xb6102412 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-nagios-devel/attachments/20161008/d460b4e0/attachment.sig>


More information about the Pkg-nagios-devel mailing list