On 09/05/2019 17:35, Bruce Dubbs wrote: > On 5/9/19 3:55 AM, Michael Shell wrote: >> On Tue, 7 May 2019 17:50:28 -0400 >> [email protected] wrote: >> >>> May 7 17:24:23 lfs kernel: perl[5349]: segfault at 7fff0fb57ff8 ip >>> 000000000048ceb9 sp 00007fff0fb58000 error 6 in perl[407000+230000] >> >> >> Perhaps this is the same issue discussed here: >> >> https://www.perlmonks.org/?node_id=1002749 >> >> about a possible memory limit issue. >> >> Does using ulimit to increase the data segment size also fix >> the problem for your case as well? >> >> ulimit -n 1024 -u 35 -m 200000 -d unlimited -s 8192 -c 200000 -v 2000 > > If I use that line before 'make -j4 > m.log' I get > > ./make-perl-5.28.2-Chap5.sh: fork: retry: Resource temporarily unavailable > ./make-perl-5.28.2-Chap5.sh: fork: retry: Resource temporarily unavailable > ./make-perl-5.28.2-Chap5.sh: fork: retry: Resource temporarily unavailable > ./make-perl-5.28.2-Chap5.sh: fork: retry: Resource temporarily unavailable > ./make-perl-5.28.2-Chap5.sh: fork: Resource temporarily unavailable > > and nothing gets built. That appears to be due to the -v (virtual memory) > limit. > > Fortunately, the build does not take very long and I can test a lot of > variations relatively quickly. Using > > ulimit -s unlimited > > before 'make' allows the build to complete without any segfaults. > > Also, watching sys.log while building says the segfaults currently happening > are at the end of the build. Looking at the stdout build log I see: > > Storable: determining recursion limit: 65000 passed, try more 65000 ... > MAX_DEPTH = 65000 > Storable: determining recursion limit: 32500 too big, try less 16275 ... > Storable: determining recursion limit: 16275 too big, try less 8163 ... > Storable: determining recursion limit: 8163 too big, try less 4107 ... > Storable: determining recursion limit: 4107 too big, try less 2079 ... > Storable: determining recursion limit: 2079 too big, try less 1065 ... > Storable: determining recursion limit: 1065 too big, try less 558 ... > Storable: determining recursion limit: 558 too big, try less 304 ... > Storable: determining recursion limit: 304 passed, try more 431 ... > Storable: determining recursion limit: 431 passed, try more 494 ... > Storable: determining recursion limit: 494 passed, try more 526 ... > Storable: determining recursion limit: 526 too big, try less 510 ... > Storable: determining recursion limit: 510 passed, try more 518 ... > Storable: determining recursion limit: 518 too big, try less 514 ... > Storable: determining recursion limit: 514 too big, try less 512 ... > Storable: determining recursion limit: 512 passed, try more 513 ... > Storable: determining recursion limit: 513 passed, try more 513 ... > MAX_DEPTH_HASH = 513 > > but without the ulimit line I get > > Storable: determining recursion limit: 65000 too big, try less 32550 ... > Storable: determining recursion limit: 32550 too big, try less 16325 ... > Storable: determining recursion limit: 16325 passed, try more 24437 ... > Storable: determining recursion limit: 24437 passed, try more 28493 ... > Storable: determining recursion limit: 28493 too big, try less 26465 ... > Storable: determining recursion limit: 26465 too big, try less 25451 ... > Storable: determining recursion limit: 25451 too big, try less 24944 ... > Storable: determining recursion limit: 24944 too big, try less 24691 ... > Storable: determining recursion limit: 24691 passed, try more 24817 ... > Storable: determining recursion limit: 24817 passed, try more 24880 ... > Storable: determining recursion limit: 24880 passed, try more 24912 ... > Storable: determining recursion limit: 24912 passed, try more 24928 ... > Storable: determining recursion limit: 24928 passed, try more 24936 ... > Storable: determining recursion limit: 24936 passed, try more 24940 ... > Storable: determining recursion limit: 24940 too big, try less 24938 ... > Storable: determining recursion limit: 24938 too big, try less 24937 ... > Storable: determining recursion limit: 24937 too big, try less 24937 ... > MAX_DEPTH = 24936 > Storable: determining recursion limit: 12468 too big, try less 6259 ... > Storable: determining recursion limit: 6259 too big, try less 3155 ... > Storable: determining recursion limit: 3155 too big, try less 1603 ... > Storable: determining recursion limit: 1603 too big, try less 827 ... > Storable: determining recursion limit: 827 too big, try less 439 ... > Storable: determining recursion limit: 439 passed, try more 633 ... > Storable: determining recursion limit: 633 too big, try less 536 ... > Storable: determining recursion limit: 536 too big, try less 488 ... > Storable: determining recursion limit: 488 passed, try more 512 ... > Storable: determining recursion limit: 512 passed, try more 524 ... > Storable: determining recursion limit: 524 too big, try less 518 ... > Storable: determining recursion limit: 518 too big, try less 515 ... > Storable: determining recursion limit: 515 too big, try less 514 ... > Storable: determining recursion limit: 514 too big, try less 513 ... > Storable: determining recursion limit: 513 passed, try more 513 ... > MAX_DEPTH_HASH = 513 > > My conclusion is that the segfaults are caused intentionally when trying to > determine the recursion limit and we do not need to do anything. >
Add a note so that users know that it can happen? Pierre -- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style
