IBM Support

Common CPAN and other Perl core dumps

Question & Answer


Question

Why does Perl core dump when I run CPAN, or other Perl applications?
For example,
1) Enable full core:
# ulimit -c unlimited
# chdev -l sys0 -a fullcore=true
2) Run CPAN
# perl -MCPAN -e 'shell' -e 'install Term::ReadLine::Perl'
 
<....>
Reading '/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Reading '/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Wed, 27 Mar 2024 00:29:02 GMT
....................................................................
Segmentation fault(coredump)
3) Examine error log
# errpt -a
LABEL:          CORE_DUMP
PROGRAM NAME
perl5.34.1
STACK EXECUTION DISABLED
           0
COME FROM ADDRESS REGISTER
??
PROCESSOR ID
  hw_fru_id: 1
  hw_cpu_id: 15
ADDITIONAL INFORMATION
extend_br 2D0
extend_br 288
Unable to generate symptom string.
4) Examine stack trace
# dbx /usr/opt/perl5/bin/perl5.34.1 /core
(dbx) where
Segmentation fault in extend_brk at 0xd018af90 ($t1)
0xd018af90 (extend_brk+0x2d0) 90040004            stw   r0,0x4(r4)
(dbx) where
extend_brk(internal error: assertion failed at line 3914 in file frame.c
??, internal error: assertion failed at line 3914 in file frame.c
??, internal error: assertion failed at line 3914 in file frame.c
??) at 0xd018af90

 

Answer

AIX does not set maxdata because it causes issues for AIX Perl-based commands.

One of the following solutions can usually resolve the issue:

1) Use the 64-bit module

2) export LDR_CNTRL=MAXDATA=0x80000000@DSA

3) Use a perl.rpm version (which is recommended for reasons that are listed in the AIX Perl Updates and Support for perl.rte technote), then use ldedit to permanently set the maxdata value

  # ldedit -b maxdata=0x80000000 "path to perl.rpm Perl binary" 

Recommendations for Perl application developers

  • Always develop and test Perl applications with the latest version available on the AIX Toolbox for Linux®, which installs Perl in a unique path. The rpm version ensures the most prompt availability of latest Perl releases, and control over custom modules.

SUPPORT

A) For all questions or issues with Toolbox packages, the support is handled by the AIX Open Source Team in the forum:

https://community.ibm.com/community/user/power/communities/community-home?CommunityKey=10c1d831-47ee-4d92-a138-b03f7896f7c9


The AIX Open Source Team only provides support through the forum. They answer questions if possible, but they don't own the packages or formally support them. For true expertise in usage of each package, users should consult the community for each respective package.  For Perl communities, see https://www.perl.org/community.html (Perl Monks is a popular community for Perl usage discussions).

** Cases opened to address Toolbox problems will be canceled and users will be referred to the Open Source Forum.
If you experience technical issues accessing the AIX Open Source community or forum, refer to the footer of the IBM Community forum page.
There is email, and "Contact Us" information for community support

B) If there is a problem with installing or updating perl.rte, or loading a perl.rte executable file, you can open an AIX Case (See C) for assistance.

Examples of perl.rte issues supported through AIX Support:

- Errors updating or the perl.rte file set
- Commands from the perl.rte file set do not run, or coredump

Example of a perl.rte loading issue:

# Perl -v
exec(): 0509-036 Cannot load program Perl because of the following errors:
        0509-150   Dependent module libperl.a(libperl.o) could not be loaded.
        0509-022 Cannot load module libperl.a(libperl.o).
        0509-026 System error: A file or directory in the path name does not exist.

 
This example would be handled through an IBM AIX Support case, and the support team would help resolve the missing modules.

To learn what is provided and supported by the perl.rte file set:

#  lslpp -f perl.rte

C) Opening an AIX Support Case

If you require more assistance, use the following step-by-step instructions to contact IBM to open a case for software with an active and valid support contract.  

1.  Document (or collect screen captures of) all symptoms, errors, and messages related to your issue.

2.  Capture any logs or data relevant to the situation.

3.  Contact IBM to open a case:

   -For electronic support, see the IBM Support Community:
     https://www.ibm.com/mysupport
   -If you require telephone support, see the web page:
      https://www.ibm.com/planetwide/

4.  Provide a clear, concise description of the issue.

5.  If the system is accessible, collect a system snap, and upload all of the details and data for your case.

 - For guidance, see: Working with IBM AIX Support: Collecting snap data

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG10","label":"AIX"},"Component":"Toolbox, RPM","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
26 March 2024

UID

ibm16205882