Event Log and Error Messages

PerlEx records runtime information in two places – to the Windows Event log, and to the file PerlEx-Err-ClassAAAA-NNN.log, which is located in the Perl\bin directory. When PerlEx encounters an error or other noteworthy event, an entry is written in the Windows NT Event log file (please refer to your Windows NT/2000 documentation for information regarding the Windows NT/2000 Event log). This entry will only indicate that an error has occurred. To find more detailed information regarding what actually happened, it may be helpful to look at the PerlEx log files. The verbosity of the information written to the PerlEx log files is set through the Trace Registry entry.

PerlEx log file names are of the form PerlEx-Err-ClassAAAA-NNN.log, where NNN is the interpreter number and ClassAAA is the class name associated with that interpreter. Log files for interpreters in the Default Interpreter Class are of the form PerlEx-Err-NNN.log. These log files may be found in the location identified by the LogPath registry entry, or if that is not set, in the same directory as PerlEx.dll.

Each interpreter is assigned a unique number when it is created. These numbers begin at 0, and are numbered sequentially across all Interpreter Classes.

All messages sent to PerlEx log files have the form:

*** <script name> log message at: YYYY/MM/DD/HH:MM:SS

<script name> is present only if the script generating the message is not a precompiler script.

Event Log Messages

PerlEx.dll attached by process; ID: <number>

<number> is the process ID of the application that loaded or unloaded PerlEx.

Event Log Warnings

Script error(s) from PerlEx.dll logged in: <path>/PerlEx-Err-ClassAAAA-NNN.log

Anything written to STDERR will be logged in the file Perl\bin\PerlEx-Err-ClassAAAA-NNN.log.

Event Log Errors

Problem: PerlEx.dll was unable to open PerlEx-Err-ClassAAAA-NNN.log

Cause: The file PerlEx-Err-ClassAAAA-NNN.log is missing or open by another application.

Problem: PerlEx.dll was unable to load <path>/<filename>.dll

or

Problem: HTTP/1.0 500 Server Error (A dynamic link library (DLL) initialization routine failed.)

Cause: A DLL file is either missing, or it resides in an incorrect directory or in a directory which is not mentioned in your PATH environment variable.

Problem: PerlEx: Exception during script initialization.

Cause: Perl was unable to evaluate your script. This message is reported in the Event log.

Problem: PerlEx: Exception during execution of script '<script name>'

Cause: Perl was unable to execute your script. This message is reported in the Event log.

Problem: PerlWSEX.dll was unable to load <path>/PerlWSEX.dll

Cause: The PerlWSEX.dll is missing or the path to it is incorrect.

Problem: PerlISEX.dll was unable to load <path>/PerlISEX.dll

Cause: The PerlISEX.dll is missing or the path to it is incorrect.

Problem: PerlNSEX.dll was unable to load <path>/PerlNSEx.dll

Cause: The PerlNSEX.dll is missing or the path to it is incorrect.

Problem: PerlEx.dll was unable to start sockets

Cause: The Windows Sockets DLL was unable to start. There are several possible causes for this: the underlying network subsystem is not ready for communication, your Windows Sockets DLL version is incorrect, Windows Sockets can not support any more tasks, or a blocking sockets operation is in progress.

Perl program errors

Perl program errors are written to the file PerlEx-Err-ClassAAAA-NNN.log. Anything written to STDERR will be logged to this file. The Trace registry entry sets the amount of information recorded.

Any value for the Trace registry entry will give the following messages:

The following messages occur when PerlEx was unable to get a free interpreter, or the Perl program was not precompiled:

If you set Trace to 1, then PerlEx will add the following messages, should they occur:

Set the Trace registry entry to 4, and the following messages will be added, should they occur:

The following messages occur when PerlEx was either unable to get a free interpreter or the Perl program was not precompiled: