On Mon, May 10, 2004 at 02:55:34PM -0700, Stas Bekman wrote:
> Anthony Hinsinger wrote:
> >This is my xs file. it's 100% generated by Apache::Extutils.
>
> >static mod_perl_perl_dir_config *newPerlConfig(pool *p)
> >{
> > mod_perl_perl_dir_config *cld =
> > (mod_perl_perl_dir_config *)
> > palloc(p, sizeof (mod_perl_perl_dir_config));
> > cld->obj = Nullsv;
>
> so unless something else modifies that member, data->obj should be NULL
> (Nullsv is (SV*)NULL). It has been ages since I've messed up with that if
> at all. Perhaps someone who has built directives extensions can help you
> here. Or compare this autogenerated XS with some other module that creates
> similar extensions. I think there are a few of them on CPAN. Geoffrey's book
> http://www.modperlcookbook.org/ shouldn't have some tar balls with working
> examples. Try to build them first.
>
> If nothing else works, try to step through with gdb/ddd breaking at
> newPerlConfig and following from there.
How do you compile the XS module?
Are you using the same flags that were used to compile perl and
mod_perl and Apache? Flags related to pointer sizes and large file
support (e.g. 32-bit or 64-bit off_t) must match between them all.
See the following
http://marc.theaimsgroup.com/?l=apache-modperl&m=108210589813501&w=2
Check the address of &data->obj at different points in the call stack.
Cheers,
Glenn
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html