At Mon, 9 Jun 2003 20:05:27 +0200, Gerald Richter wrote:
> >  "make test" doesn't succeed (fails in various ways) on some non-i386
> >  archs (alpha, m68k, ia64, arm). There's some 32/64 bit or endian
> >  issues somewhere I haven't tracked down yet (haven't looked
> >  recently - its proving hard to track down).
> 
> Angus, could you try the lastest CVS version. I have fixed a memory
> allocation problem, which may cause your problems...

no change with 2.0b9 unfortunately (at least on ia64) :(

running test 182 (SSI/ssibasic.htm) followed by 189 (changeattr.htm)
makes 189 spin - apparently near the while loop at epdom.c:3893.
call stack is:

#0  EMBPERL2_Attr_selfValue (a=0x6000000000327fd0,
    pDomTree=0x6000000000330d48, pAttr=0x6000000000589cb8, nRepeatLevel=1,
    ppAttr=0x60000fffffffb160) at epdom.c:3901
#1  0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x6000000000004770,
    pDomTree=0x60000000004ca3b8, pAttr=0x22, nRepeatLevel=16,
    ppAttr=0x2000000000153fc0) at epdom.c:3869
#2  0x6000000000327fd0 in ?? ()
#3  0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x0,
    pDomTree=0x6000000000004778, pAttr=0x200000000008e540,
    nRepeatLevel=11359, ppAttr=0x6000000000004770) at epdom.c:3869
#4  0x6000000000005888 in ?? ()
#5  0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x6000000000004770,
    pDomTree=0x60000000004c9f98, pAttr=0x200000000077fd20, nRepeatLevel=2200,
    ppAttr=0x2000000000814558) at epdom.c:3869
#6  0x0000000000000000 in ?? ()

but that fact that the stack ends there probably means its corrupted
and therefore not to be believed.

an earlier stacktrace gives:

#0  EMBPERL2_Node_selfNextSibling (a=0x6000000000327fd0,
    pDomTree=0x6000000000330d48, pNode=0x600000000058a310, nRepeatLevel=1)
    at epdom.c:3078
#1  0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x6000000000327fd0,
    pDomTree=0x6000000000330d48, pAttr=0x6000000000589cb8, nRepeatLevel=1,
    ppAttr=0x60000fffffffb160) at epdom.c:3869
#2  0x20000000007331b0 in XS_XML__Embperl__DOM__Attr_iValue (
    my_perl=0x6000000000004770, cv=0x60000000004ca3b8) at DOM.xs:396
#3  0x2000000000153fc0 in Perl_pp_entersub () from /usr/lib/libperl.so.5.8
#4  0x2000000000142b70 in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#5  0x200000000008eaa0 in Perl_call_sv () from /usr/lib/libperl.so.5.8
#6  0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x0, pDomTree=0x0,
    pAttr=0x0, nRepeatLevel=0, ppAttr=0x60000000004c9ea0) at epdom.c:3869
#7  0x0000000000000001 in ?? ()
#8  0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x60000000004ca130,
    pDomTree=0x60000000004ca378, pAttr=0x6000000000004770,
    nRepeatLevel=41112, ppAttr=0x60000000004ca090) at epdom.c:3869
#9  0x2000000000786720 in ProviderEpRun_GetContentIndex (r=0x0,
    pProvider=0x60000000006bd1a8, pData=0x60000000006914f0,
    bUseCache=-128 '\200') at epprovider.c:1765
#10 0x60000000004c9ea0 in ?? ()
#11 0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x60000000004c9ea0,
    pDomTree=0x60000000006ab650, pAttr=0x60000000004ca130,
    nRepeatLevel=46904, ppAttr=0x200000000073c810) at epdom.c:3869
#12 0x60000000004c9ea0 in ?? ()
#13 0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x600000000047db60,
    pDomTree=0x20000000002513a8, pAttr=0x4, nRepeatLevel=11120,
    ppAttr=0xc000000000000307) at epdom.c:3869
#14 0x0000000000000003 in ?? ()
#15 0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x1, pDomTree=0x1,
    pAttr=0x60000000000047b0, nRepeatLevel=56164, ppAttr=0x200000000014d130)
    at epdom.c:3869
#16 0x6000000000004770 in ?? ()
#17 0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x300000000,
    pDomTree=0x60000fffffffbb28, pAttr=0x2000000000038d78,
    nRepeatLevel=36040, ppAttr=0x2000000000010b90) at epdom.c:3869
#18 0x2000000000051105 in _r_debug () from /usr/lib/libperl.so.5.8
#19 0x2000000000778170 in EMBPERL2_Attr_selfValue (a=0x0,
    pDomTree=0x20000000000176b0, pAttr=0xc00000000000030d,
    nRepeatLevel=47936, ppAttr=0x4000000000000aff) at epdom.c:3869
