> On Feb 15, 2015, at 06:59, Michael Lackhoff <mich...@lackhoff.de> wrote:
> 
> When it comes to the dependency mentioned
> in the Subject perl crashes several times during dmake test. It is not
> just a simple test failure but a Windows dialog box appears, saying that
> perl.exe has crashed.

Hello, Michael.

In these cases I usually use something like Devel::Trace to find out which 
line(s) of Perl were executing before the dialog pops up.  Output will be super 
verbose, but it's the last ten lines (or so) that really matter.

While it's possible to turn on crash dumps and examine them in a debugger, I've 
found this to be generally unhelpful on Windows.  The same goes for Windows 
system call traces.  There's a tool for that, but Perl tends to crash in its 
own code.

Please be sure you're using the latest available versions of POE, 
POE::Component::Resolver, and POE::Component::Client::Keepalive.  The PPM build 
system is often stuck on some earlier version.

It feels like the most problematic part of POE::Component::Client::Keepalive's 
stack would be POE::Component::Resolver.  It's all "pure Perl", but the 
resolver uses POE::Wheel::Run to move blocking DNS calls into subprocesses.

POE::Wheel::Run uses Windows-specific modules to avoid problems with fork().  
Many of these modules are bundled with Perl, but maybe PPM and/or CPAN contain 
newer versions.  As a general recommendation, I suppose it wouldn't hurt to 
make sure these are up to date: Win32API::File, Win32::Console, Win32::Process, 
Win32::Job, and Win32.  There may be unmet minimum version requirements for 
your particular setup.

If you get Devel::Trace working, sending me the last output before the popup 
might help.

-- 
Rocco Caputo <rcap...@pobox.com>

Reply via email to