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

armhf: Failing unit tests (dictionary-remove, object-packer) #6761

Open
dnsmichi opened this Issue Nov 8, 2018 · 10 comments

Comments

Projects
None yet
3 participants
@dnsmichi
Member

dnsmichi commented Nov 8, 2018

OSMC hackathon working task :)

Current Behavior

2 Unit tests are failing, the other two have been fixed already with #6760.

dictionary-remove


scw-4dd70c:~/icinga2-2.10.1/obj-arm-linux-gnueabihf/Bin/None# gdb --args ./boosttest-test-base
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./boosttest-test-base...done.
(gdb) r
Starting program: /root/icinga2-2.10.1/obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0xb6c647e6 in ?? () from /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1
(gdb) handle SIGILL nostop'
Signal        Stop	Print	Pass to program	Description
SIGILL        No	Yes	Yes		Illegal instruction
(gdb) handle SIGILL nostop
Signal        Stop	Print	Pass to program	Description
SIGILL        No	Yes	Yes		Illegal instruction
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /root/icinga2-2.10.1/obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
[New Thread 0xb4c7d450 (LWP 29302)]
[Thread 0xb4c7d450 (LWP 29302) exited]
[New Thread 0xb4c7d450 (LWP 29303)]
[New Thread 0xb42ff450 (LWP 29304)]
[New Thread 0xb38ff450 (LWP 29305)]
[New Thread 0xb30ff450 (LWP 29306)]
[New Thread 0xb26ff450 (LWP 29307)]
Running 94 test cases...

Thread 1 "boosttest-test-" received signal SIGSEGV, Segmentation fault.
0xb6a8096c in std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) ()
   from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
(gdb) bt
#0  0xb6a8096c in std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) ()
   from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#1  0x0071f706 in std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_erase_aux (this=this@entry=0xa9cd34,
    __position=...) at /usr/include/c++/6/bits/stl_tree.h:2274
#2  0x006c360a in std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<icinga::String const, icinga::Value> >) (__position=..., this=0xa9cd34) at /usr/include/c++/6/bits/stl_tree.h:1047
#3  std::map<icinga::String, icinga::Value, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<icinga::String const, icinga::Value> >) (__position=..., this=0xa9cd34)
    at /usr/include/c++/6/bits/stl_map.h:951
#4  icinga::Dictionary::Remove (this=this@entry=0xa9cd28, it=..., it@entry=non-dereferenceable iterator for associative container,
    overrideFrozen=<optimized out>) at ./lib/base/dictionary.cpp:170
#5  0x0066fbf0 in base_dictionary::remove::test_method (this=this@entry=0xbeffe0d0) at ./test/base-dictionary.cpp:137
#6  0x006700ac in base_dictionary::remove_invoker () at ./test/base-dictionary.cpp:105
#7  0xb6b46194 in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#8  0xb6b45976 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#9  0xb6b45a36 in boost::execution_monitor::execute(boost::function<int ()> const&) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#10 0xb6b45f74 in boost::execution_monitor::vexecute(boost::function<void ()> const&) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#11 0xb6b618e2 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#12 0xb6b4cb04 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) () from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#13 0xb6b4cf9a in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) () from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#14 0xb6b47e9c in boost::unit_test::framework::run(unsigned long, bool) () from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#15 0xb6b6000e in boost::unit_test::unit_test_main(bool (*)(), int, char**) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#16 0xb68874aa in __libc_start_main (main=0x6513a1 <main(int, char**)>, argc=1, argv=0xbefff674, init=<optimized out>,
    fini=0x8c2f11 <__libc_csu_fini>, rtld_fini=0xb6fe2edd <_dl_fini>, stack_end=0xbefff674) at libc-start.c:291
#17 0x00659ca0 in _start ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

objectpack

scw-4dd70c:~/icinga2-2.10.1# ./obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base --run_test=base_object_packer/pack_object
Running 1 test case...
unknown location(0): fatal error: in "base_object_packer/pack_object": memory access violation at address: 0x00000000: no mapping at fault address
/root/icinga2-2.10.1/test/base-object-packer.cpp(278): last checkpoint

