Fri Jun 06 10:32:34 2014: Request 96279 was acted upon.
Transaction: Correspondence added by BULKDD
       Queue: Win32-API
     Subject: "Perl -MO=Xref Win32/API.pm" (0.74, 0.77) gives runtime error on 
Perl 5.12.4
   Broken in: 0.74, 0.77
    Severity: Normal
       Owner: Nobody
  Requestors: arul.cse...@ymail.com
      Status: new
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=96279 >


I am using a slightly different command line, "perl -MO=Xref -MWin32::API 
-E"0"". Its generating a segv as you have.

I get 

First-chance exception at 0x100018e2 (B.dll) in : 0xC0000005: Access violation 
reading location 0x0000000a.

callstack

        B.dll!make_sv_object(interpreter * my_perl=0x003923b4, sv * 
arg=0x00a7592c, sv * sv=0x00000002)  Line 252 + 0x3 C
        B.dll!XS_B__GV_STASH(interpreter * my_perl=0x003923b4, cv * 
cv=0x0088a78c)  Line 4903 + 0x22    C
        perl512.dll!Perl_pp_entersub(interpreter * my_perl=0x003923b4)  Line 
2882 + 0x10        C
        perl512.dll!Perl_runops_debug(interpreter * my_perl=0x003923b4)  Line 
2049 + 0xd        C
        perl512.dll!Perl_call_sv(interpreter * my_perl=0x003923b4, sv * 
sv=0x008e49ec, volatile long flags=14)  Line 2605 + 0x36        C
        perl512.dll!Perl_call_list(interpreter * my_perl=0x003923b4, long 
oldscope=1, av * paramList=0x008e4b6c)  Line 4600 + 0x52      C
        perl512.dll!perl_parse(interpreter * my_perl=0x003923b4, void 
(interpreter *)* xsinit=0x281d2190, int argc=4, char * * argv=0x00284d68, char 
* * env=0x00285ed8)  Line 1609 + 0x17      C
        perl512.dll!RunPerl(int argc=4, char * * argv=0x00284d68, char * * 
env=0x00285ed8)  Line 263 + 0x1a     C++
        perl.exe!main(int argc=4, char * * argv=0x00284d68, char * * 
env=0x00283390)  Line 23 + 0x12    C
        perl.exe!mainCRTStartup()  Line 398 + 0xe       C
        kernel32.dll!_BaseProcessStart@4()  + 0x23      


the gv in XSUB XS_B__GV_STASH, is type 9, which means GV, yet sv_u, is a string 
pointer to the string/PV "num". Also in the SV body, it has magic of type "B" 
(#define PERL_MAGIC_bm              'B' /* Boyer-Moore (fast string search) */) 
and vtable of PL_vtbl_bm. Which is very wrong for a GV. I have to figure out 
where I am in PP and where it got this broken GV from.



Reply via email to