RT 4.2 Segfaults on FreeBSD 9.2

I’ve upgraded from RT 4.0.16 to 4.2 on a FreeBSD 9.2 system. I’m
using Perl 5.16.3. When I try to start Apache, it segfaults with the
following information in /var/log/httpd-error.log:

[Tue Dec 17 11:42:38 2013] [error] [client 128.114.49.22] Can’t locate
RT/Action/SendEmail.pm in @INC (you may need to install the
RT::Action::SendEmail module) (@INC contains:
/usr/local/share/rt40/lib
/usr/local/share/rt40/plugins/RT-Authen-ExternalAuth/lib
/usr/local/share/rt40/plugins/RT-Extension-MergeUsers/lib
/usr/local/lib/perl5/site_perl/5.18 /usr/local/lib/perl5/5.18/BSDPAN
/usr/local/lib/perl5/site_perl/5.18/mach
/usr/local/lib/perl5/5.18/mach /usr/local/lib/perl5/5.18 . /usr/local)
at /usr/local/lib/perl5/site_perl/5.18/RT/Interface/Web/Handler.pm
line 181.\n

[Tue Dec 17 11:42:38 2013] [error] [client 128.114.49.22] Can’t locate
RT/Action/SendEmail.pm in @INC (you may need to install the
RT::Action::SendEmail module) (@INC contains:
/usr/local/share/rt40/lib
/usr/local/share/rt40/plugins/RT-Authen-ExternalAuth/lib
/usr/local/share/rt40/plugins/RT-Extension-MergeUsers/lib
/usr/local/lib/perl5/site_perl/5.18 /usr/local/lib/perl5/5.18/BSDPAN
/usr/local/lib/perl5/site_perl/5.18/mach
/usr/local/lib/perl5/5.18/mach /usr/local/lib/perl5/5.18 . /usr/local)
at /usr/local/lib/perl5/site_perl/5.18/RT/Interface/Web/Handler.pm
line 181.\n

[Wed Dec 18 13:26:02 2013] [error] [client 128.114.49.22] Can’t locate
URI/_foreign.pm in @INC (you may need to install the URI::_foreign
module) (@INC contains: /usr/local/share/rt40/lib
/usr/local/share/rt40/plugins/RT-Authen-ExternalAuth/lib
/usr/local/share/rt40/plugins/RT-Extension-MergeUsers/lib
/usr/local/lib/perl5/site_perl/5.18 /usr/local/lib/perl5/5.18/BSDPAN
/usr/local/lib/perl5/site_perl/5.18/mach
/usr/local/lib/perl5/5.18/mach /usr/local/lib/perl5/5.18 . /usr/local)
at /usr/local/lib/perl5/site_perl/5.18/URI.pm line 60.\n

[Wed Dec 18 13:26:02 2013] [error] [client 128.114.49.22] Can’t locate
URI/_foreign.pm in @INC (you may need to install the URI::_foreign
module) (@INC contains: /usr/local/share/rt40/lib
/usr/local/share/rt40/plugins/RT-Authen-ExternalAuth/lib
/usr/local/share/rt40/plugins/RT-Extension-MergeUsers/lib
/usr/local/lib/perl5/site_perl/5.18 /usr/local/lib/perl5/5.18/BSDPAN
/usr/local/lib/perl5/site_perl/5.18/mach
/usr/local/lib/perl5/5.18/mach /usr/local/lib/perl5/5.18 . /usr/local)
at /usr/local/lib/perl5/site_perl/5.18/URI.pm line 60.\n

I’ve confirmed that those files do exist for Perl 5.16:

root@rt-dev.soe.ucsc.edu: locate RT/Action/SendEmail.pm
/usr/local/lib/perl5/site_perl/5.16/RT/Action/SendEmail.pm
root@rt-dev.soe.ucsc.edu: locate RT/Action/SendEmail.pm
/usr/local/lib/perl5/site_perl/5.16/RT/Action/SendEmail.pm
root@rt-dev.soe.ucsc.edu: locate URI/_foreign.pm
/usr/local/lib/perl5/site_perl/5.16/URI/_foreign.pm
root@rt-dev.soe.ucsc.edu: locate URI/_foreign.pm
/usr/local/lib/perl5/site_perl/5.16/URI/_foreign.pm

