Now this maybe a Windows networking problem rather than a perl problem, but it's only when running perl programs that I see the error…

I have perl installed on a Windows network share, so that all the staff in the company can run perl programs without having to install perl on each PC. Mostly this works fine, but sometimes programs fail to start up. From the error message, it looks like there is a problem loading a DLL needed by a perl module. When I try again to run the program, it usually (maybe always) manages to load that module, but often then fails to load a different module. If I keep trying, eventually the program successfully runs. After that, the program will run every time. Until the next time it goes wrong, days or weeks later.

Here is a typical session log:

>\\puma\perl\bin\perl -w TrainCheck.pm Can't load '//puma/perl/site/lib/auto/Tk/Event/Event.dll' for module T +k::Event: load_file:Error performing inpage operation at //puma/perl/ +lib/XSLoader.pm line 68. at //puma/perl/site/lib/Tk/Event.pm line 10 Compilation failed in require at //puma/perl/site/lib/Tk.pm line 13. BEGIN failed--compilation aborted at //puma/perl/site/lib/Tk.pm line 1 +3. Compilation failed in require at TrainCheck.pm line 11. BEGIN failed--compilation aborted at TrainCheck.pm line 11. >Exit code: 9 >\\puma\perl\bin\perl -w TrainCheck.pm Can't load '//puma/perl/lib/auto/Encode/Encode.dll' for module Encode: + load_file:Error performing inpage operation at //puma/perl/lib/XSLoa +der.pm line 68. at //puma/perl/lib/Encode.pm line 9 Compilation failed in require at //puma/perl/site/lib/Tk.pm line 21. BEGIN failed--compilation aborted at //puma/perl/site/lib/Tk.pm line 2 +1. Compilation failed in require at TrainCheck.pm line 11. BEGIN failed--compilation aborted at TrainCheck.pm line 11. >Exit code: 9 >\\puma\perl\bin\perl -w TrainCheck.pm Can't load '//puma/perl/site/lib/auto/Tk/Tk.dll' for module Tk: load_f +ile:Error performing inpage operation at //puma/perl/lib/DynaLoader.p +m line 230. at TrainCheck.pm line 11 Compilation failed in require at TrainCheck.pm line 11. BEGIN failed--compilation aborted at TrainCheck.pm line 11. >Exit code: 2 >\\puma\perl\bin\perl -w TrainCheck.pm getting page 'http://www.livedepartureboards.co.uk/ldb/summary.aspx?T= +LPY&R=0'...

The last run is the one that works.

I have wireshark logs taken during the above operation, in case anyone can suggest what I might look for.

Could there be something about perl’s DLL loading code that makes it more susceptible to problems with Windows file sharing?

Can anyone enlighten me as to what “Error performing inpage operation” might mean in the context of loading a DLL over the network?

Thanks!

--

"Any sufficiently analyzed magic is indistinguishable from science" - Agatha Heterodyne


In reply to Intermittent startup problems in Windows: “Error performing inpage operation” when loading DLLs by mykl

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • 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:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, 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, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.