#20 0x60000fffffffbb20 in ?? ()
#21 0x2000000000778170 in EMBPERL2_Attr_selfValue (a=Cannot access memory at address 
0x60000fff7ffffe08
) at epdom.c:3869
Cannot access memory at address 0x60000fff7ffffe48

which might or might not be more believable.


its probably not related, but i tried running "make test" through
valgrind (since i'd never used valgrind before and wanted to see what
it could do) and got this:

==13881== Conditional jump or move depends on uninitialised value(s)
==13881==    at 0x42410268: EMBPERL2_Node_selfNextSibling (epdom.c:3081)
==13881==    by 0x42413CB7: embperl_CompileNode (epcomp.c:1462)
==13881==    by 0x42413E22: embperl_CompileNode (epcomp.c:1496)
==13881==    by 0x424140CD: embperl_CompileDomTree (epcomp.c:1557)
==13881==
==13881== Conditional jump or move depends on uninitialised value(s)
==13881==    at 0x42410268: EMBPERL2_Node_selfNextSibling (epdom.c:3081)
==13881==    by 0x42412987: embperl_CompileCleanupSpaces (epcomp.c:896)
==13881==    by 0x42412FF8: embperl_CompilePostProcess (epcomp.c:1096)
==13881==    by 0x42413DA3: embperl_CompileNode (epcomp.c:1484)
==13881==
==13881== Conditional jump or move depends on uninitialised value(s)
==13881==    at 0x42410268: EMBPERL2_Node_selfNextSibling (epdom.c:3081)
==13881==    by 0x424107E3: EMBPERL2_Node_toString2 (epdom.c:3489)
==13881==    by 0x42410AE8: EMBPERL2_Node_toString2 (epdom.c:3408)
==13881==    by 0x42410E8A: EMBPERL2_Node_toString (epdom.c:3566)
==13881==
==13881== Conditional jump or move depends on uninitialised value(s)
==13881==    at 0x424103F8: EMBPERL2_Node_selfPreviousSibling (epdom.c:3151)
==13881==    by 0x4240E2BB: EMBPERL2_DomTree_checkpoint (epdom.c:1401)
==13881==    by 0x423F2D99: XS_XML__Embperl__DOM__Tree_iCheckpoint (DOM.xs:257)
==13881==    by 0x80B95A2: Perl_pp_entersub (in /usr/bin/perl)
==13881==
==13881== Conditional jump or move depends on uninitialised value(s)
==13881==    at 0x424103F8: EMBPERL2_Node_selfPreviousSibling (epdom.c:3151)
==13881==    by 0x4240D1A3: EMBPERL2_DomTree_checkpoint (epdom.c:1438)
==13881==    by 0x423F2D99: XS_XML__Embperl__DOM__Tree_iCheckpoint (DOM.xs:257)
==13881==    by 0x80B95A2: Perl_pp_entersub (in /usr/bin/perl)
==13881==
==13881== Conditional jump or move depends on uninitialised value(s)
==13881==    at 0x42410268: EMBPERL2_Node_selfNextSibling (epdom.c:3081)
==13881==    by 0x42413CB7: embperl_CompileNode (epcomp.c:1462)
==13881==    by 0x42413E22: embperl_CompileNode (epcomp.c:1496)
==13881==    by 0x42413E22: embperl_CompileNode (epcomp.c:1496)
==13881==
==13881== Conditional jump or move depends on uninitialised value(s)
==13881==    at 0x42410268: EMBPERL2_Node_selfNextSibling (epdom.c:3081)
==13881==    by 0x424107E3: EMBPERL2_Node_toString2 (epdom.c:3489)
==13881==    by 0x42410AE8: EMBPERL2_Node_toString2 (epdom.c:3408)
==13881==    by 0x424107BB: EMBPERL2_Node_toString2 (epdom.c:3464)
==13881==
==13881== Conditional jump or move depends on uninitialised value(s)
==13881==    at 0x42410268: EMBPERL2_Node_selfNextSibling (epdom.c:3081)
==13881==    by 0x42411288: EMBPERL2_Attr_selfValue (epdom.c:3904)
==13881==    by 0x423F3AFC: XS_XML__Embperl__DOM__Attr_iValue (DOM.xs:396)
==13881==    by 0x80B95A2: Perl_pp_entersub (in /usr/bin/perl)

i'm not really sure what that means since i'm completely unfamiliar
with valgrind.  I had a look at Node_selfLevel() and the code around
these points, but couldn't see anything i thought was "uninitialised".
(valgrind is i386-only, so this is on i386)

-- 
 - Gus

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

Reply via email to