Hi,

> Subject: crash with simple template
> 

Thanks for the test case. The attached patch fixes the problem. It's also fixed 
in the SVN version

Gerald


> Hello embperl,
> 
> OS: CentoS 4.4/x86_64
> Embperl: 2.2.0
> Template: in attache
> 
> (gdb) run ./embpexec.pl crash.html.1
> Starting program: /usr/bin/perl ./embpexec.pl crash.html.1 
> (no debugging symbols found) (no debugging symbols found) (no 
> debugging symbols found) (no debugging symbols found) (no 
> debugging symbols found) (no debugging symbols found) (no 
> debugging symbols found) (no debugging symbols found) [Thread 
> debugging using libthread_db enabled] [New Thread 
> 182908350080 (LWP 28855)] (no debugging symbols found) (no 
> debugging symbols found) (no debugging symbols found)
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 182908350080 (LWP 28855)]
> 0x0000002a992af8f7 in EMBPERL2_Attr_selfValue (a=0x6f8730, 
> pDomTree=0x81a638, pAttr=0x95fda8, nRepeatLevel=0, 
> ppAttr=0x7fbffff0c8) at epdom.c:4330
> 4330                return Ndx2String (pAttr -> xValue) ;
> (gdb) bt
> #0  0x0000002a992af8f7 in EMBPERL2_Attr_selfValue 
> (a=0x6f8730, pDomTree=0x81a638, pAttr=0x95fda8, 
> nRepeatLevel=0, ppAttr=0x7fbffff0c8) at epdom.c:4330
> #1  0x0000002a99290f50 in XS_XML__Embperl__DOM__Attr_iValue 
> (my_perl=0x504010, cv=Variable "cv" is not available.
> ) at DOM.xs:408
> #2  0x0000002a9570a91b in Perl_pp_entersub () from 
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/libperl.so
> #3  0x0000002a956ee86a in Perl_runops_debug () from 
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/libperl.so
> #4  0x0000002a956a6851 in Perl_call_sv () from 
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/libperl.so
> #5  0x0000002a9929bc1d in EMBPERL2_CallStoredCV (r=0x8a6a30, 
> sArg=Variable "sArg" is not available.
> ) at epeval.c:759
> #6  0x0000002a992b638f in embperl_Execute (r=0x8a6a30, 
> xSrcDomTree=Variable "xSrcDomTree" is not available.
> ) at epcomp.c:1851
> #7  0x0000002a992b95fb in ProviderEpRun_GetContentIndex 
> (r=0x8a6a30, pProvider=0x81d690, pData=0x8a6ce8, bUseCache=0 
> '\0') at epprovider.c:1780
> #8  0x0000002a992b7f87 in Cache_GetContentIndex (r=0x8a6a30, 
> pItem=0x81d520, pData=0x8a6ce8, bUseCache=Variable 
> "bUseCache" is not available.
> ) at epcache.c:1025
> #9  0x0000002a99294450 in ProcessFile (r=0x8a6a30, 
> nFileSize=Variable "nFileSize" is not available.
> ) at epmain.c:1294
> #10 0x0000002a99294d1a in embperl_RunRequest (r=0x8a6a30) at 
> epmain.c:1373
> #11 0x0000002a9929544e in embperl_ExecuteRequest 
> (my_perl=0x504010, pApacheReqSV=0x504b08, pPerlParam=Variable 
> "pPerlParam" is not available.
> ) at epmain.c:1476
> #12 0x0000002a9928bff3 in XS_Embperl__Req_ExecuteRequest 
> (my_perl=0x504010, cv=Variable "cv" is not available.
> ) at Embperl.xs:136
> #13 0x0000002a9570a91b in Perl_pp_entersub () from 
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/libperl.so
> #14 0x0000002a956ee86a in Perl_runops_debug () from 
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/libperl.so
> #15 0x0000002a956a75e4 in perl_run () from 
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/libperl.so
> #16 0x00000000004019ec in main ()
> (gdb) fr 0
> #0  0x0000002a992af8f7 in EMBPERL2_Attr_selfValue 
> (a=0x6f8730, pDomTree=0x81a638, pAttr=0x95fda8, 
> nRepeatLevel=0, ppAttr=0x7fbffff0c8) at epdom.c:4330
> 4330                return Ndx2String (pAttr -> xValue) ;
> (gdb) p pAttr
> $1 = (struct tAttrData *) 0x95fda8
> (gdb) p *pAttr
> $2 = {nType = 2 '\002', bFlags = 0 '\0', nNodeOffset = 200, 
> xNdx = 123, xName = 46, xValue = 124}
> (gdb) p pAttr->xValue
> $3 = 124
>   
> 
> 
> --
> Best regards,
>  Andrew                          mailto:[EMAIL PROTECTED]
> 
>  
> ** Virus checked by BB-5000 Mailfilter ** 
> !DSPAM:45b1ed43117152963317655!
> 

Attachment: ep.patch
Description: Binary data

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to