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

Segfault when CPU is busy #218

Open
ncopa opened this issue Jun 16, 2022 · 0 comments
Open

Segfault when CPU is busy #218

ncopa opened this issue Jun 16, 2022 · 0 comments

Comments

@ncopa
Copy link

ncopa commented Jun 16, 2022

I get a segfault when running kyua test on alpine linux' abuild while building kernel at the same time. It only seems to happen when CPU is busy.

I was able to generate a core dump with debugging symbols:

Reading symbols from /usr/bin/kyua...
Reading symbols from /usr/lib/debug//usr/bin/kyua.debug...
[New LWP 27290]
Core was generated by `kyua test'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  std::_Rb_tree<utils::datetime::timestamp, std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > >, std::_Select1st<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > >, std::less<utils::datetime::timestamp>, std::allocator<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > > >::_M_mbegin (this=0x40)
    at /usr/include/c++/11.2.1/bits/stl_tree.h:734
734	      _M_mbegin() const _GLIBCXX_NOEXCEPT
(gdb) bt
#0  std::_Rb_tree<utils::datetime::timestamp, std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > >, std::_Select1st<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > >, std::less<utils::datetime::timestamp>, std::allocator<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > > >::_M_mbegin (this=0x40)
    at /usr/include/c++/11.2.1/bits/stl_tree.h:734
#1  std::_Rb_tree<utils::datetime::timestamp, std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > >, std::_Select1st<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > >, std::less<utils::datetime::timestamp>, std::allocator<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > > >::_M_begin (this=0x40)
    at /usr/include/c++/11.2.1/bits/stl_tree.h:739
#2  std::_Rb_tree<utils::datetime::timestamp, std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > >, std::_Select1st<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > >, std::less<utils::datetime::timestamp>, std::allocator<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > > >::find (__k=..., this=0x40)
    at /usr/include/c++/11.2.1/bits/stl_tree.h:2523
#3  std::map<utils::datetime::timestamp, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> >, std::less<utils::datetime::timestamp>, std::allocator<std::pair<utils::datetime::timestamp const, std::set<utils::signals::timer*, std::less<utils::signals::timer*>, std::allocator<utils::signals::timer*> > > > >::find (__x=..., this=0x40) at /usr/include/c++/11.2.1/bits/stl_map.h:1170
#4  (anonymous namespace)::global_state::remove_from_all_timers (timer=0x7f5152f573a0, this=0x0) at utils/signals/timer.cpp:140
#5  (anonymous namespace)::global_state::unprogram (timer=0x7f5152f573a0, this=0x0) at utils/signals/timer.cpp:321
#6  utils::signals::timer::unprogram (this=0x7f5152f573a0) at utils/signals/timer.cpp:536
#7  0x000055c4d5646948 in utils::process::executor::executor_handle::impl::post_wait (this=this@entry=0x7f5152f793a0, original_pid=28725, status=...)
    at /usr/include/c++/11.2.1/bits/shared_ptr_base.h:1295
#8  0x000055c4d564542d in utils::process::executor::executor_handle::wait_any (this=this@entry=0x7f5152f63b68) at utils/process/executor.cpp:852
#9  0x000055c4d5616c43 in engine::scheduler::scheduler_handle::wait_any (this=this@entry=0x7ffc0160f6f8) at /usr/include/c++/11.2.1/bits/shared_ptr_base.h:1295
#10 0x000055c4d56077b3 in drivers::run_tests::drive (kyuafile_path=..., build_root=..., store_path=..., filters=..., user_config=..., hooks=...)
    at drivers/run_tests.cpp:315
#11 0x000055c4d5602065 in cli::cmd_test::run (this=<optimized out>, ui=0x7ffc01610090, cmdline=..., user_config=...) at cli/cmd_test.cpp:160
#12 0x000055c4d55f5c77 in utils::cmdline::base_command<utils::config::tree>::main (data=..., args=..., ui=0x7ffc01610090, this=0x7f515334a170)
    at ./utils/cmdline/base_command.ipp:96
#13 (anonymous namespace)::run_subcommand (user_config=..., args=..., command=0x7f515334a170, ui=0x7ffc01610090) at cli/main.cpp:139
#14 (anonymous namespace)::safe_main (mock_command=..., 
    argv=0x55c4d5601eb0 <cli::cmd_test::run(utils::cmdline::ui*, utils::cmdline::parsed_cmdline const&, utils::config::tree const&)>, argc=0, ui=0x7ffc01610090)
    at cli/main.cpp:228
#15 cli::main (ui=ui@entry=0x7ffc01610090, argc=argc@entry=2, argv=argv@entry=0x7ffc016102a8, mock_command=...) at cli/main.cpp:280
#16 0x000055c4d55f5fbc in cli::main (argc=2, argv=0x7ffc016102a8) at cli/main.cpp:353
#17 0x00007f51532cfa22 in libc_start_main_stage2 (main=0x55c4d55f48e8 <main(int, char const* const*)>, argc=2, argv=0x7ffc016102a8)
    at src/env/__libc_start_main.c:95
#18 0x000055c4d55f6b83 in _start ()

algitbot pushed a commit to alpinelinux/aports that referenced this issue Jun 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant