Apache2.so: undefined symbol: modperl_xs_sv2request_rec

Bug #1318134 reported by Raul Miller
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
libapreq2 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

To reproduce, run this:

#!/usr/bin/perl
use Apache2::Request;
$req = Apache2::Request->new($r);

This should run without error, and not fail with a missing symbol.

extra information:

Description: Ubuntu 12.04.4 LTS
Release: 12.04

Package: libapache2-request-perl
Status: install ok installed
Priority: optional
Section: perl
Installed-Size: 354
Maintainer: Ubuntu Developers <email address hidden>
Architecture: amd64
Source: libapreq2
Version: 2.13-1build2
Depends: perl (>= 5.14.2-3build1), perlapi-5.14.2, libapr1 (>= 1.2.7), libapreq2 (= 2.13-1build2), libaprutil1 (>= 1.2.7+dfsg), libc6 (>= 2.4), libapache2-mod-perl2 (>= 1.99.23-1), libapache2-mod-apreq2 (= 2.13-1build2)
Description: generic Apache request library - Perl modules
 The generic Apache request library (APR) contains modules for manipulating
 client request data with the Apache API from Perl and C. Functionality
 includes:
 .
  - parsing of application/x-www-form-urlencoded data
  - parsing of multipart/form-data
  - parsing of HTTP Cookies
 .
 This package contains the Perl bindings, which are simply a thin XS layer on
 top of libapreq, making them a lighter and faster alternative to CGI.pm and
 CGI::Cookie.
Original-Maintainer: Steinar H. Gunderson <email address hidden>

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: libapache2-request-perl 2.13-1build2
Uname: Linux 2.6.32-042stab088.4 x86_64
ApportVersion: 2.0.1-0ubuntu17.6
Architecture: amd64
Date: Sat May 10 11:31:07 2014
MarkForUpload: True
ProcEnviron:
 TERM=screen
 PATH=(custom, no user)
 SHELL=/bin/bash
SourcePackage: libapreq2
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Raul Miller (rauldmiller) wrote :
Revision history for this message
Raul Miller (rauldmiller) wrote :

Also fails in

Description: Ubuntu 13.10
Release: 13.10

Revision history for this message
Raul Miller (rauldmiller) wrote :

Same failure in

Description: Ubuntu 14.04 LTS
Release: 14.04

Revision history for this message
Raul Miller (rauldmiller) wrote :

Note also that you might get a different error once this missing symbol issue is fixed - this is a part of mod_perl and is meant to be used under apache while servicing web requests, which would be great if it worked. I suppose most people are using commercial alternatives, though, perhaps because no one has been adequately testing things like this.

Revision history for this message
Raul Miller (rauldmiller) wrote :

(Just in case last comment was not clear: it's probably ok if you get a different error after fixing the missing symbol issue. I'll be happy to test an interim release...)

Revision history for this message
Raul Miller (rauldmiller) wrote :

Actually, this problem can be resolved by (as root):

cd /etc/apache2/mods-enabled
ln -s ../mods-available/apreq.load
/etc/init.d/apache2 restart

So this should be classified as a documentation issue.

Revision history for this message
Raul Miller (rauldmiller) wrote :

That said, this is not an easy documentation problem to resolve. To illustrate this, here's a mod_perl page that works:

#!/usr/bin/perl
use Apache2::RequestUtil ();
my $r = Apache2::RequestUtil->request;
$r->content_type("text/plain");
$r->print("works?");

And here is one that fails with the apreq module not loaded:

#!/usr/bin/perl
use Apache2::RequestUtil ();
use Apache2::Upload;
use IO::Handle;
open DBG, ">/tmp/dbg";
DBG->autoflush();
print DBG 1;
my $r = Apache2::RequestUtil->request;
print DBG 2;
my $req = Apache2::Request->new($r);
print DBG 3;
$r->content_type("text/plain");
print DBG 4;
$r->print("works?");
print DBG 5;

The failing program needs those print statements since nothing shows up even in the apache error log for this failure mode.

Probably perldoc Apache2::Upload should document the apreq issue, and the upstream perl developers should get a polite request for a more informative failure mode for this case (for webmin users).

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libapreq2 (Ubuntu):
status: New → Confirmed
Revision history for this message
Grizzly(Francis Smit) (grizzly-smit) wrote (last edit ):

same problem on Ubuntu 21.10
found the cause was a miss-configuration of mod_perl

not sure of details as I'm not the admin at work

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.