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, apache_1.3.34, Axkit 1.7 (tried 1.62 as well) and
libxml-2.6.17
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]