Helps if the httpd.conf axkit provider name matches the modules package
name :)
I deserve a kick in the butt after spinning my wheels for 24 hours.
Tim Hibbard
Tim Hibbard wrote:
I'm having problems getting Axkit to work. I have tried recompiling perl,
apache and mod_perl with and without large file support and have also
compiled apache with disabling expat. I still get the same error.
Mod_Perl programs work just fine and perl programs as well. The only time I
get these segmentation faults is when I use an Axkit Custom Provider. I've
used Providers before but never encounted the below error. I have had
problems with large file support before but I do no think this is related.
I'm using mod_perl-1.29, perl-5.8.5 apache_1.3.34, Axkit 1.7 (tried 1.62 as
well) and libxml-2.6.17. This is the exact same environment as the other
production/development machines I run.
Any help is appreciated. If you need more details please let me know.
Thanks in advance,
Tim Hibbard
GDB (output)
=======================================
(gdb) run -X
Starting program: /usr/local/apache/bin/httpd -X
[Thread debugging using libthread_db enabled]
[New Thread -1209616192 (LWP 31306)]
[Fri Apr 14 13:39:01 2006] [alert] httpd: Could not determine the server's
fully qualified domain name, using 192.168.1.52 for ServerName
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1209616192 (LWP 31306)]
0xb7d65fd2 in Perl_sv_unmagic () from /usr/local/apache/libexec/libperl.so
(gdb) bt
#0 0xb7d65fd2 in Perl_sv_unmagic () from /usr/local/apache/libexec/libperl.so
#1 0xb7d1461e in Perl_Gv_AMupdate ()
from /usr/local/apache/libexec/libperl.so
#2 0xb7d6a758 in Perl_sv_bless () from /usr/local/apache/libexec/libperl.so
#3 0xb7927406 in XS_AxKit_reconsecrate ()
from /usr/local/lib/perl5/site_perl/5.8.5/i686-linux/auto/AxKit/AxKit.so
#4 0xb7d63265 in Perl_pp_entersub ()
from /usr/local/apache/libexec/libperl.so
#5 0xb7d5c8b8 in Perl_runops_standard ()
from /usr/local/apache/libexec/libperl.so
#6 0xb7d0fb73 in Perl_call_sv () from /usr/local/apache/libexec/libperl.so
#7 0xb7ce99f7 in perl_call_handler ()
from /usr/local/apache/libexec/libperl.so
#8 0xb7cea085 in perl_run_stacked_handlers ()
from /usr/local/apache/libexec/libperl.so
#9 0xb7ceba63 in perl_handler () from /usr/local/apache/libexec/libperl.so
#10 0x08054e8b in ap_invoke_handler ()
#11 0x0806bd47 in process_request_internal ()
#12 0x0806bda4 in ap_process_request ()
#13 0x080622ec in child_main ()
#14 0x0806251e in make_child ()
#15 0x080626a5 in startup_children ()
#16 0x08062d91 in standalone_main ()
#17 0x08063660 in main ()
APACHE ERROR_LOG
===============================
[Fri Apr 14 11:50:05 2006] [warn] [client 127.0.0.1] [AxKit] handler called
for /myclassifieds
[Fri Apr 14 11:50:05 2006] [warn] [client 127.0.0.1] [AxKit] Running plugin:
Apache::AxKit::Plugin::Passthru
[Fri Apr 14 11:50:05 2006] [warn] [client 127.0.0.1] [AxKit] Running plugin:
Apache::AxKit::Plugin::AddXSLParams::Request
[Fri Apr 14 11:50:05 2006] [warn] [client 127.0.0.1] [AxKit] Content Provider
Override: Classifieds_Provider
[Fri Apr 14 11:50:05 2006] [notice] child pid 27847 exit signal Segmentation
fault (11)
httpd.conf settings
========================================
#MyClassifieds
PerlModule AxKit
SetHandler perl-script
PerlHandler AxKit
AxDebugLevel 10
AxAddStyleMap text/xsl Apache::AxKit::Language::LibXSLT
AxAddPlugin Apache::AxKit::Plugin::Passthru
AxAddPlugin Apache::AxKit::Plugin::AddXSLParams::Request
PerlSetVar AxAddXSLParamGroups "Request-Common VerboseURI"
<Location /myclassifieds>
AxContentProvider Classifieds_Provider
</Location>
CUSTOM PROVIDER
===========================================
package Classified_Provider;
use strict;
use Apache;
use Apache::Request;
use Apache::AxKit::Provider;
use vars qw(@ISA);
@ISA = qw(Apache::AxKit::Provider);
sub process {
my $self = shift;
$self->{_XML_} = qq|<myclassifieds user="test">|;
$self->{_XML_} .= qq|<test/>|;
$self->{_XML_} .= "</myclassifieds>";
return 1;
}
sub get_strref {
my $self = shift;
return \$self->{_XML_};
}
sub get_styles {
my $self = shift;
my ($pref_media, $pref_style) = @_;
my @styles = (
{ type => 'text/xsl', href =>
"/stylesheets/myclassifieds/main_template.xsl" },
);
return [EMAIL PROTECTED];
}
sub key {
my $self = shift;
my $r = $self->apache_request;
return $r;
}
sub exists {
return 1;
}
sub mtime {
return time(); # content is dynamic, hence always fresh
}
1;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Tim Hibbard
Database Administrator and Programmer For
Vice President For Research
109C RTECH
Ohio University
Athens, Ohio 46701
[EMAIL PROTECTED]
740.593.0373
<quote>
Mostly, when you see programmers, they aren't doing anything. One of the
attractive things about programmers is that you cannot tell whether or not they
are working simply by looking at them. Very often they're sitting there
seemingly drinking coffee and gossiping, or just staring into space. What the
programmer is trying to do is get a handle on all the individual and unrelated
ideas that are scampering around in his head. (Charles M Strauss)
</quote>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]