*** 1 failure is detected in the test module "Master Test Suite"
scw-4dd70c:~/icinga2-2.10.1# gdb --args ./obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base --run_test=base_object_packer/pack_object
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base...done.
(gdb) r
Starting program: /root/icinga2-2.10.1/obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base --run_test=base_object_packer/pack_object
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0xb6c647e6 in ?? () from /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1
(gdb) handle SIGILL nostop
Signal        Stop	Print	Pass to program	Description
SIGILL        No	Yes	Yes		Illegal instruction
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /root/icinga2-2.10.1/obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base --run_test=base_object_packer/pack_object
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
[New Thread 0xb4c7d450 (LWP 1755)]
[Thread 0xb4c7d450 (LWP 1755) exited]
[New Thread 0xb4c7d450 (LWP 1756)]
[New Thread 0xb42ff450 (LWP 1757)]
[New Thread 0xb38ff450 (LWP 1758)]
[New Thread 0xb30ff450 (LWP 1759)]
[New Thread 0xb26ff450 (LWP 1760)]
Running 1 test case...

Thread 1 "boosttest-test-" received signal SIGSEGV, Segmentation fault.
0x006c48c2 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<icinga::String const, icinga::Value> > >::allocate (this=<optimized out>, __n=1)
    at /usr/include/c++/6/ext/new_allocator.h:104
104		return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
(gdb) bt
#0  0x006c48c2 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<icinga::String const, icinga::Value> > >::allocate (this=<optimized out>,
    __n=1) at /usr/include/c++/6/ext/new_allocator.h:104
#1  std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<icinga::String const, icinga::Value> > > >::allocate (__a=..., __n=1)
    at /usr/include/c++/6/bits/alloc_traits.h:436
#2  std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_get_node (this=<optimized out>)
    at /usr/include/c++/6/bits/stl_tree.h:505
#3  std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_create_node<std::pair<icinga::String const, icinga::Value> const&> (this=<optimized out>) at /usr/include/c++/6/bits/stl_tree.h:559
#4  std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_Alloc_node::operator()<std::pair<icinga::String const, icinga::Value> const&> (this=<optimized out>, __arg=...) at /usr/include/c++/6/bits/stl_tree.h:473
#5  std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_insert_<std::pair<icinga::String const, icinga::Value> const&, std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_Alloc_node> (this=this@entry=0xa9c87c,
    __x=__x@entry=0x0, __p=__p@entry=0xa9c880, __v=..., __node_gen=...) at /usr/include/c++/6/bits/stl_tree.h:1535
#6  0x006c4994 in std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_insert_unique_<std::pair<icinga::String const, icinga::Value> const&, std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_Alloc_node> (
    this=this@entry=0xa9c87c, __position=..., __position@entry=
        {first = {static NPos = 4294967295, m_Data = ""}, second = {m_Value = {which_ = 0, storage_ = {<boost::detail::aligned_storage::aligned_storage_imp<24u, 8u>> = {data_ = {buf = '\000' <repeats 23 times>, align_ = {<No data fields>}}}, static size = <optimized out>, static alignment = <optimized out>}}}}, __v=..., __node_gen=...) at /usr/include/c++/6/bits/stl_tree.h:2004
#7  0x006c49f4 in std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_insert_unique<std::pair<icinga::String const, icinga::Value> const*> (__last=<optimized out>, __first=0x0, this=0xa9c87c) at /usr/include/c++/6/bits/stl_tree.h:2250
#8  std::map<icinga::String, icinga::Value, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::map (
    __a=..., __comp=..., __l=..., this=0xa9c87c) at /usr/include/c++/6/bits/stl_map.h:215
#9  icinga::Dictionary::Dictionary (this=0xa9c870, init=...) at ./lib/base/dictionary.cpp:46
#10 0x0067ae64 in base_object_packer::pack_object::test_method (this=this@entry=0xbeffe0e8) at ./test/base-object-packer.cpp:229
#11 0x0067b1c8 in base_object_packer::pack_object_invoker () at ./test/base-object-packer.cpp:227
#12 0xb6b46194 in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#13 0xb6b45976 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#14 0xb6b45a36 in boost::execution_monitor::execute(boost::function<int ()> const&) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#15 0xb6b45f74 in boost::execution_monitor::vexecute(boost::function<void ()> const&) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#16 0xb6b618e2 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#17 0xb6b4cb04 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) () from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#18 0xb6b4cf9a in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) () from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#19 0xb6b47e9c in boost::unit_test::framework::run(unsigned long, bool) () from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#20 0xb6b6000e in boost::unit_test::unit_test_main(bool (*)(), int, char**) ()
   from /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0
