Crash on running unit tests, just dropping off the backtrace.
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6e27450 in __memcmp_avx2_movbe () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install libgcc-7.3.1-5.amzn2.0.2.x86_64 libstdc++-7.3.1-5.amzn2.0.2.x86_64 ncurses-libs-6.0-8.20170212.amzn2.1.2.x86_64
(gdb) bt
#0 0x00007ffff6e27450 in __memcmp_avx2_movbe () from /lib64/libc.so.6
#1 0x00007ffff7714efa in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const () from /lib64/libstdc++.so.6
#2 0x0000000000799430 in std::operator==<char, std::char_traits<char>, std::allocator<char> > (__lhs=..., __rhs=__rhs@entry=0xea8668 "both") at /usr/include/c++/7/bits/basic_string.h:6033
#3 0x000000000092dabb in game::<lambda(const tripoint&)>::operator() (__closure=0x13d1e50 <game::place_player(tripoint const&)::forage>, pos=...) at src/game.cpp:10587
#4 game::place_player (this=0x158f8b0, dest_loc=...) at src/game.cpp:10608
#5 0x000000000079c634 in ____C_A_T_C_H____T_E_S_T____21 () at npc_test.cpp:425
#6 0x0000000000804f27 in Catch::RunContext::invokeActiveTestCase (this=this@entry=0x7fffffffdf58) at catch/catch.hpp:10029
#7 0x00000000008129a2 in Catch::RunContext::runCurrentTest (this=this@entry=0x7fffffffdf58, redirectedCout="", redirectedCerr="") at catch/catch.hpp:10003
#8 0x00000000008189f1 in Catch::RunContext::runTest (this=this@entry=0x7fffffffdf58, testCase=...) at catch/catch.hpp:9779
#9 0x0000000000818e63 in Catch::(anonymous namespace)::runTests (config=std::shared_ptr (count 4, weak 0) 0x156bde0) at catch/catch.hpp:10326
#10 0x0000000000819c98 in Catch::Session::runInternal (this=this@entry=0x7fffffffe320) at catch/catch.hpp:10519
#11 0x0000000000819d42 in Catch::Session::run (this=this@entry=0x7fffffffe320) at catch/catch.hpp:10476
#12 0x00000000006c84d2 in main (argc=<optimized out>, argv=0x7fffffffe588) at test_main.cpp:279
(gdb) f 4
#4 game::place_player (this=0x158f8b0, dest_loc=...) at src/game.cpp:10608
10608 forage( u.pos() + direction_XY( elem ) );
(gdb) p u.pos()
$1 = (const tripoint &) @0x15ec830: {x = 70, y = 70, z = 0}
(gdb) f 3
#3 0x000000000092dabb in game::<lambda(const tripoint&)>::operator() (__closure=0x13d1e50 <game::place_player(tripoint const&)::forage>, pos=...) at src/game.cpp:10587
10587 const bool forage_everything = forage_type == "both";
(gdb) p forage_type
$2 = <error: Cannot access memory at address 0x3c>
(gdb) q
A debugging session is active.
Inferior 1 [process 9798] will be killed.
Quit anyway? (y or n) y
Looks like a dupe of #29484
Yep, good catch @ifreund ! The end of the stack trace is an exact dup of #29484.
game::place_playerstd::operator== with the string bothstd::string::compare()memcmp()
Most helpful comment
Looks like a dupe of #29484