Beefy Boxes and Bandwidth Generously Provided by pair Networks vroom
more useful options
 
PerlMonks  

Re^10: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location

by bulk88 (Priest)
on Dec 05, 2012 at 19:01 UTC ( #1007365=note: print w/ replies, xml ) Need Help??


in reply to Re^9: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location
in thread if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location

sections /29, /59, and .reloc are different sizes. .text is identical size. The instructions in .text I am pretty sure (didn't look too deeply, using my tools) are identical except for the effects of relocation. The 2 DLLs have different base addresses, and both are i386 and have identical PE headers except for the relocation. Where can I get a copy of libgcc_s_dw2-1.dll? Strawberry perl 5.8.9.5 doesn't have one.

*Both* files gave me this warning when I used PE Explorer on them.

" Warning! Section </4> (3) extends beyond the raw file offset of section <.bss> (4)."


Comment on Re^10: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location
Re^11: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location
by syphilis (Canon) on Dec 05, 2012 at 22:41 UTC
    Where can I get a copy of libgcc_s_dw2-1.dll?

    I've just uploaded it to here.
    It's a dll that ships with the mingw.org builds of 32-bit gcc. Strawberry's compilers are built by a different vendor.

    Thanks for taking a look.

    Cheers,
    Rob
      Both ok and broken loaded correctly without error. Win32::LoadLibrary returns a handle for both and reading that handle as a mem block, the first 2 letters were MZ (dll/exe magic). Can not reproduce.
        Win32::LoadLibrary returns a handle for both

        Yep - just checked, and Win32::LoadLibrary loads them both just fine for me, too.
        Which means ... what ... it's a DynaLoader bug ?

        For my check, I ran this script (as per the one you posted earlier in this thread):
        use warnings; use strict; use Win32; my $ret = Win32::LoadLibrary('C:\sisyphusion\PLplot_broken.dll'); print "ret=$ret glr=".Win32::GetLastError()."\n"; $ret = Win32::LoadLibrary('C:\sisyphusion\PLplot_ok.dll'); print "ret=$ret glr=".Win32::GetLastError()."\n";
        and that produced the following output:
        ret=1647050752 glr=0 ret=1659895808 glr=0
        It's not just 5.8.9 where this happens, but also 5.8.8, 5.14.0. 5.16.0 (and perhaps other perls as well).

        Cheers,
        Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1007365]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2014-04-18 01:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (460 votes), past polls