This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Where can I look for an answer to a problem with Cygwin's Perl‏?


I have a problem with Cygwin's Perl.  If a process started by Perl
(system(), `` (backticks) ) crashes, the system debugger never getsww
called so I can't get a dump.

I have submitted the problem (see
below) to this list but got no responses.  Can anyone suggest somewhere
else I might look for an answer?  Googling around the web, stackoverflow
 uncovered nothing.

Is there possibly some Cygwin configuration or installation options that might affect this issue?

Thanks in advance
Cheers,

Jim Cant


++++ Original Posting ++++
If a program started by Cygwin's Perl using backticks
fails do to a divide-by-zero, the Windos system debugger is not called;
it is called if another Perl (ActiveState) is used.


I have Perl  scripts that launch arbitrary processes
using backticks.
Occasionally, a crash will occur (zero divide, for example) and  I need
to
get a core dump for analysis when that happens.  These scripts run
unattended and a core dump needs to be generated automatically.

I have registered a perl script as crash handler with the operating
system (this in Windows 7 – I knew you wanted to know) which gets called
 with the PID of the crash; the handler attaches Microsoft’s ‘cdb’
debugger which creates the needed dump. My test ‘crasher’ program is a
C++ executable that does a divide-by-zero (Crasher.exe).



The Problem: When I use Cygwin’s Perl implementation, the program crash
never triggers the crash handler. My suspicion is that Perl is catching
the problem and silently dropping it. All works fine with a Perl from
ActiveState.



The Question: How can I get Cygwin’s Perl to get out of the way and let the error propagate all the way back to the system.
We use Cygwin's Perl on a lot of testing machines and are reluctant to change to another perl implementation.


Here’s an example that uses ActiveState perl that triggers the crash handler and produces a core dump

 C:> \tools\Perl\bin\perl.exe -e "`Crasher.exe`;"


But using Cygwin does not


C:> \cygwin\bin\perl.exe -e "`Crasher.exe`;"



Also, if I start Crasher.exe directly in Cygwin’s shell (rather than a Windows console window), the crash
handler is not called; neither is it called if started via backticks using
either Cygwin or ActriveState Perl in the Cygwin shell.



I thank you in advance for any help or suggestions!. 		 	   		  

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]