in reply to Re^2: Win32 - Memory can not be "read"
in thread Win32 - Memory can not be "read"
perl58.dll!Perl_newFOROP( ??? Doing a for loop ??? interpreter * my_perl=0x00225ffc, long flags=0, char *label=0x01867624, unsigned long forline=32, ??? Does this mean line 32 of the sourc +e file ??? op * sv=0x00000000, op * expr=0x018956f4, op * block=0x018955dc, op * cont=0x00000000 ) Line 3877 + 0x9 C perl58.dll!Perl_yyparse( ??? parsing ??? interpreter * my_perl=0x0173adfc ) Line 257 + 0x18 C perl58.dll!S_doeval( ??? Evaling the code ??? interpreter * my_perl=0x01890668, int gimme=0, op * * startop=0x00000000, cv * outside=0x00000000, unsigned long seq=2630 ) Line 2817 + 0x6 C perl58.dll!Perl_pp_require( ??? Loading a module ??? interpreter * my_perl=0x0167a5ac ) Line 3314 + 0x3a C perl58.dll!Perl_runops_standard( interpreter * my_perl=0x00225ffc ) Line 23 + 0xc C
The stack trace suggests that the problem occurs when you are processing a for loop. And the assember instruction where the trap is occuring is the rep move ... which supports that.
From that, I'd hazard a wild guess that you have a for loop that running off the end of the data it is copying, and from the stack trace, it looks like that for loop is located in a module--maybe at line 32 of the file?
Like I say, that's mostly guesswork, but if your script doesn't have too many dependancies it might be worth looking at line 32 of each of them and seeing if there is a for loop there, before dismissing this completely :)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Win32 - Memory can not be "read"
by HuckinFappy (Pilgrim) on Oct 05, 2006 at 16:09 UTC | |
by BrowserUk (Patriarch) on Oct 05, 2006 at 17:13 UTC |