You are not logged in.
... or actually, some dependencies of LWP.
I have some scripts that use LWP (perl-libwww) to process web pages (old school, I know, but I wrote them long ago).
After running pacman -Syu yesterday I noticed that my scripts were generating 'Segmentation fault' messages. After some digging, I ran perl interactively and entered several 'use' statements for each dependency. I found the perl module Encode::Locale is where the segfault seems to be happening, but CPAN shows that module last updated in February. Digging further, HTTP::Message has the same issue (it's another dependency of LWP.
I'm betting there are other perl modules involved as well, because another system that has a 2-day old Arch install showed the same symptoms, but LWP was not installed there. I had to fix that one by rolling perl back to 5.14.
Any clues, hints, fixes?
Thanks in advance.
Mike
Last edited by mmoser (2012-06-08 17:11:47)
Offline
I maintain the perl-encode-locale and perl-http-message packages. They contain purely perl code so if they are causing a segfault it is likely not directly their fault. Please post a log of the segfault. Encode::Locale and HTTP::Message of course use other modules. You can trace what modules are being loaded with a snippet like this:
[juster@artemis ~]$ perl -E 'BEGIN { unshift @INC, sub { say $_[1] }}
use Encode::Locale;
'Offline
Juster - Thanks in advance for your help
the trace for Encode::Locale; goes like this:
-----------
$ perl -d
Loading DB routines from perl5db.pl version 1.37
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
use Encode::Locale;
Signal SEGV at /usr/lib/perl5/site_perl/Encode.pm line 10.
require Encode.pm called at /usr/share/perl5/site_perl/Encode/Locale.pm line 13
Encode::Locale::BEGIN() called at /usr/lib/perl5/site_perl/Encode.pm line 0
eval {...} called at /usr/lib/perl5/site_perl/Encode.pm line 0
require Encode/Locale.pm called at - line 1
main::BEGIN() called at /usr/lib/perl5/site_perl/Encode.pm line 0
eval {...} called at /usr/lib/perl5/site_perl/Encode.pm line 0
Aborted
-----------
And the load list looks like
-----------
$ perl -E 'BEGIN { unshift @INC, sub { say $_[1] }} use Encode::Locale;'
Encode/Locale.pm
strict.pm
base.pm
vars.pm
warnings/register.pm
warnings.pm
Exporter.pm
Encode.pm
XSLoader.pm
Encode/Alias.pm
bytes.pm
Encode/Config.pm
Encode/ConfigLocal.pm
Encode/Encoding.pm
I18N/Langinfo.pm
Carp.pm
-----------
(Please understand that I'm not trying to place blame anywhere, I just want to fix whatever broke. And it's probably upgrade I missed somewhere)
Again, thanks in advance,
Mike
Last edited by mmoser (2012-06-08 01:05:14)
Offline
Try deleting everything under /usr/lib/perl5/site_perl and /usr/share/perl5/site_perl. You have dups of core modules installed there by the cpan shell.
Offline
Thank you! I wondered about that when I posted the question - I seem to remember that site_perl became obsolete in Arch recently.
Offline
You're welcome. Please mark the thread as [solved] if your problem is solved.
site_perl isnt really deprecated. Users are still free to make use of it through the cpan shell. It is just better to commit to either cpan or packages for reasons like this. Sometimes modules are autoinstalled through cpan as well.
A segfault shouldnt happen in any case. This was likely an upstream error in XSLoader. What arch do you use?
Offline
That makes sense.
When I started using Linux, my distro of choice was Slackware, so all my modules were installed via CPAN. After I switched to Arch, I continued using CPAN for a while before converting over to Arch repos for my perl modules. It makes sense that there are some leftover issues.
I do remember somewhere along the line seeing XSLoader pop up.
my arch is X86_64.
Thanks again!
Offline