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.