Why is RT looking for them in a non-existant 5.18 folder? Should I
just create a symlink for now to get past this?

Tim Gustafson
tjg@ucsc.edu
831-459-5354
Baskin Engineering, Room 313A

Can you show what’s in /etc/make.conf?

WRKDIRPREFIX=/var/ports
DISTDIR=/var/ports/distfiles
PACKAGES=/var/ports/packages

Perl 5.16 should be the default.

http://svnweb.freebsd.org/ports/head/Mk/bsd.default-versions.mk?view=log

Where did your modules come from?

I installed everything from FreeBSD’s /usr/ports

Tim Gustafson
tjg@ucsc.edu
831-459-5354
Baskin Engineering, Room 313A

Why is RT looking for them in a non-existant 5.18 folder? Should I
just create a symlink for now to get past this?

Can you show what’s in /etc/make.conf
?

Perl 5.16 should be the default.

http://svnweb.freebsd.org/ports/head/Mk/bsd.default-versions.mk?view=log

Where did your modules come from?

Can you show what’s in /etc/make.conf?

WRKDIRPREFIX=/var/ports
DISTDIR=/var/ports/distfiles
PACKAGES=/var/ports/packages

So, it’s a jail.

Did you actually install perl?

pkg_info |grep ^perl

or
pkg info |grep ^perl

(in case you are already using pkgng).

Perl 5.16 should be the default.

http://svnweb.freebsd.org/ports/head/Mk/bsd.default-versions.mk?view=log

Where did your modules come from?

I installed everything from FreeBSD’s /usr/ports

At this point, I would advise anybody who is on a semi-recent version of FreeBSD to use poudriere and build one’s own packages (preferably from a „frozen“ ports-tree).

But it’s OK, if reproducibility is not an issue.

So, it’s a jail.

Yes, sorry, I forgot to mention that.

Did you actually install perl?

Of course, it’s a dependency of RT:

root@rt-dev.soe.ucsc.edu: pkg_info |grep ^perl
perl5-5.16.3_4 Practical Extraction and Report Language

But it’s OK, if reproducibility is not an issue.

For what it’s worth, I originally tried to do this as an upgrade from
4.0.16 to 4.2, but that failed with this same error, so I uninstalled
Perl, and all its dependencies, removed everything from /var/db/ports/
to make sure that all the default options were used while building,
and then re-installed 4.2.

If it helps, I can kill the whole jail and install a totally clean one
and then try again.

Tim Gustafson
tjg@ucsc.edu
831-459-5354
Baskin Engineering, Room 313A

So, it’s a jail.

Yes, sorry, I forgot to mention that.

Did you actually install perl?

Of course, it’s a dependency of RT:

root@rt-dev.soe.ucsc.edu: pkg_info |grep ^perl
perl5-5.16.3_4 Practical Extraction and Report Language

But it’s OK, if reproducibility is not an issue.

For what it’s worth, I originally tried to do this as an upgrade from
4.0.16 to 4.2, but that failed with this same error, so I uninstalled
Perl, and all its dependencies, removed everything from /var/db/ports/
to make sure that all the default options were used while building,
and then re-installed 4.2.

If it helps, I can kill the whole jail and install a totally clean one
and then try again.

That is really strange.
I recently did a test-install (of 4.0.x) - with packages from my own repository (which is unfortunately not public) and that did work.
Didn’t get around trying 4.2 yet.

Do you actually have a 5.18 site_perl directory?

Do you actually have a 5.18 site_perl directory?

Ah, sorry.
You answered that before.

I missed it.

Something thinks you have perl 5.18.
Is the perl outside the jail also 5.16?

Something thinks you have perl 5.18.
Is the perl outside the jail also 5.16?

I believe its 5.16, but what difference should that make? The jail
has no access to view any aspect of the root system.

Tim Gustafson
tjg@ucsc.edu
831-459-5354
Baskin Engineering, Room 313A

Something thinks you have perl 5.18.
Is the perl outside the jail also 5.16?

I believe its 5.16, but what difference should that make? The jail
has no access to view any aspect of the root system.

He’s asking because your original error message says 5.18