#21 0xb68874aa in __libc_start_main (main=0x651381 <main(int, char**)>, argc=2, argv=0xbefff684, init=<optimized out>,
    fini=0x8c2cb9 <__libc_csu_fini>, rtld_fini=0xb6fe2edd <_dl_fini>, stack_end=0xbefff684) at libc-start.c:291
#22 0x00659c78 in _start ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Context

@nbuchwitz is building packages ;)

Your Environment

  • Version used (icinga2 --version): 2.10.1
  • Operating System and version: Debian Stretch armhf (ARMv7)
@dnsmichi

This comment has been minimized.

Member

dnsmichi commented Nov 8, 2018

Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) up
#1  std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<icinga::String const, icinga::Value> > > >::allocate (__a=..., __n=1)
    at /usr/include/c++/6/bits/alloc_traits.h:436
436	      { return __a.allocate(__n); }
(gdb)
#2  std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_get_node (this=<optimized out>)
    at /usr/include/c++/6/bits/stl_tree.h:505
505	      { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); }
(gdb)
#3  std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_create_node<std::pair<icinga::String const, icinga::Value> const&> (this=<optimized out>) at /usr/include/c++/6/bits/stl_tree.h:559
559		  _Link_type __tmp = _M_get_node();
(gdb)
#4  std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_Alloc_node::operator()<std::pair<icinga::String const, icinga::Value> const&> (this=<optimized out>, __arg=...) at /usr/include/c++/6/bits/stl_tree.h:473
473		  { return _M_t._M_create_node(_GLIBCXX_FORWARD(_Arg, __arg)); }
(gdb)
#5  std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_insert_<std::pair<icinga::String const, icinga::Value> const&, std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_Alloc_node> (this=this@entry=0xa9c87c,
    __x=__x@entry=0x0, __p=__p@entry=0xa9c880, __v=..., __node_gen=...) at /usr/include/c++/6/bits/stl_tree.h:1535
1535		_Link_type __z = __node_gen(_GLIBCXX_FORWARD(_Arg, __v));
(gdb)
#6  0x006c4994 in std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_insert_unique_<std::pair<icinga::String const, icinga::Value> const&, std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_Alloc_node> (
    this=this@entry=0xa9c87c, __position=..., __position@entry=
        {first = {static NPos = 4294967295, m_Data = ""}, second = {m_Value = {which_ = 0, storage_ = {<boost::detail::aligned_storage::aligned_storage_imp<24u, 8u>> = {data_ = {buf = '\000' <repeats 23 times>, align_ = {<No data fields>}}}, static size = <optimized out>, static alignment = <optimized out>}}}}, __v=..., __node_gen=...) at /usr/include/c++/6/bits/stl_tree.h:2004
2004				  __node_gen);
(gdb)
#7  0x006c49f4 in std::_Rb_tree<icinga::String, std::pair<icinga::String const, icinga::Value>, std::_Select1st<std::pair<icinga::String const, icinga::Value> >, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::_M_insert_unique<std::pair<icinga::String const, icinga::Value> const*> (__last=<optimized out>, __first=0x0, this=0xa9c87c) at /usr/include/c++/6/bits/stl_tree.h:2250
2250		  _M_insert_unique_(end(), *__first, __an);
(gdb)
#8  std::map<icinga::String, icinga::Value, std::less<icinga::String>, std::allocator<std::pair<icinga::String const, icinga::Value> > >::map (
    __a=..., __comp=..., __l=..., this=0xa9c87c) at /usr/include/c++/6/bits/stl_map.h:215
