Date: Tue, 9 Mar 2021 18:54:43 -0800 From: Mark Millard <marklmi@yahoo.com> To: freebsd-arm <freebsd-arm@freebsd.org>, freebsd-current <freebsd-current@freebsd.org> Subject: Re: FYI: main (bad9fa56620e based): some unexpected SIGSEGV's using poudriere-devel to build armv7 ports on aarch64 (cortex-a72) system Message-ID: <A0692F78-4E7E-4149-B56D-48647A5A21FE@yahoo.com> In-Reply-To: <7F086465-38C0-49C0-830C-2DB0BE71169C@yahoo.com> References: <8B54D020-A3E2-4441-B6A0-894831E7E1EC@yahoo.com> <7F086465-38C0-49C0-830C-2DB0BE71169C@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Mar-9, at 17:18, Mark Millard <marklmi at yahoo.com> wrote: > On 2021-Mar-9, at 15:39, Mark Millard <marklmi at yahoo.com> wrote: >=20 >> 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: >>=20 >> # 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 >>=20 >> 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): >>=20 >> 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) >>=20 >> (Only 83 ports built of 208 built, 5 failed, and 120 were >> skipped.) >>=20 >> 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. >=20 > I have a little re-run information now: >=20 > No -JN with ALLOW_MAKE_JOBS=3Dyes: seems repeatable > -J1 with ALLOW_MAKE_JOBS=3Dyes: seems repeatable > -J1 without ALLOW_MAKE_JOBS: mixed so far in the one run. >=20 > For -J1 without ALLOW_MAKE_JOBS for as far as the bulk > build has gotten (still in progress): >=20 > [00:22:03] [01] [00:21:12] Finished devel/cmake | cmake-3.19.6: = Failed: configure > [00:23:04] [01] [00:00:59] Finished textproc/libxslt | = libxslt-1.1.34_1: Success > [00:33:35] [01] [00:00:19] Finished textproc/itstool | itstool-2.0.6: = Failed: configure >=20 > Some ports dependent on libxslt-1.1.34_1 are building as well, > devel/glib20 , textproc/minixmlto , and x11/xkeyboard-config > have built. >=20 > I'm not sure it is reasonable to wait on -J1 without > ALLOW_MAKE_JOBS to see what the devel/gdb and > x11-toolkits/libXaw build does. For example qt5-core > that is now building and may not be worth waiting for. >=20 > The results do suggest that the issue is racy, no matter > if the number of active processes/threads changes the > probabilities involved or not. I stopped the build and continued by starting another . . . Without both -J and ALLOW_MAKE_JOBS ((so implicitly -J4 in the context) it got the following results for the 4-left of 5 originally failing: [00:00:51] [02] [00:00:19] Finished textproc/itstool | itstool-2.0.6: = Failed: configure [00:05:00] [02] [00:02:38] Finished x11-toolkits/libXaw | = libXaw-1.0.13_3,2: Success [00:19:02] [03] [00:15:00] Finished devel/gdb@py37 | gdb-10.1_1: Failed: = build [00:29:33] [01] [00:29:01] Finished devel/cmake | cmake-3.19.6: Failed: = configure 17 ports built that depend on textproc/libxslt and/or x11-toolkits/libXaw . The 3 failures above made the rest (100) skip. textproc/libxslt and x11-toolkits/libXaw sometimes failing and sometimes not suggests a racy context at some level of the operations involved. >> 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. >>=20 >> For building textproc/libxslt : >> (jobserver_acquire not shown between #0 and #1) >>=20 >> (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 >>=20 >> -> 1870 got_token =3D jobserver_acquire (waiting_jobs !=3D= NULL); >>=20 >> 0x3b5f4 <+1288>: bl 0x50078 ; = jobserver_acquire at posixos.c:265 >> -> 0x3b5f8 <+1292>: cmp r0, #1 >>=20 >>=20 >> For building x11-toolkits/libXaw : >> (jobserver_acquire not shown between #0 and #1) >>=20 >> (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 >>=20 >> -> 1870 got_token =3D jobserver_acquire (waiting_jobs !=3D= NULL); >>=20 >> 0x3b5f4 <+1288>: bl 0x50078 ; = jobserver_acquire at posixos.c:265 >> -> 0x3b5f8 <+1292>: cmp r0, #1 >>=20 >>=20 >> For building textproc/itstool : >> (dowait not shown between #0 and #1) >>=20 >> (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 >>=20 >> -> 608 } while (dowait(DOWAIT_BLOCK | DOWAIT_SIG, = (struct job *)NULL) !=3D -1); >>=20 >> 0x31aa4 <+80>: bl 0x32bcc ; dowait at = jobs.c:1142 >> -> 0x31aa8 <+84>: cmn r0, #1 >>=20 >>=20 >> For building devel/cmake : >> (cmsysProcess_WaitForData not shown between #0 and #1) >> (Note: the failing cmake is Bootstrap.cmk/cmake .) >>=20 >> (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 >>=20 >> -> 223 while ((p =3D cmsysProcess_WaitForData(cp, &data, = &length, nullptr))) { >>=20 >> 0xfd120 <+744>: bl 0x3672f8 ; = cmsysProcess_WaitForData at ProcessUNIX.c:1064 >> -> 0xfd124 <+748>: cmp r0, #0 >>=20 >>=20 >> For devel/gdb there are 2 cores: a gmake.core and a sh.core >>=20 >>=20 >> For devel/gdb's gmake.core : >> (jobserver_acquire not shown between #0 and #1) >>=20 >> (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 >>=20 >> -> 1870 got_token =3D jobserver_acquire (waiting_jobs !=3D= NULL); >>=20 >> 0x3b5f4 <+1288>: bl 0x50078 ; = jobserver_acquire at posixos.c:265 >> -> 0x3b5f8 <+1292>: cmp r0, #1 >>=20 >>=20 >>=20 >> For devel/gdb's sh.core : >> (dowait not shown between #0 and #1) >>=20 >> (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 >>=20 >> -> 608 } while (dowait(DOWAIT_BLOCK | DOWAIT_SIG, = (struct job *)NULL) !=3D -1); >>=20 >> 0x31aa4 <+80>: bl 0x32bcc ; dowait at = jobs.c:1142 >> -> 0x31aa8 <+84>: cmn r0, #1 >>=20 >>=20 >>=20 >> 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. >>=20 >> 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). >>=20 >> So the problem seems to be specific armv7 activity on aarch64 >> systems, or possibly on cortex-a72 specifically. >>=20 >>=20 >>=20 >> For reference . . . >>=20 >> The chroot used to examine the expanded .tar content reports: >>=20 >> # ~/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 >>=20 >> The host system reports: >>=20 >> # ~/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 >=20 >=20 =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?A0692F78-4E7E-4149-B56D-48647A5A21FE>