[Tue Dec 17 11:42:38 2013] [error] [client 128.114.49.22] Can’t locate
RT/Action/SendEmail.pm in @INC (you may need to install the
RT::Action::SendEmail module) (@INC contains:
/usr/local/share/rt40/lib
/usr/local/share/rt40/plugins/RT-Authen-ExternalAuth/lib
/usr/local/share/rt40/plugins/RT-Extension-MergeUsers/lib
/usr/local/lib/perl5/site_perl/5.18 /usr/local/lib/perl5/5.18/BSDPAN
/usr/local/lib/perl5/site_perl/5.18/mach
/usr/local/lib/perl5/5.18/mach /usr/local/lib/perl5/5.18 . /usr/local)
at /usr/local/lib/perl5/site_perl/5.18/RT/Interface/Web/Handler.pm
line 181.\n

The error “Can’t locate RT/Action/SendEmail.pm” can indicate lack of
file on filesystem, but it could also mean that RT couldn’t load
dependencies.

I’m going to guess you’re using a mod_perl built against a perl-5.18
which causes different site_libs to be searched.

-kevin

Am Fri, 20 Dec 2013 10:29:02 -0500
schrieb Kevin Falcone falcone@bestpractical.com:> On Wed, Dec 18, 2013 at 06:00:14PM -0800, Tim Gustafson wrote:

Something thinks you have perl 5.18.
Is the perl outside the jail also 5.16?

I believe its 5.16, but what difference should that make? The jail
has no access to view any aspect of the root system.

He’s asking because your original error message says 5.18

[Tue Dec 17 11:42:38 2013] [error] [client 128.114.49.22] Can’t
locate RT/Action/SendEmail.pm in @INC (you may need to install
the RT::Action::SendEmail module) (@INC
contains: /usr/local/share/rt40/lib
/usr/local/share/rt40/plugins/RT-Authen-ExternalAuth/lib
/usr/local/share/rt40/plugins/RT-Extension-MergeUsers/lib
/usr/local/lib/perl5/site_perl/5.18 /usr/local/lib/perl5/5.18/BSDPAN
/usr/local/lib/perl5/site_perl/5.18/mach
/usr/local/lib/perl5/5.18/mach /usr/local/lib/perl5/5.18 . /usr/local)
at /usr/local/lib/perl5/site_perl/5.18/RT/Interface/Web/Handler.pm
line 181.\n

The error “Can’t locate RT/Action/SendEmail.pm” can indicate lack of
file on filesystem, but it could also mean that RT couldn’t load
dependencies.

I’m going to guess you’re using a mod_perl built against a perl-5.18
which causes different site_libs to be searched.

According to Tim, he has build everything from source - which would
make this error-messages even more puzzling.

As I said, anybody doing anything serious with FreeBSD these days should
switch to pkgng. Yesterday.

My remark about perl 5.18 outside the jail does not make much sense,
admittedly.

According to Tim, he has build everything from source - which would
make this error-messages even more puzzling.

As I said, anybody doing anything serious with FreeBSD these days should
switch to pkgng. Yesterday.

My remark about perl 5.18 outside the jail does not make much sense,
admittedly.

Yep - there’s a distinct lack of information and all we’re doing is
guessing, I just wanted him to realize that a mod_perl which searches
5.18’s site_lib for perl modules installed in 5.16’s site_lib has no
prayer of ever working.

-kevin

Le 18/12/2013 � 15:17:15-0800, Tim Gustafson a �crit

I’ve upgraded from RT 4.0.16 to 4.2 on a FreeBSD 9.2 system. I’m
using Perl 5.16.3. When I try to start Apache, it segfaults with the
following information in /var/log/httpd-error.log:

Me too, and work like a charm.

Have you done

20131023 tag (in /usr/ports/UPDATING) ?

You really need it.

And you need to do :

portupgrade -fr lang/perl5.16

until every ports is update2date, no errors.

I think portupgrade don’t manage very good all dependency on p5- packages
so I need to run 3 times to complete all update.

Well in fact you don’t need to do exactly 3 times

portupgrade -fr lang/perl5.16

but after the first time if you got some “unknown build error” just update
those ports and all depend on it.

Regards.

JAS

Albert SHIH
DIO b�timent 15
Observatoire de Paris
5 Place Jules Janssen
92195 Meudon Cedex
France
T�l�phone : +33 1 45 07 76 26/+33 6 86 69 95 71
xmpp: jas@obspm.fr
Heure local/Local time:
mar 24 d�c 2013 21:50:17 CET