Date: Tue, 9 Mar 2021 15:39:42 -0800 From: Mark Millard <marklmi@yahoo.com> To: freebsd-arm <freebsd-arm@freebsd.org>, freebsd-current <freebsd-current@freebsd.org> Subject: FYI: main (bad9fa56620e based): some unexpected SIGSEGV's using poudriere-devel to build armv7 ports on aarch64 (cortex-a72) system Message-ID: <8B54D020-A3E2-4441-B6A0-894831E7E1EC@yahoo.com> References: <8B54D020-A3E2-4441-B6A0-894831E7E1EC.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
After using poudriere to build ports for native cortex-a72 on the MACCHIATObin Double Shot (and similarly for cortex-a57 on the OverDrive 1000) I attempted to do my usual bulk build targeting cortex-a7 via poudriere-devel: # poudriere jail -i -jFBSDFSSDjailArmV7 Jail name: FBSDFSSDjailArmV7 Jail version: 14.0-CURRENT Jail arch: arm.armv7 Jail method: null Jail mount: /usr/obj/DESTDIRs/clang-armv7-installworld-poud Jail fs: =20 Jail updated: 2021-01-27 14:47:10 Jail pkgbase: disabled But I got some SIGSEGV failures that I've never before had analogous failures. I'll show the 6 backtraces. They all have a similar type-of-context but in various programs, summarized as (from the lldb bt outputs): gmake`new_job(file=3D<unavailable>) [3 examples] and: sh`waitcmdloop(job=3D0x00064230) [2 examples] and: cmake`(anonymous namespace)::RunCommand(command=3D<unavailable>, = output=3D"14.0-CURRENT\n", retVal=3D<unavailable>, dir=3D<unavailable>, = verbose=3D<unavailable>, encoding=3DAuto) (Only 83 ports built of 208 built, 5 failed, and 120 were skipped.) I have not yet tried simply running poudriere again to see how reliable the specific failures may or may not be: I'm first collecting and reporting this information. Nor have I tried doing the build on the cortex-a57 context instead. I'll note that when I looked at detail as the assembler level it appeared that there was a frame not shown between #0 and #1 in lldb's output: Frame #1 "->" was indicating the instruction after a simple bl to a not-shown subroutine. For building textproc/libxslt : (jobserver_acquire not shown between #0 and #1) (lldb) bt * thread #1, name =3D 'gmake', stop reason =3D signal SIGSEGV * frame #0: 0xffffe190 frame #1: 0x0003b5f8 gmake`new_job(file=3D<unavailable>) at = job.c:1870:21 frame #2: 0x0002db80 gmake`execute_file_commands(file=3D<unavailable>)= at commands.c:476:3 [artificial] frame #3: 0x00049acc gmake`update_file [inlined] = remake_file(file=3D0x400a9700) at remake.c:1234:11 frame #4: 0x00049a84 gmake`update_file [inlined] = update_file_1(file=3D<unavailable>, depth=3D6) at remake.c:835 frame #5: 0x000494ec gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #6: 0x0004b08c gmake`check_dep(file=3D0x400a9700, = depth=3D<unavailable>, this_mtime=3D1, must_make_ptr=3D0xffffc4ac) at = remake.c:1024:20 frame #7: 0x00049074 gmake`update_file at remake.c:572:17 frame #8: 0x00048b80 gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #9: 0x0004b08c gmake`check_dep(file=3D0x400a9400, = depth=3D<unavailable>, this_mtime=3D1, must_make_ptr=3D0xffffc564) at = remake.c:1024:20 frame #10: 0x00049074 gmake`update_file at remake.c:572:17 frame #11: 0x00048b80 gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #12: 0x0004b08c gmake`check_dep(file=3D0x400a8f20, = depth=3D<unavailable>, this_mtime=3D1, must_make_ptr=3D0xffffc61c) at = remake.c:1024:20 frame #13: 0x00049074 gmake`update_file at remake.c:572:17 frame #14: 0x00048b80 gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #15: 0x000487e0 = gmake`update_goal_chain(goaldeps=3D<unavailable>) at remake.c:151:22 frame #16: 0x0003f25c gmake`main(argc=3D2, argv=3D0xffffd470, = envp=3D0xffffffff) at main.c:2589:13 frame #17: 0x0002c0fc gmake`__start(argc=3D2, argv=3D<unavailable>, = env=3D<unavailable>, ps_strings=3D<unavailable>, obj=3D0x400c4004, = cleanup=3D0x40091aa0) at crt1_c.c:92:7 -> 1870 got_token =3D jobserver_acquire (waiting_jobs !=3D = NULL); 0x3b5f4 <+1288>: bl 0x50078 ; = jobserver_acquire at posixos.c:265 -> 0x3b5f8 <+1292>: cmp r0, #1 For building x11-toolkits/libXaw : (jobserver_acquire not shown between #0 and #1) (lldb) bt * thread #1, name =3D 'gmake', stop reason =3D signal SIGSEGV * frame #0: 0xffffe190 frame #1: 0x0003b5f8 gmake`new_job(file=3D<unavailable>) at = job.c:1870:21 frame #2: 0x0002db80 gmake`execute_file_commands(file=3D<unavailable>)= at commands.c:476:3 [artificial] frame #3: 0x00049acc gmake`update_file [inlined] = remake_file(file=3D0x4036a580) at remake.c:1234:11 frame #4: 0x00049a84 gmake`update_file [inlined] = update_file_1(file=3D<unavailable>, depth=3D6) at remake.c:835 frame #5: 0x000494ec gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #6: 0x0004b08c gmake`check_dep(file=3D0x4036a580, = depth=3D<unavailable>, this_mtime=3D1, must_make_ptr=3D0xffffc31c) at = remake.c:1024:20 frame #7: 0x00049074 gmake`update_file at remake.c:572:17 frame #8: 0x00048b80 gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #9: 0x0004b08c gmake`check_dep(file=3D0x4036a220, = depth=3D<unavailable>, this_mtime=3D1, must_make_ptr=3D0xffffc3d4) at = remake.c:1024:20 frame #10: 0x00049074 gmake`update_file at remake.c:572:17 frame #11: 0x00048b80 gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #12: 0x0004b08c gmake`check_dep(file=3D0x40369ec0, = depth=3D<unavailable>, this_mtime=3D1, must_make_ptr=3D0xffffc48c) at = remake.c:1024:20 frame #13: 0x00049074 gmake`update_file at remake.c:572:17 frame #14: 0x00048b80 gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #15: 0x000487e0 = gmake`update_goal_chain(goaldeps=3D<unavailable>) at remake.c:151:22 frame #16: 0x0003f25c gmake`main(argc=3D2, argv=3D0xffffd500, = envp=3D0xffffffff) at main.c:2589:13 frame #17: 0x0002c0fc gmake`__start(argc=3D2, argv=3D<unavailable>, = env=3D<unavailable>, ps_strings=3D<unavailable>, obj=3D0x400c4004, = cleanup=3D0x40091aa0) at crt1_c.c:92:7 -> 1870 got_token =3D jobserver_acquire (waiting_jobs !=3D = NULL); 0x3b5f4 <+1288>: bl 0x50078 ; = jobserver_acquire at posixos.c:265 -> 0x3b5f8 <+1292>: cmp r0, #1 For building textproc/itstool : (dowait not shown between #0 and #1) (lldb) bt * thread #1, name =3D 'sh', stop reason =3D signal SIGSEGV * frame #0: 0xffffe190 frame #1: 0x00031aa8 sh`waitcmdloop(job=3D0x00064230) at = jobs.c:608:11 frame #2: 0x00031a24 sh`waitcmd(argc=3D<unavailable>, = argv=3D<unavailable>) at jobs.c:554:13 frame #3: 0x00028f54 sh`evalcommand(cmd=3D0x400ad0e4, = flags=3D<unavailable>, backcmd=3D0x00000000) at eval.c:1107:16 frame #4: 0x00027800 sh`evaltree(n=3D0x400ad0e4, = flags=3D<unavailable>) at eval.c:289:4 frame #5: 0x000344d0 sh`cmdloop(top=3D1) at main.c:221:4 frame #6: 0x000342f4 sh`main(argc=3D<unavailable>, = argv=3D<unavailable>) at main.c:168:3 frame #7: 0x0002480c sh`__start(argc=3D8, argv=3D<unavailable>, = env=3D<unavailable>, ps_strings=3D<unavailable>, obj=3D0x400b4004, = cleanup=3D0x40081aa0) at crt1_c.c:92:7 -> 608 } while (dowait(DOWAIT_BLOCK | DOWAIT_SIG, (struct job = *)NULL) !=3D -1); 0x31aa4 <+80>: bl 0x32bcc ; dowait at = jobs.c:1142 -> 0x31aa8 <+84>: cmn r0, #1 For building devel/cmake : (cmsysProcess_WaitForData not shown between #0 and #1) (Note: the failing cmake is Bootstrap.cmk/cmake .) (lldb) bt * thread #1, name =3D 'cmake', stop reason =3D signal SIGSEGV * frame #0: 0xffffe190 frame #1: 0x000fd124 cmake`(anonymous = namespace)::RunCommand(command=3D<unavailable>, output=3D"14.0-CURRENT\n",= retVal=3D<unavailable>, dir=3D<unavailable>, verbose=3D<unavailable>, = encoding=3DAuto) at cmExecProgramCommand.cxx:223:15 frame #2: 0x000fca24 cmake`cmExecProgramCommand(args=3D<unavailable>, = status=3D<unavailable>) at cmExecProgramCommand.cxx:95:14 frame #3: 0x002a0ca0 = cmake`InvokeBuiltinCommand(command=3D(cmake`cmExecProgramCommand(std::__1:= :vector<std::__1::basic_string<char, std::__1::char_traits<char>, = std::__1::allocator<char> >, = std::__1::allocator<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, = cmExecutionStatus&) at cmExecProgramCommand.cxx:26), args=3D<unavailable>,= status=3D0xffffb9a8)(std::__1::vector<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> >, = std::__1::allocator<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, = cmExecutionStatus&), std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, cmExecutionStatus&) at = cmState.cxx:430:10 frame #4: 0x00248988 = cmake`cmMakefile::ExecuteCommand(cmListFileFunction const&, = cmExecutionStatus&, cm::optional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > >) [inlined] = std::__1::__function::__value_func<bool = (std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, = cmExecutionStatus&)>::operator(this=3D<unavailable>, = __args=3D<unavailable>, = __args=3D<unavailable>)(std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, cmExecutionStatus&) = const at functional:1884:16 frame #5: 0x00248980 = cmake`cmMakefile::ExecuteCommand(cmListFileFunction const&, = cmExecutionStatus&, cm::optional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > >) [inlined] = std::__1::function<bool (std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, = cmExecutionStatus&)>::operator(this=3D<unavailable>, = __arg=3D<unavailable>, = __arg=3D<unavailable>)(std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, cmExecutionStatus&) = const at functional:2556 frame #6: 0x00248980 = cmake`cmMakefile::ExecuteCommand(this=3D0x4086a000, lff=3D0x408798b0, = status=3D<unavailable>, deferId=3D<unavailable>) at cmMakefile.cxx:462 frame #7: 0x001eabac = cmake`cmIfFunctionBlocker::Replay(this=3D0x403d2800, = functions=3D<unavailable>, inStatus=3D0xffffbd10) at = cmIfCommand.cxx:149:10 frame #8: 0x00157d50 = cmake`cmFunctionBlocker::IsFunctionBlocked(this=3D0x403d2800, = lff=3D<unavailable>, status=3D<unavailable>) at = cmFunctionBlocker.cxx:42:20 frame #9: 0x002484a4 = cmake`cmMakefile::ExecuteCommand(cmListFileFunction const&, = cmExecutionStatus&, cm::optional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > >) [inlined] = cmMakefile::IsFunctionBlocked(this=3D0x4086a000, lff=3D<unavailable>, = status=3D<unavailable>) at cmMakefile.cxx:3426:40 frame #10: 0x00248484 = cmake`cmMakefile::ExecuteCommand(this=3D0x4086a000, lff=3D0x40868440, = status=3D<unavailable>, deferId=3Doptional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > > @ 0xffffbc78) = at cmMakefile.cxx:421 frame #11: 0x001eabac = cmake`cmIfFunctionBlocker::Replay(this=3D0x403d2760, = functions=3D<unavailable>, inStatus=3D0xffffc078) at = cmIfCommand.cxx:149:10 frame #12: 0x00157d50 = cmake`cmFunctionBlocker::IsFunctionBlocked(this=3D0x403d2760, = lff=3D<unavailable>, status=3D<unavailable>) at = cmFunctionBlocker.cxx:42:20 frame #13: 0x002484a4 = cmake`cmMakefile::ExecuteCommand(cmListFileFunction const&, = cmExecutionStatus&, cm::optional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > >) [inlined] = cmMakefile::IsFunctionBlocked(this=3D0x4086a000, lff=3D<unavailable>, = status=3D<unavailable>) at cmMakefile.cxx:3426:40 frame #14: 0x00248484 = cmake`cmMakefile::ExecuteCommand(this=3D0x4086a000, lff=3D0x408683b8, = status=3D<unavailable>, deferId=3Doptional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > > @ 0xffffbfe0) = at cmMakefile.cxx:421 frame #15: 0x001eabac = cmake`cmIfFunctionBlocker::Replay(this=3D0x403d2710, = functions=3D<unavailable>, inStatus=3D0xffffc368) at = cmIfCommand.cxx:149:10 frame #16: 0x00157d50 = cmake`cmFunctionBlocker::IsFunctionBlocked(this=3D0x403d2710, = lff=3D<unavailable>, status=3D<unavailable>) at = cmFunctionBlocker.cxx:42:20 frame #17: 0x002484a4 = cmake`cmMakefile::ExecuteCommand(cmListFileFunction const&, = cmExecutionStatus&, cm::optional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > >) [inlined] = cmMakefile::IsFunctionBlocked(this=3D0x4086a000, lff=3D<unavailable>, = status=3D<unavailable>) at cmMakefile.cxx:3426:40 frame #18: 0x00248484 = cmake`cmMakefile::ExecuteCommand(this=3D0x4086a000, lff=3D0x40873208, = status=3D<unavailable>, deferId=3Doptional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > > @ 0xffffc358) = at cmMakefile.cxx:421 frame #19: 0x0024a628 = cmake`cmMakefile::RunListFile(this=3D<unavailable>, listFile=3D0xffffc3f0,= = filenametoread=3D"/wrkdirs/usr/ports/devel/cmake/work/cmake-3.19.6/Modules= /CMakeDetermineSystem.cmake", defer=3D0x00000000) at = cmMakefile.cxx:788:11 frame #20: 0x0024af34 = cmake`cmMakefile::ReadListFile(this=3D<unavailable>, = filename=3D<unavailable>) at cmMakefile.cxx:737:9 frame #21: 0x001ce448 = cmake`cmGlobalGenerator::EnableLanguage(this=3D<unavailable>, = languages=3D0xffffc63c, mf=3D0x4086a000, optional=3Dfalse) at = cmGlobalGenerator.cxx:629:9 frame #22: 0x00310bf4 = cmake`cmGlobalUnixMakefileGenerator3::EnableLanguage(this=3D0x403cc900, = languages=3D0xffffc63c, mf=3D0x4086a000, optional=3Dfalse) at = cmGlobalUnixMakefileGenerator3.cxx:57:28 frame #23: 0x0025d740 = cmake`cmMakefile::EnableLanguage(this=3D0x4086a000, lang=3D<unavailable>, = optional=3Dfalse) at cmMakefile.cxx:3748:33 frame #24: 0x0027e198 cmake`cmProjectCommand(args=3D<unavailable>, = status=3D<unavailable>) at cmProjectCommand.cxx:338:6 frame #25: 0x002a0ca0 = cmake`InvokeBuiltinCommand(command=3D(cmake`cmProjectCommand(std::__1::vec= tor<std::__1::basic_string<char, std::__1::char_traits<char>, = std::__1::allocator<char> >, = std::__1::allocator<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, = cmExecutionStatus&) at cmProjectCommand.cxx:30), args=3D<unavailable>, = status=3D0xffffc9b8)(std::__1::vector<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> >, = std::__1::allocator<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, = cmExecutionStatus&), std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, cmExecutionStatus&) at = cmState.cxx:430:10 frame #26: 0x00248988 = cmake`cmMakefile::ExecuteCommand(cmListFileFunction const&, = cmExecutionStatus&, cm::optional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > >) [inlined] = std::__1::__function::__value_func<bool = (std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, = cmExecutionStatus&)>::operator(this=3D<unavailable>, = __args=3D<unavailable>, = __args=3D<unavailable>)(std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, cmExecutionStatus&) = const at functional:1884:16 frame #27: 0x00248980 = cmake`cmMakefile::ExecuteCommand(cmListFileFunction const&, = cmExecutionStatus&, cm::optional<std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> > >) [inlined] = std::__1::function<bool (std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, = cmExecutionStatus&)>::operator(this=3D<unavailable>, = __arg=3D<unavailable>, = __arg=3D<unavailable>)(std::__1::vector<cmListFileArgument, = std::__1::allocator<cmListFileArgument> > const&, cmExecutionStatus&) = const at functional:2556 frame #28: 0x00248980 = cmake`cmMakefile::ExecuteCommand(this=3D0x4086a000, lff=3D0x40884018, = status=3D<unavailable>, deferId=3D<unavailable>) at cmMakefile.cxx:462 frame #29: 0x0024a628 = cmake`cmMakefile::RunListFile(this=3D<unavailable>, listFile=3D0xffffcae0,= = filenametoread=3D"/wrkdirs/usr/ports/devel/cmake/work/cmake-3.19.6/CMakeLi= sts.txt", defer=3D0x4087b010) at cmMakefile.cxx:788:11 frame #30: 0x00254948 cmake`cmMakefile::Configure(this=3D0x4086a000) = at cmMakefile.cxx:1768:9 frame #31: 0x001d2e9c = cmake`cmGlobalGenerator::Configure(this=3D0x403cc900) at = cmGlobalGenerator.cxx:1242:10 frame #32: 0x0031123c = cmake`cmGlobalUnixMakefileGenerator3::Configure(this=3D<unavailable>) at = cmGlobalUnixMakefileGenerator3.cxx:132:28 frame #33: 0x002f5ab0 cmake`cmake::ActualConfigure(this=3D0xffffd018) = at cmake.cxx:1928:26 frame #34: 0x002f493c cmake`cmake::Configure(this=3D0xffffd018) at = cmake.cxx:1785:19 frame #35: 0x002f6fec cmake`cmake::Run(this=3D0xffffd018, = args=3D0xffffcfd8, noconfigure=3Dfalse) at cmake.cxx:2155:19 frame #36: 0x002fdeec cmake`main [inlined] (anonymous = namespace)::do_cmake(ac=3D<unavailable>, av=3D<unavailable>) at = cmakemain.cxx:300:16 frame #37: 0x002fde78 cmake`main(ac=3D<unavailable>, = av=3D<unavailable>) at cmakemain.cxx:861 frame #38: 0x0009b32c cmake`__start(argc=3D6, argv=3D<unavailable>, = env=3D<unavailable>, ps_strings=3D<unavailable>, obj=3D0x403ea004, = cleanup=3D0x403b7aa0) at crt1_c.c:92:7 -> 223 while ((p =3D cmsysProcess_WaitForData(cp, &data, &length, = nullptr))) { 0xfd120 <+744>: bl 0x3672f8 ; = cmsysProcess_WaitForData at ProcessUNIX.c:1064 -> 0xfd124 <+748>: cmp r0, #0 For devel/gdb there are 2 cores: a gmake.core and a sh.core For devel/gdb's gmake.core : (jobserver_acquire not shown between #0 and #1) (lldb) bt * thread #1, name =3D 'gmake', stop reason =3D signal SIGSEGV * frame #0: 0xffffe190 frame #1: 0x0003b5f8 gmake`new_job(file=3D<unavailable>) at = job.c:1870:21 frame #2: 0x0002db80 gmake`execute_file_commands(file=3D<unavailable>)= at commands.c:476:3 [artificial] frame #3: 0x00049acc gmake`update_file [inlined] = remake_file(file=3D0x4036cda0) at remake.c:1234:11 frame #4: 0x00049a84 gmake`update_file [inlined] = update_file_1(file=3D<unavailable>, depth=3D4) at remake.c:835 frame #5: 0x000494ec gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #6: 0x0004b08c gmake`check_dep(file=3D0x4036cda0, = depth=3D<unavailable>, this_mtime=3D1, must_make_ptr=3D0xffff6aec) at = remake.c:1024:20 frame #7: 0x00049074 gmake`update_file at remake.c:572:17 frame #8: 0x00048b80 gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #9: 0x0004b08c gmake`check_dep(file=3D0x4036cc20, = depth=3D<unavailable>, this_mtime=3D1, must_make_ptr=3D0xffff6ba4) at = remake.c:1024:20 frame #10: 0x00049074 gmake`update_file at remake.c:572:17 frame #11: 0x00048b80 gmake`update_file(file=3D<unavailable>, = depth=3D<unavailable>) at remake.c:336 frame #12: 0x000487e0 = gmake`update_goal_chain(goaldeps=3D<unavailable>) at remake.c:151:22 frame #13: 0x0003f25c gmake`main(argc=3D130, argv=3D0xffffa36c, = envp=3D0xffffffff) at main.c:2589:13 frame #14: 0x0002c0fc gmake`__start(argc=3D130, argv=3D<unavailable>, = env=3D<unavailable>, ps_strings=3D<unavailable>, obj=3D0x400c4004, = cleanup=3D0x40091aa0) at crt1_c.c:92:7 -> 1870 got_token =3D jobserver_acquire (waiting_jobs !=3D = NULL); 0x3b5f4 <+1288>: bl 0x50078 ; = jobserver_acquire at posixos.c:265 -> 0x3b5f8 <+1292>: cmp r0, #1 For devel/gdb's sh.core : (dowait not shown between #0 and #1) (lldb) bt * thread #1, name =3D 'sh', stop reason =3D signal SIGSEGV * frame #0: 0xffffe190 frame #1: 0x00031aa8 sh`waitcmdloop(job=3D0x00064230) at = jobs.c:608:11 frame #2: 0x00031a24 sh`waitcmd(argc=3D<unavailable>, = argv=3D<unavailable>) at jobs.c:554:13 frame #3: 0x00028f54 sh`evalcommand(cmd=3D0x403fd0e4, = flags=3D<unavailable>, backcmd=3D0x00000000) at eval.c:1107:16 frame #4: 0x00027800 sh`evaltree(n=3D0x403fd0e4, = flags=3D<unavailable>) at eval.c:289:4 frame #5: 0x000344d0 sh`cmdloop(top=3D1) at main.c:221:4 frame #6: 0x000342f4 sh`main(argc=3D<unavailable>, = argv=3D<unavailable>) at main.c:168:3 frame #7: 0x0002480c sh`__start(argc=3D26, argv=3D<unavailable>, = env=3D<unavailable>, ps_strings=3D<unavailable>, obj=3D0x400b4004, = cleanup=3D0x40081aa0) at crt1_c.c:92:7 -> 608 } while (dowait(DOWAIT_BLOCK | DOWAIT_SIG, (struct job = *)NULL) !=3D -1); 0x31aa4 <+80>: bl 0x32bcc ; dowait at = jobs.c:1142 -> 0x31aa8 <+84>: cmn r0, #1 It was basically the same list of ports that had built for the cortex-a72 target context (208 armv7/cortex-a7 vs. 209 cortex-a72). I've no evidence of native aarch64 problems. The cortex-a57 self built its 209 just fine and so far the a57's cortex-a53 targeted build of the 209 has had no problems (built 148 with 61 yet to finish). So the problem seems to be specific armv7 activity on aarch64 systems, or possibly on cortex-a72 specifically. For reference . . . The chroot used to examine the expanded .tar content reports: # ~/fbsd-based-on-what-freebsd-main.sh=20 merge-base: bad9fa56620eb82395c5ab66d300e91a0222dde2 merge-base: CommitDate: 2021-03-06 21:46:28 +0000 e48a1c379bfc (HEAD -> mm-src) mm-src snapshot for mm's patched build in = git context. bad9fa56620e (freebsd/main, freebsd/HEAD, pure-src, main) [PowerPC] Fix = AP bringup on 32-bit AIM SMP FreeBSD FBSDmacch 14.0-CURRENT FreeBSD 14.0-CURRENT = mm-src-n245316-e48a1c379bfc GENERIC-NODBG arm armv7 1400005 1400005 The host system reports: # ~/fbsd-based-on-what-freebsd-main.sh=20 merge-base: bad9fa56620eb82395c5ab66d300e91a0222dde2 merge-base: CommitDate: 2021-03-06 21:46:28 +0000 e48a1c379bfc (HEAD -> mm-src) mm-src snapshot for mm's patched build in = git context. bad9fa56620e (freebsd/main, freebsd/HEAD, pure-src, main) [PowerPC] Fix = AP bringup on 32-bit AIM SMP FreeBSD FBSDmacch 14.0-CURRENT FreeBSD 14.0-CURRENT = mm-src-n245316-e48a1c379bfc GENERIC-NODBG arm64 aarch64 1400005 1400005 =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8B54D020-A3E2-4441-B6A0-894831E7E1EC>