Hide Forgot
Description of problem: This Perl module dumps core when loaded. Version-Release number of selected component (if applicable): 2.00-1.fc23 noarch How reproducible: Create a file with this in it: #!/usr/bin/perl use Number::Fraction; Make it executable and execute it. Actual results: Segmentation fault (core dumped) Expected results: Exit with status 0. Additional info: The computer is an HP workstation with a quad-core Xeon CPU.
I cannot reproduce it. Does this command fails at your machine? $ perl -e 'use Number::Fraction;' It should not print anything. If it fails, I suspect you have some private copy of a binary Perl module installed that was built against older perl and is not compatible with Fedora's perl (e.g. after upgrading from Fedora 22). You can check it with strace command to see where the files are loaded from: $ strace -e open -- perl -e 'use Number::Fraction;' open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libperl.so.5.22", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libcrypt.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libutil.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libfreebl3.so", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 open("/dev/urandom", O_RDONLY) = 3 open("/dev/null", O_RDONLY) = 3 open("/usr/share/perl5/vendor_perl/Number/Fraction.pm", O_RDONLY) = 4 open("/usr/share/perl5/strict.pm", O_RDONLY) = 5 open("/usr/share/perl5/warnings.pm", O_RDONLY) = 5 open("/usr/share/perl5/vendor_perl/Carp.pm", O_RDONLY) = 5 open("/usr/share/perl5/vendor_perl/Exporter.pm", O_RDONLY) = 5 [...] open("/usr/lib64/perl5/vendor_perl/Moose/Meta/Role/Application/ToRole.pm", O_RDONLY) = 6 open("/usr/lib64/perl5/vendor_perl/Moose/Meta/Role/Application/ToInstance.pm", O_RDONLY) = 6 open("/usr/lib64/perl5/vendor_perl/Moose/Meta/Attribute/Native.pm", O_RDONLY) = 6 +++ exited with 0 +++ Especially files that end with ".so" are important as they are binary Perl modules that must match current perl. The wrong location is usually from /usr/local or home user's home directory. My output for the .so file looks like this: $ strace -e open -- perl -e 'use Number::Fraction;' 2>&1 |grep \\.so open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libperl.so.5.22", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libcrypt.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libutil.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/lib64/libfreebl3.so", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib64/perl5/vendor_perl/auto/List/Util/Util.so", O_RDONLY|O_CLOEXEC) = 6 open("/usr/lib64/perl5/vendor_perl/auto/Params/Util/Util.so", O_RDONLY|O_CLOEXEC) = 8 open("/usr/lib64/perl5/vendor_perl/auto/Sub/Name/Name.so", O_RDONLY|O_CLOEXEC) = 9 open("/usr/lib64/perl5/vendor_perl/auto/Package/Stash/XS/XS.so", O_RDONLY|O_CLOEXEC) = 8 open("/usr/lib64/perl5/vendor_perl/auto/List/MoreUtils/MoreUtils.so", O_RDONLY|O_CLOEXEC) = 10 open("/usr/lib64/perl5/auto/mro/mro.so", O_RDONLY|O_CLOEXEC) = 9 open("/usr/lib64/perl5/vendor_perl/auto/Sub/Identify/Identify.so", O_RDONLY|O_CLOEXEC) = 11 open("/usr/lib64/perl5/vendor_perl/auto/Moose/Moose.so", O_RDONLY|O_CLOEXEC) = 7 open("/usr/lib64/perl5/auto/B/B.so", O_RDONLY|O_CLOEXEC) = 9 open("/usr/lib64/perl5/auto/re/re.so", O_RDONLY|O_CLOEXEC) = 9
Thank you! This was indeed the cause. My Perl takes modules Runtime and Classify from /usr/local/... and is dumping core on Classify.so. I will clean out the local modules and close this bug report.