Date: Mon, 22 Jan 2018 21:06:00 +0400 From: Roman Bogorodskiy <novel@FreeBSD.org> To: freebsd-current <freebsd-current@freebsd.org> Subject: lldb 6.0.0 segfaults on opening a core file Message-ID: <20180122170558.GA74490@kloomba>
next in thread | raw e-mail | index | archive | help
--Qxx1br4bt0+wmkIi Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, Running on -CURRENT @ Jan 20 with llvm 6.0.0, I have the following issue op= ening a core file with lldb: $ lldb /usr/local/bin/python2.7 -c /tmp/python2.7_90218_0.core=20 (lldb) target create "/usr/local/bin/python2.7" --core "/tmp/python2.7_9021= 8_0.core" Assertion failed: (template_counter >=3D 0), function ConsumeTemplateArgs, = file /usr/src/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPl= usPlusNameParser.cpp, line 245. This nothing happens for a couple of minutes and then it dumps core. Interestingly though, it can open its own core: %> lldb /usr/bin/lldb -c /tmp/lldb_1129_0.core=20 (lldb) target create "/usr/bin/lldb" --core "/tmp/lldb_1129_0.core" Core file '/tmp/lldb_1129_0.core' (x86_64) was loaded. = = =20 (lldb) bt = = =20 * thread #1, name =3D 'lldb', stop reason =3D signal SIGABRT = = =20 * frame #0: 0x0000000803e642ea libc.so.7`__sys_thr_kill at thr_kill.S:3 = = =20 frame #1: 0x0000000803e642b4 libc.so.7`__raise(s=3D6) at raise.c:54 = = =20 frame #2: 0x0000000803e64229 libc.so.7`abort at abort.c:67 = = =20 frame #3: 0x0000000803ee38f1 libc.so.7`__assert(func=3D<unavailable>, f= ile=3D<unavailable>, line=3D<unavailable>, failedexpr=3D<unavailable>) at a= ssert.c:53 =20 frame #4: 0x00000000017fa8e5 lldb`::ConsumeTemplateArgs() at CPlusPlusN= ameParser.cpp:245 = =20 frame #5: 0x00000000017f9f12 lldb`::ParseFullNameImpl() at CPlusPlusNam= eParser.cpp:551 = =20 frame #6: 0x00000000017f97d9 lldb`::ParseFunctionImpl() at CPlusPlusNam= eParser.cpp:114 = =20 frame #7: 0x00000000017f96f5 lldb`::ParseAsFunctionDefinition() at CPlu= sPlusNameParser.cpp:45 = =20 frame #8: 0x00000000017ec364 lldb`::Parse() at CPlusPlusLanguage.cpp:20= 2 = =20 frame #9: 0x00000000017ec3e7 lldb`lldb_private::CPlusPlusLanguage::Meth= odName::GetBasename(void) at CPlusPlusLanguage.cpp:218 = =20 frame #10: 0x00000000016ffcba lldb`::InitNameIndexes() at Symtab.cpp:29= 4 = =20 frame #11: 0x00000000017008b1 lldb`::PreloadSymbols() at Symtab.cpp:407= = =20 frame #12: 0x00000000018dce19 lldb`::PreloadSymbols() at Module.cpp:141= 6 = =20 frame #13: 0x00000000016b1e14 lldb`::GetSharedModule() at Target.cpp:20= 28 = =20 frame #14: 0x00000000019c14ed lldb`::LoadModuleAtAddress() at DynamicLo= ader.cpp:171 = =20 frame #15: 0x000000000199fd35 lldb`::LoadAllCurrentModules() at Dynamic= LoaderPOSIXDYLD.cpp:537 = =20 frame #16: 0x000000000199d9aa lldb`::DidAttach() at DynamicLoaderPOSIXD= YLD.cpp:171 = =20 frame #17: 0x0000000001698231 lldb`::LoadCore() at Process.cpp:2853 = = =20 frame #18: 0x000000000184b85d lldb`::DoExecute() at CommandObjectTarget= =2Ecpp:371 = =20 frame #19: 0x000000000181811f lldb`::Execute() at CommandObject.cpp:991= = =20 frame #20: 0x00000000018268f8 lldb`::HandleCommand() at CommandInterpre= ter.cpp:1683 = =20 frame #21: 0x0000000001829e2a lldb`::IOHandlerInputComplete() at Comman= dInterpreter.cpp:2771 = =20 frame #22: 0x00000000018e25ff lldb`::Run() at IOHandler.cpp:573 = = =20 frame #23: 0x000000000190ab5f lldb`::ExecuteIOHandlers() at Debugger.cp= p:961 = =20 frame #24: 0x000000000182a9a3 lldb`::RunCommandInterpreter() at Command= Interpreter.cpp:2971 = =20 frame #25: 0x000000000192ce29 lldb`::RunCommandInterpreter() at SBDebug= ger.cpp:905 = =20 frame #26: 0x0000000001677263 lldb`::MainLoop() at Driver.cpp:1105 = = =20 frame #27: 0x00000000016779bc lldb`main at Driver.cpp:1253 = = =20 frame #28: 0x0000000001674095 lldb`_start(ap=3D<unavailable>, cleanup= =3D<unavailable>) at crt1.c:74 = =20 (lldb) fr s 4 = = =20 frame #4: 0x00000000017fa8e5 lldb`::ConsumeTemplateArgs() at CPlusPlusNameP= arser.cpp:245 = =20 242 } = = =20 243 } = = =20 244 = = =20 -> 245 assert(template_counter >=3D 0); = = =20 246 if (template_counter > 0) { = = =20 247 return false; = = =20 248 } = = =20 (lldb) expr template_counter = = =20 error: use of undeclared identifier 'template_counter' <-- is that because = of some optimizations? (lldb) Is that a known problem? Or maybe something wrong with my system? I don't use lldb very often, but I don't remember it crashing like that. Roman Bogorodskiy --Qxx1br4bt0+wmkIi Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJaZhn2AAoJEMltX/4IwiJq5mEIAMBBJhQDdrxAQNPOiZ8hrPGc cTEl5NsfSi+ZOMih0Zbf8zGwX+oQNE5YAHQ9yzaIMIGenzBZnxO7KNg2cOq67hKd 5VLOCVeAzfQBsF6ARiWwDJH1MENzKLvKGxNDkzFztQEXo63JAKr8KdvEyONMfh6G iXWdpeOJzrVCrBzuZ5VzQckWRIaNi8hlUK1PrrczY9ULGOyAZv4OJSXtcOj86xjw qNHX5qqPbQVLD7mMMCMPYJe7MSh2epNBtT9+wVLRScDig3zjhLqP2L+KuKChNMS/ +HEWeHve9dehd+9Bnqg73ry2tGOIJ7uT7ZBu/DN9Yj+M22/Kzv5HfnFeEx/Y7ME= =Z3+U -----END PGP SIGNATURE----- --Qxx1br4bt0+wmkIi--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180122170558.GA74490>