Skip to content

Instantly share code, notes, and snippets.

@zanchey
Created March 14, 2017 13:35
Show Gist options
  • Save zanchey/05ff50f57488b2c508f11c5776a57874 to your computer and use it in GitHub Desktop.
Save zanchey/05ff50f57488b2c508f11c5776a57874 to your computer and use it in GitHub Desktop.
WARNING: ThreadSanitizer: data race (pid=2749)
Write of size 4 at 0x00000187cae4 by main thread:
#0 reader_data_t::command_line_changed(editable_line_t const*) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:516:27 (fish+0x00000072dd49)
#1 insert_string(editable_line_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:961:9 (fish+0x0000007381af)
#2 insert_char(editable_line_t*, wchar_t, bool) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:990:12 (fish+0x000000739e08)
#3 reader_readline(int) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:3181:21 (fish+0x000000737856)
#4 read_i() /home/wheel/zanchey/src/fish-shell/src/reader.cpp:2250:30 (fish+0x00000073b0e0)
#5 reader_read(int, io_chain_t const&) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:3344:36 (fish+0x00000073ad56)
#6 main /home/wheel/zanchey/src/fish-shell/src/fish.cpp:391:19 (fish+0x00000076d2da)
Previous read of size 4 at 0x00000187cae4 by thread T3:
#0 get_autosuggestion_performer(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned long, history_t*)::$_0::operator()() const /home/wheel/zanchey/src/fish-shell/src/reader.cpp:1132:33 (fish+0x00000073d5ac)
#1 std::_Function_handler<autosuggestion_result_t (), get_autosuggestion_performer(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned long, history_t*)::$_0>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:2024:9 (fish+0x00000073d19f)
#2 std::function<autosuggestion_result_t ()>::operator()() const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:2439:14 (fish+0x000000742d3b)
#3 int _iothread_trampoline<autosuggestion_result_t>::perform<std::function<autosuggestion_result_t ()>, void (*)(autosuggestion_result_t)>(std::function<autosuggestion_result_t ()> const&, void (* const&)(autosuggestion_result_t))::{lambda()#1}::operator()() const /home/wheel/zanchey/src/fish-shell/./src/iothread.h:44:56 (fish+0x000000742bcd)
#4 std::_Function_handler<void (), int _iothread_trampoline<autosuggestion_result_t>::perform<std::function<autosuggestion_result_t ()>, void (*)(autosuggestion_result_t)>(std::function<autosuggestion_result_t ()> const&, void (* const&)(autosuggestion_result_t))::{lambda()#1}>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:2039:2 (fish+0x0000007428d0)
#5 std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/functional:2439:14 (fish+0x0000006bfb49)
#6 iothread_worker(void*) /home/wheel/zanchey/src/fish-shell/src/iothread.cpp:127:9 (fish+0x0000006cd0f3)
Location is global 's_generation_count' of size 4 at 0x00000187cae4 (fish+0x00000187cae4)
Thread T3 (tid=3117, running) created by main thread at:
#0 pthread_create <null> (fish+0x000000548b73)
#1 iothread_spawn() /home/wheel/zanchey/src/fish-shell/src/iothread.cpp:167:5 (fish+0x0000006cc79c)
#2 iothread_perform_impl(std::function<void ()>&&, std::function<void ()>&&) /home/wheel/zanchey/src/fish-shell/src/iothread.cpp:198:9 (fish+0x0000006cc530)
#3 int _iothread_trampoline<autosuggestion_result_t>::perform<std::function<autosuggestion_result_t ()>, void (*)(autosuggestion_result_t)>(std::function<autosuggestion_result_t ()> const&, void (* const&)(autosuggestion_result_t)) /home/wheel/zanchey/src/fish-shell/./src/iothread.h:44:16 (fish+0x0000007423fb)
#4 int iothread_perform<std::function<autosuggestion_result_t ()>, void (*)(autosuggestion_result_t)>(std::function<autosuggestion_result_t ()> const&, void (* const&)(autosuggestion_result_t)) /home/wheel/zanchey/src/fish-shell/./src/iothread.h:67:12 (fish+0x0000007421f8)
#5 update_autosuggestion() /home/wheel/zanchey/src/fish-shell/src/reader.cpp:1215:9 (fish+0x00000073c385)
#6 reader_super_highlight_me_plenty(int, bool) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:2158:9 (fish+0x000000737ed8)
#7 insert_string(editable_line_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:979:9 (fish+0x00000073837a)
#8 reader_readline(int) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:2403:17 (fish+0x000000732fc1)
#9 read_i() /home/wheel/zanchey/src/fish-shell/src/reader.cpp:2250:30 (fish+0x00000073b0e0)
#10 reader_read(int, io_chain_t const&) /home/wheel/zanchey/src/fish-shell/src/reader.cpp:3344:36 (fish+0x00000073ad56)
#11 main /home/wheel/zanchey/src/fish-shell/src/fish.cpp:391:19 (fish+0x00000076d2da)
SUMMARY: ThreadSanitizer: data race /home/wheel/zanchey/src/fish-shell/src/reader.cpp:516:27 in reader_data_t::command_line_changed(editable_line_t const*)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment