At 11:03 PM -0500 1/22/06, John E. Malmberg wrote:
>John E. Malmberg wrote:
>>Craig A. Berry wrote:
>>
>>>At 8:15 PM -0500 1/21/06, John E. Malmberg wrote:
>>>$ perl harness [.op]stat.t
>>>[.op]stat....dubious
>>>        Test returned status 12 (wstat 1024, 0x400)
>>>                (VMS status is 12)
>>>FAILED--1 test script could be run, alas--no output ever seen
>>>%SYSTEM-F-ACCVIO, access violation, reason mask=00,
>
>So far, this seems to be based on several phase of the moon issues.
>I have placed comments in a copy [.op]stat.t1 to get it down to the minimum 
>code that will reproduce an access violation with every run.
>
>When I extract this code into a separate module, the access violation does not 
>occur.
>
>I can also not reproduce the access violation when running it in the debugger.
>
>This usually means an uninitialized variable, as the debugger tends to clear 
>stack as it runs.
>
>By adding in print STDERR statements to the [.op]stat.t1, I was able to 
>isolate where the failure is happening.
>
>The access violation is occurring on the line below when $Null = '_NLA0:', but 
>not when it is '/dev/null'.
>
>   -e $Null;
>
>It does not occur when $Null is replaced by either of the above text constants.
>
>It looks like the next step is to put some fprintf and fputs calls to write 
>output to stderr for the routines that should be processing the above 
>statement to see if the exact location of the access violation can be found.  
>Maybe once I start looking at that code it may become obvious.
>

If I define DECC_BUG_DEVNULL in the environment, I can run several
times in a row with no accvios.  Do you have that defined in your
normal test environment?  That would explain why you weren't seeing
the failure in your test runs.

I think this is something you added and I don't fully understand what
it does.  It looks like the default behavior is now to skip our old
code that concocted its own stat values for the null device, but
defining DECC_BUG_DEVNULL reverts to the old behavior.  So stepping
through Perl_flex_stat_int while processing the null device with the
logical turned off might lead to further clues about what's not
getting initialized.
-- 
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to