On Mon, 27 Jul 2009, Elliot Shank wrote:
> Using Strawberry Perl 5.10.0.4, t/50-errno.t crashes perl during test
> 8. I tracked it down to r834, it works in r833 and crashes up through
> the current r847.

I can reproduce the problem too (with MSC instead of GCC).  It seems to happen
in the SvOK() test in this part of the code:

    /* Should we calculate the caller or can we reuse the caller_subr_entry?
     * Sometimes we'll have a caller_subr_entry but it won't have the name yet.
     * For example if the caller is an xsub that's callback into perl.
     */
    if (profile_findcaller             /* user wants us to calculate each time 
*/
    || !caller_subr_entry                     /* we don't have a caller struct 
*/
    || !caller_subr_entry->called_subpkg_pv   /* we don't have caller details  
*/
    || !SvOK(caller_subr_entry->called_subnam_sv)

The stack trace is:

  subr_entry_setup(interpreter * 0x015d3fc4, cop * 0x01b806d8, subr_entry_st * 
0x00000000) line 2433 + 26 bytes
  pp_subcall_profiler(interpreter * 0x015d3fc4, int 0x00000000) line 2556 + 15 
bytes
  pp_entersub_profiler(interpreter * 0x015d3fc4) line 2488 + 13 bytes

caller_subr_entry->called_subnam_sv doesn't look like a valid SV*, but I can
access all the fields from the debugger, so I'm not sure why this is generating
an access violation.  Or maybe I'm reading the disassembled code incorrectly;
I didn't disable -O2 yet.  I can have another look tomorrow, but I thought
maybe the exact location gives you enough hints to understand what might be
going wrong.

Cheers,
-Jan


--~--~---------~--~----~------------~-------~--~----~
You've received this message because you are subscribed to
the Devel::NYTProf Development User group.

Group hosted at:  http://groups.google.com/group/develnytprof-dev
Project hosted at:  http://perl-devel-nytprof.googlecode.com
CPAN distribution:  http://search.cpan.org/dist/Devel-NYTProf

To post, email:  [email protected]
To unsubscribe, email:  [email protected]
-~----------~----~----~----~------~----~------~--~---

Reply via email to