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

Reply via email to