Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Win32 - Memory can not be "read"

by GrandFather (Saint)
on Oct 04, 2006 at 20:58 UTC ( [id://576408]=note: print w/replies, xml ) Need Help??


in reply to Win32 - Memory can not be "read"

A slight translation may help (but probably not). the 'instruction at "0x77c46fa3"' bit means that an instrustion at that (run time) address. If you can get a symbol dump of the code you can in principle find the (machine language) instruction that is causeing the trouble and should be able to identify the routine that is involved. A much more useful thing generally is to get a stack dump so you can figure out somthing of the context of the failure. You should be able to get at least a partial stack dump from the System Event Viewer.

The 'memory could not be "read"' means an invalid access. The instruction was trying to access memory that the process doesn't own. Normally that means a bad pointer - either uninitialised, or trashed in some fashion. It may be an access beyond the end of an array for example.

What version of Perl and can you post some code that you implicate in generating the problem? How often does it happen?


DWIM is Perl's answer to Gödel

Replies are listed 'Best First'.
Re^2: Win32 - Memory can not be "read"
by HuckinFappy (Pilgrim) on Oct 04, 2006 at 22:07 UTC

    thanks for the translation. That's roughly in line with what I thought it was telling me. unfortunately, this is all very sporatic, so I'm not sure how to go about capturing a symbol dump.

    I also don't see any stack dump in the System Event Viewer

    This is perl 5.8.5 (I'll include perl -V at the end of this reply)

    I don't have a specific code I'm suspicious of. I've see this happen apprently when my scripts are:

    • Running make
    • Using File::Find to gather find a collection of related files
    • Running 'reg query' to get registry settings
    • Spawning a variety of other system commands
    Summary of my perl5 (revision 5 version 8 subversion 5) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultip +licity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D +_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPER +L_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX', optimize='-MD -Zi -DNDEBUG -O1', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64 +', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -l +ibpath:"t:\perl\5.8.5\lib\CORE" -machine:x86' libpth=\lib t:\perl\5.8.5\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib + comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netap +i32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.li +b odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool +.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib n +etapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc3 +2.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib gnulibc_version='undef' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt: +ref,icf -libpath:"t:\perl\5.8.5\lib\CORE" -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL +_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Built under MSWin32 Compiled at Aug 12 2004 13:37:45 @INC: c:/xgsPerl/5.8.5/lib c:/xgsPerl/site/5.8.5/lib c:/xgsPerl/site/lib .
      I'm not sure how to go about capturing a symbol dump

      Does the pop-up you get have an option (button) that provides a dump ? I've a vague notion there's a "More Info" type button you can select, which produces the dump to a file ... but I'm not altogether sure.

      Cheers,
      Rob
        You may be right, but we've hosed ourselves there.

        Since these machines are used in gigantic overnight builds that run thousands of jobs each, we're turned off all popups. So there's an indicator in the Event Viewer that a popup would have been generated, but it doesn't actually show up. This prevents a pop-up waiting for a user response from causing the build to hang

        I'll try and turn pop-ups back on selectively on our test network, and see if I can capture some more information

        Thanks!

      Have you tried updating your Perl?


      DWIM is Perl's answer to Gödel
        I haven't tried upgrading. I can try that, but I have a couple of issues with that:
        1. Perl is part of our engineering development environment. Since we're a month away from final release of our product, we're under an environment freeze, so an upgrade to perl is considered extremely disruptive
        2. We'd been using the exact same version of perl, with the exact same code, for over a year with no issues, so I'm more interested in what may be causing this
        That being said, I have a test network I can install a version of 5.8.8 on.

        Thanks again

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2024-03-29 05:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found