"load_file:Invalid access to memory location" means one and only one thing, in the XS DLL, or any dependency DLL which has not been loaded before (kernel32, advapi32, perl51*.dll for example were already loaded so they can not be the cause), a DllMain
of the new in the process DLL, had a SEGV/access violation, when it was called from LoadLibrary/Dynaloader. Windows instead of crashing the process, traps the access vio and returns FALSE to the caller (Dynaloader) of LoadLibrary and sets Win32 LastError correct and that is what you see here.
, IDK if it will help you identify which particular DLL crashed or not the tree of dependencies. The other choice is a C debugger which will ideally answer the problem in a few seconds.
Win32 specific XS modules rarely define a DllMain, and portable XS modules never will, but all DLLs have a DllMain placed by the C compiler, usually to initialize various clib/crt features or hook OS thread creation for TLS reasons.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
Outside of code tags, you may need to use entities for some characters:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||