215	      { _M_t._M_insert_unique(__l.begin(), __l.end()); }
(gdb)
#9  icinga::Dictionary::Dictionary (this=0xa9c870, init=...) at ./lib/base/dictionary.cpp:46
46		: m_Data(init)
(gdb)
#10 0x0067ae64 in base_object_packer::pack_object::test_method (this=this@entry=0xbeffe0e8) at ./test/base-object-packer.cpp:229
229		BOOST_CHECK(AssertPackObjectResult(
(gdb) quit
@dnsmichi

This comment has been minimized.

@dnsmichi

This comment has been minimized.

Member

dnsmichi commented Nov 8, 2018

scw-4dd70c:~/icinga2-2.10.1# ldd obj-arm-linux-gnueabihf/Bin/None/boosttest-test-base
	libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb68fc000)
	libboost_thread.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_thread.so.1.62.0 (0xb68d0000)
	libboost_system.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_system.so.1.62.0 (0xb68bd000)
	libboost_program_options.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_program_options.so.1.62.0 (0xb6857000)
	libboost_regex.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_regex.so.1.62.0 (0xb6794000)
	libboost_chrono.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_chrono.so.1.62.0 (0xb677f000)
	libboost_date_time.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_date_time.so.1.62.0 (0xb6762000)
	libboost_atomic.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_atomic.so.1.62.0 (0xb6750000)
	libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb672c000)
	libssl.so.1.1 => /usr/lib/arm-linux-gnueabihf/libssl.so.1.1 (0xb66de000)
	libcrypto.so.1.1 => /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1 (0xb6558000)
	libyajl.so.2 => /usr/lib/arm-linux-gnueabihf/libyajl.so.2 (0xb6541000)
	libedit.so.2 => /usr/lib/arm-linux-gnueabihf/libedit.so.2 (0xb6510000)
	libtinfo.so.5 => /lib/arm-linux-gnueabihf/libtinfo.so.5 (0xb64e5000)
	libboost_unit_test_framework.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.so.1.62.0 (0xb644e000)
	libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6342000)
	libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb62ca000)
	libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb62a1000)
	libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb61b3000)
	/lib/ld-linux-armhf.so.3 (0xb6f63000)
	librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb619d000)
	libicudata.so.57 => /usr/lib/arm-linux-gnueabihf/libicudata.so.57 (0xb490e000)
	libicui18n.so.57 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.57 (0xb4761000)
	libicuuc.so.57 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.57 (0xb4638000)
	libncurses.so.5 => /lib/arm-linux-gnueabihf/libncurses.so.5 (0xb4613000)
	libbsd.so.0 => /lib/arm-linux-gnueabihf/libbsd.so.0 (0xb45f0000)
	libboost_timer.so.1.62.0 => /usr/lib/arm-linux-gnueabihf/libboost_timer.so.1.62.0 (0xb45dc000)

scw-4dd70c:~/icinga2-2.10.1# ls -la /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
lrwxrwxrwx 1 root root 19 Feb 14  2018 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 -> libstdc++.so.6.0.22
@dnsmichi

This comment has been minimized.

@dnsmichi

This comment has been minimized.

Member

dnsmichi commented Nov 8, 2018

It has to do something with the way we use dictionaries, initializer lists and std::map ... and of course gcc 6.3 and libstdc++ on Debian Stretch. Both segfaults lead to initialization and also iterator typedefs. Maybe related to gcc6 problems with std::pair and std::map.

git diff v2.8.4 v2.9.0 lib/base/dictionary.cpp
@dnsmichi

This comment has been minimized.

Member

dnsmichi commented Nov 13, 2018

With writing unit tests for initializer lists and adding ccache in front of armhf's g++ this somehow worked. I have no idea, why exactly.

@nbuchwitz

This comment has been minimized.

Contributor

nbuchwitz commented Nov 14, 2018

I tried again with the freshly released 2.10.2 source packages. With enabled LTO and UNITY the builds work for raspbian armhf. Without these modifications all tests fail.

@Al2Klimov

This comment has been minimized.

Contributor

Al2Klimov commented Nov 16, 2018

"Program received signal SIGILL, Illegal instruction." sounds to me like the binary runs on a too low version of ARM. E.g. an ARMv7 binary on RPi 1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment