In addition to the logging of Event Log entries, Paul Bunyan will also notify you of unusual occurrences through the generation of Paul Bunyan log messages. These messages are always of type INTERNAL. The fields of the notification will vary depending on the information available when the message is generated. For all internal log messages generated by Paul Bunyan, the line number field will indicate an error code documented below. Internal messages are created with a blank MessageKey and so are visible to everyone.
Internal notifications fall into several general categories, listed below.
Error range | Category | Description |
1000 – 1099 | Message server | Miscellaneous/non-specific errors in the message server |
1100 – 1199 | Socket | Reporting of socket errors encountered in the message server while downloading to viewers or on either side of a forwarding conversation. |
1200 – 1299 | Message Handlers | Message server events specific to configured message handlers |
1300 – 1399 | Forwarding | Message server events specific to configured forwarders |
2000 – 3999 | API | Events logged by generators using the various APIs |
4000 – 4999 | Server Control | Notifications from the message server control utility. |
The messages that may be logged as internal notifications are listed next. In some cases the messages will have detailed information inserted into them and this is indicated in the format <placeholder>. When you see <Windows error string> below, this indicates a string obtained from the operating system by calling the functions GetLastError and FormatMessage in succession. Occurrences of <socket error number> refer to an error code defined in the header file winsock2.h or in some cases Paul Bunyan specific socket error codes.
Socket notifications (1100 – 1199) are generated any time there is a problem with a socket connection in the message server. If the connection is for the purpose of downloading messages to a message viewer, the viewer will notify the user that the connection has failed. If the connection is forwarding messages, the configured end of the forwarding conversation will attempt to re-establish the connection or will log an error indicating that the forwarding has failed. Thus notifications in this range usually just attempt to give more contextual information about a situation reported elsewhere. The context field for notifications in this range will contain information about the task. Notifications from the configured end of a forwarding relationship will contain the forwarder name. If the connection involved is the passive side of a forwarding relationship, the context field will contain the string "Forwarder". If the connection is downloading to a viewer, the context will be "Message viewer". In some cases the error occurs too early to tell whether the connection is forwarding or downloading to a viewer, and so the context field will be blank.
Message handler (1200 – 1299) and forwarder (1300 – 1399) notifications relate to entries specified in a message server's configuration file. These messages will contain the name of the message handler or forwarder in the context field. Message handlers and forwarders can be configured with a retry schedule to help insure connectivity. If a situation occurs where the retry schedule will not be honored or the end of the retry schedule has been reached, the notification's message text will be prefixed with the string "NORETRY:". Message handler notifications prefixed with "INFO:" and forwarder-specific socket notifications can be suppressed by configuring the retry schedule.
Code #: | 1000 |
Severity: | Error |
Message text: Semaphore failure: <Windows error>
Remarks: This message indicates that an error occurred executing a library function due to a failure of the operating system semaphore implementation or our use of it. If the error occurred during a logging call, the message was lost. If the error occurred during a call to PBSetComponent or PBSetContext the component or context string members will be set to empty strings. This could occur if resources are extremely taxed, though we’ve never seen it happen. It could also be a bug in our code, in which case we’d like to know about it immediately. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any errors while trying to execute library functions.
Code #: | 1001 |
Severity: | Error |
Message text: Semaphore failure (begin): <Windows error>
Remarks: This message indicates that more than one error occurred executing a library function due to a failure of the operating system semaphore implementation or our use of it. If an error occurred during a logging call, the message was lost. If an error occurred during a call to PBSetComponent or PBSetContext the component or context string members will be set to empty strings. This could occur if resources are extremely taxed, though we’ve never seen it happen. It could also be a bug in our code, in which case we’d like to know about it immediately. It will always be paired with notification 1002, which will indicate the number of errors. The time stamps of these two messages together indicate the time range when errors occurred. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any errors while trying to execute library functions.
Code #: | 1002 |
Severity: | Error |
Message text: Semaphore failure (end), <number> messages, components, or contexts lost: <Windows error>
Remarks: This message indicates that more than one error occurred executing a library function due to a failure of the operating system semaphore implementation or our use of it. If an error occurred during a logging call, the message was lost. If an error occurred during a call to PBSetComponent or PBSetContext the component or context string members will be set to empty strings. This could occur if resources are extremely taxed, though we’ve never seen it happen. It could also be a bug in our code, in which case we’d like to know about it immediately. It will always be paired with notification 1001. The time stamps of these two messages together indicate the time range when errors occurred. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any errors while trying to execute library functions.
Code #: | 1003 |
Severity: | Error |
Message text: Memory over-run.
Remarks: A message was lost because the IPC buffer was full. Increase registry setting for IPC buffer size. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any errors while trying to execute library functions.
Code #: | 1004 |
Severity: | Error |
Message text: Memory over-run (begin).
Remarks: More than one message was lost because the IPC buffer was full. Increase registry setting for IPC buffer size. This message will always be paired with notification 1005, which gives the number of messages lost. The time stamps of these two messages together indicate the time range when messages were lost. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any errors while trying to execute library functions.
Code #: | 1005 |
Severity: | Error |
Message text: Memory over-run (end), <number> messages lost.
Remarks: More than one message was lost because the IPC buffer was full. Increase registry setting for IPC buffer size. This message will always be paired with notification 1004. The time stamps of these two messages together indicate the time range when messages were lost. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any errors while trying to execute library functions.
Code #: | 1006 |
Severity: | Error |
Message text: Access violation in the library.
Remarks: A generator caused an access violation while executing a library function. This could merely indicate an invalid parameter passed to the function, or it could be symptomatic of a larger problem like random memory corruption. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any errors while trying to execute library functions.
Code #: | 1007 |
Severity: | Error |
Message text: Access violations in the library (begin).
Remarks: More than one access violation occurred while one or more processes were executing library functions. Access violations could merely indicate an invalid parameter passed to a function, or it could be symptomatic of a larger problem like random memory corruption. This message will always be paired with notification 1008, which will indicate the number of access violations. The time stamps of these two messages together indicate the time range when errors occurred. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any while trying to execute library functions.
Code #: | 1008 |
Severity: | Error |
Message text: Access violations in the library (end), %d errors.
Remarks: More than one access violation occurred while one or more processes were executing library functions. Access violations could merely indicate an invalid parameter passed to a function, or it could be symptomatic of a larger problem like random memory corruption. This message will always be paired with notification 1007. The time stamps of these two messages together indicate the time range when errors occurred. This message carries no information about the process that caused the error. A generator can use PBGetFailCount to determine if it has encountered any errors while trying to execute library functions.
Code #: | 1009 |
Severity: | Error |
Message text: The IPC buffer was made smaller while the file contained valid messages. An unknown number of messages were lost.
Remarks: The IPC buffer persists on disk even when no processes are using it. If it becomes necessary to reduce the registry setting for IPC buffer size, any messages existing in the buffer are deleted. To avoid losing messages when decreasing the size, shut down all generators, then shut down the message server before changing the setting.
Code #: | 1010 |
Severity: | Error |
Message text: The IPC buffer contained <number> messages of an unknown format. The messages were discarded.
Remarks: This message may occur if a generator is using a later version of the library than the installed message server. If the generator takes advantage of features that were implemented after the server was released, the server is obviously oblivious to them. Upgrade the server to take advantage of the new features.
Code #: | 1011 |
Severity: | Error |
Message text: The IPC buffer became corrupted and was reset. An unknown number of messages were lost.
Remarks: Since all generators have access to the shared memory, any one of them can accidentally over-write it if he’s accessing a random pointer value. This message could also be indicative of a bad disk.
Code #: | 1012 |
Severity: | Error |
Message text: The IPC buffer became corrupted and was reset. <number> bytes of data were lost.
Remarks: This message could result from the usual sources of random disk corruption, e.g. an EMP in the area or a loose disk cable. It also could result from a generator misbehaving and corrupting his memory space, as with message 1011. Additionally it could result if a generator thread dies at just the wrong time. Each generator as it executes a logging call writes his data to the IPC buffer and updates a counter and check sum to indicate that he’s added a new message. We’ve designed things to be transaction based so that if a logging call fails before completing, it’s just as if the logging call never happened. This is true even if a thread is externally terminated (e.g. because the main thread in the generator process ends) right in the middle of a logging call. Unfortunately the action necessary to complete a transaction is not completely atomic, though it’s darn close. If a thread dies after updating the counter but before updating the check sum, the entire buffer will be corrupted and needs to be tossed.
Code #: | 1013 |
Severity: | Error |
Message text: The message server was unable to allocate memory. Data loss may have occurred.
Remarks: This notification is generated in conjunction with the event log notification 504. See the documentation there for information on how to prevent recurrence of this error on the message server involved. This notification lets all the viewers and message handlers know that they missed some data from that machine.
Code #: | 1014 |
Severity: | Error |
Message text: The cache file could not be read at message server start.
Remarks: Generated in conjunction with event log notifications in the range 300 – 399. Those messages provide detailed information on how to fix the message server involved. This notification lets all the viewers and message handlers know that they missed some data from that machine.
Code #: | 1015 |
Severity: | Error |
Message text: The IPC buffer contained <number> messages with an invalid encryption type. The messages were discarded.
Remarks: This message may occur if a generator is using a later version of the library than the installed message server. If the generator takes advantage of features that were implemented after the server was released, the server is obviously oblivious to them. Upgrade the server to take advantage of the new features.
Code #: | 1016 |
Severity: | Error |
Message text: The IPC buffer was not found and was re-created.
Remarks: When no processes are using the library resources (the message server is not running and no generators have yet called PBInitialize implicitly or explicitly), the IPC buffer resides on disk. It may contain valid log messages waiting to be processed the next time the message server is started. If the first process to initialize the shared resources cannot find the shared file, either because the registry setting for IPC buffer directory has been changed or because someone leaned on the delete key while using Explorer, this message will be generated. It indicates messages may have been lost.
Code #: | 1017 |
Severity: | Error |
Message text: Warning: current conditions are taxing available resources. Messages may be lost if the IPC buffer size is not increased.
Remarks: Generated in conjunction with event log notification 420. See the documentation there. This notification lets the all viewers and message handlers know of a potential problem since it may be volume of messages generated that is the cause.
Code #: | 1018 |
Severity: | Error |
Message text: The message logged at line number <number> contained an invalid message type. The message type was changed to INVALID.
Remarks: This message is logged when an invalid message type is specified on any logging call. Valid message types are pre-defined by the various API’s. A message which specifies an invalid message type will still be logged, but under the type INVALID, and in addition an internal message will be generated to inform of the API misuse. Note that as a safeguard invalid message types cannot be excluded with the API. They can be excluded in the viewer.
Code #: | 1019 |
Severity: | Error |
Message text: The connection missed an unknown number of messages from the message server listed in the machine field. The messages rolled off the server cache while the viewer was not connected.
– or –
The message handler missed an unknown number of messages from the message server listed in the machine field. The messages rolled off the server cache while the message handler was not running.
Remarks: The message server caches messages for download by viewers and delivery to message handlers up to the size specified by the configuration setting "message server average mem." As new messages come in, the oldest messages are rolled off the cache. When a viewer or forwarder connects or a message handler is loaded, he presents a cookie to the message server representing the last message he received. The server responds by locating that message in its cache and sending all subsequent messages to the viewer or message handler, subject to MessageKeys and filters. If the cookie cannot be located in the cache, this message is generated. The most likely cause is simply that too many messages were generated while the viewer or forwarder was disconnected or the message handler was not running. This could also happen if the server’s cache was lost, e.g. due to improper shutdown. Another scenario where this message may be seen is if the server is licensed as a Lite edition and has been rebooted.
The text of this message will differ based on whether it relates to a viewer or message handler. The context field will indicate the name of the connection or message handler involved. Additionally for viewers the file field will indicate the name of the workspace containing the connection. This notification differs from most in that it will be sent only to the viewer or message handler involved and will never be added to the message server cache.
Code #: | 1020 |
Severity: | Error |
Message text: Unable to process a socket connection, message handler, or forwarding request: insufficient memory
Remarks: This message indicates that memory allocation failed in the message server while a viewer or forwarder was attempting to connect to it or a message handler was being loaded. The other side will see the connection fail. See event log notification number 504 for suggestions on how to deal with this error.
Code #: | 1021 |
Severity: | Error |
Message text: Warning: wait object failure: <windows error string>
Remarks: Retry schedules for message handlers and forwarders are implemented using Win32 Wait APIs. The implementation seems to be robust and these errors don't occur, but you never know.
Code #: | 1022 |
Severity: | Error |
Message text: Invalid value specified for configuration entry '<configuration setting name>'. The default value <value> will be used.
Remarks: Under the current configuration scheme, values are validated in the viewer before they are saved and this error should never happen.
Code #: | 1023 |
Severity: | Error |
Message text: Unable to modify new configuration entry '<configuration setting name>': '<windows error string>' The old value will not be replaced.
Remarks: Message generators get their IPC buffer settings from the registry. Message server configuration allows specification of IPC settings in the configuration file. It is the message server's responsibility to transfer the values from the file to the registry. This message will be logged if the value cannot be written to the registry.
Code #: | 1024 |
Severity: | Error |
Message text: Unable to process previous IPC buffer at startup.
Remarks: Message generators get their IPC buffer settings from the registry. Message server configuration allows specification of IPC settings in the configuration file. It is the message server's responsibility to transfer the values from the file to the registry. The buffer is moved in stages. First the new location is written to the registry. Next, when all generators and the message server have stopped, a file is created in the new location, and the registry value for current location is updated. Finally, the message server processes the old file for any remaining data and deletes it. This message will be logged if the old file cannot be opened or interpreted.
Code #: | 1025 |
Severity: | Warning |
Message text: The uploaded configuration uses Enterprise features but this server is not enterprise licensed.
Remarks: Since configuration can be done remotely, it is impossible to determine the licensing level of the server at the time a configuration is created. If a configuration specifying message handlers and forwarders is given to a server that is not licensed as an Enterprise edition, the message handlers and forwarders will not be started. This notification is logged at the time of upload, not every time the server starts.
Code #: | 1026 |
Severity: | Warning |
Message text: Unable to reboot operating system: <windows error string>
Remarks: Indicates a configuration was uploaded instructing the message server to reboot the system, but the server was unable to create the helper process to reboot the system. The configuration changes will not take effect until the system is manually restarted.
Code #: | 1100 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket error, category code <internal error number>, socket error <socket error number>.
Remarks: This message is a catch all for unknown socket errors. The error numbers are explained in more detail in the socket error codes section. Normally one of the more specific categories listed below will be logged.
Code #: | 1101 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket creation error <socket error number>.
Remarks: A socket could not be created, usually indicating a network failure or resource shortage.
Code #: | 1102 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket connect error <socket error number>.
Remarks: A socket connection could not be established. Common error numbers and causes are listed here:
10022: The IP address is invalid or unreachable.
10060: The target machine is not running.
10061: The message server is not running on the target machine.
See also socket error codes.
Code #: | 1103 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket receive error <socket error number>.
Remarks: Indicates an error while receiving data over a socket. Other than catastrophic network failure, this should never happen.
Code #: | 1104 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket send error <socket error number>.
Remarks: Indicates an error while sending data over a socket. Normally the connection will be reset and this will not result in the loss of log messages. Often this simply indicates that the other side has closed the connection while a send is in progress and is not an error (error codes 10053, 10054). Under extreme conditions, send failures will occur with the error code 10055. That error indicates that the machine is overloaded and memory cannot be allocated for the send. The best resolution for this problem is to reduce the traffic on the machine, but if that is impractical, you can try reducing the configuration setting for "Max TCP/IP stream size." The message server will send smaller packets and with luck the machine will be able to find enough RAM for the send to succeed.
Code #: | 1105 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket close error <socket error number>.
Remarks: When one side of a socket connection closes, the other receives a notification. This is a totally normal occurrence and will not be logged unless an unrecognized error code is received. Usually the side of the connection that initiates the close has more contextual information about what is going on.
Code #: | 1106 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket accept error <socket error number>.
Remarks: Indicates an unusual failure of the socket subsystem, such as a network overload or memory shortage.
Code #: | 1107 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket listen error <socket error number>.
Remarks: Most likely indicates a port conflict or invalid IP address. Check the machine's configuration.
Code #: | 1108 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Socket received corrupted data.
Remarks: Indicates that unrecognizable data was received over a socket connection. This could happen is if an application other than Paul Bunyan attempts to connect to it.
Code #: | 1109 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Protocol error.
Remarks: Indicates a bug in Paul Bunyan. If you see this error, please report it to technical support.
Code #: | 1110 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: A Connectivity license is required to carry on this conversation.
Remarks: This notification will be logged if an attempt is made to forward messages from an unlicensed message server to a server that is not Connectivity licensed. Forwarding requires either both sides to be licensed or the configured server to be Connectivity licensed. The retry schedule will not be honored; the operation will not be retried.
Code #: | 1111 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: The target is an invalid version to process the request.
Remarks: This notification is logged if an attempt is made to connect incompatible versions of the Paul Bunyan product. An example would be an attempt to forward messages from a message server with version lower than 1.3.0. Forwarding was not implemented until that version. (Note that minor version upgrades are free and available for download from our web site.) The retry schedule will not be honored; the operation will not be retried.
Code #: | 1112 |
Severity: | Warning |
Context | <forwarder name> or "Message viewer" or "Forwarder" or "" |
Message text: Insufficient memory exists to process the request.
Remarks: Indicates memory allocation failure while processing a socket request. This will result in closing of the connection.
Code #: | 1200 |
Severity: | Error |
Context | <message handler name> |
Message text: The message server could not start configured message handlers. The operating system does not support DCOM.
Remarks: The message server uses the free threading model to invoke message handlers. Windows 95 (TM) does not natively support the free threading model. To configure message handlers on Windows 95, DCOM for Windows 95 is required. This product is freely downloadable from Microsoft's web site.
Code #: | 1201 |
Severity: | Error |
Context | <message handler name> |
Message text: NO RETRY: The message handler could not be loaded. CoInitializeEx failed: <windows error string>
Remarks: The COM library could not be initialized by the message server. The indicated message handler was not started.
Code #: | 1202 |
Severity: | Error |
Context | <message handler name> |
Message text: NO RETRY: The message handler could not be loaded. Unable to open registry key: <windows error string>
Remarks: The message server stores state information about message handlers in the registry. A subkey is created using the message handler name provided at configuration time. If the key cannot be opened, the message handler will not be started.
Code #: | 1203 |
Severity: | Error |
Context | <message handler name> |
Message text: NO RETRY: The message handler could not be loaded. Invalid CLSID specified as object ID: <windows error string>
Remarks: The Object ID value specified in the configuration was formatted as a CLSID but the Win32 API function CLSIDFromString failed on this value. If the Object ID entry begins with a brace ({) it should represent the CLSID of a registered COM server. The indicated message handler was not started.
Code #: | 1204 |
Severity: | Error |
Context | <message handler name> |
Message text: NO RETRY: The message handler could not be loaded. Invalid ProgID specified as object ID:
Remarks: The Object ID value specified in the configuration was not formatted as a CLSID and the Win32 API function CLSIDFromProgID failed on this value. If the Object ID value does not begin with a brace ({) it should represent the ProgID of a registered COM server. The indicated message handler was not started.
Code #: | 1205 |
Severity: | Error |
Context | <message handler name> |
Message text: NO RETRY: The message handler could not be loaded. The end of the retry schedule was reached.
Remarks: Message handlers can be configured so that the message server will repeat attempts to load them if a failure occurs. This is especially useful if the message handler is accessed on a remote machine through DCOM, since that machine may need to be rebooted. This notification will be logged if a message handler fails to load or encounters an error and will no more attempts will be made to load it. This will normally be accompanied by another message giving the reason for the load failure or unload.
Code #: | 1206 |
Severity: | Info |
Context | <message handler name> |
Message text: INFO: message handler load failed. CoCreateInstanceEx failed: <windows error string>
Remarks: The Object ID value was successfully converted but the message handler object could not be created. This notification may be accompanied by an event placed in the system event log by DCOM.
Code #: | 1207 |
Severity: | Info |
Context | <message handler name> |
Message text: INFO: message handler unloaded. OnInitialize error: <windows error string>
Remarks: Any error occurring during execution of any message handler function results in the unloading of that message handler. This notification will be logged if the OnInitialize function returns anything other than S_OK. If the return value is a standard error code from WinError.h it will be converted to the corresponding string. Otherwise the “Windows error string” will give the return value or indicate that an exception was thrown.
Code #: | 1208 |
Severity: | Info |
Context | <message handler name> |
Message text: INFO: message handler unloaded. OnReceive error: <windows error string>
Remarks: Any error occurring during execution of any message handler function results in the unloading of that message handler. This notification will be logged if the OnReceive function returns anything other than S_OK or S_FALSE. It will also be logged if the pusNumLogMessages parameter contains an invalid value on return. Note that zero is an invalid value for the number of log messages processed. Message handlers must continue to distribute log messages or they will be unloaded.
If S_FALSE is returned from OnReceive, the message handler will be unloaded but no notification will be logged unless the end of the retry schedule has been reached.
If the return value is a standard error code from WinError.h it will be converted to the corresponding string. Otherwise the “Windows error string” will give the return value or indicate that an exception was thrown.
Code #: | 1209 |
Severity: | Info |
Context | <message handler name> |
Message text: INFO: message handler terminated abnormally. Release threw an exception.
Remarks: This notification will be logged if an error occurs while releasing the message handler interface.
Code #: | 1210 |
Severity: | Info |
Context | <message handler name> |
Message text: INFO: message handler terminated abnormally. CoUninitialize threw an exception.
Remarks: This notification will be logged if an error occurs while shutting down COM on the thread responsible for communicating with the indicated message handler.
Code #: | 1211 |
Severity: | Warning |
Context | <message handler name> |
Message text: Warning: the message server found an invalid message handler cookie in the registry: <windows error string>
Remarks: The message server uses the registry to keep track of which messages have been delivered to each message handler. The cookie is read each time the message server is started. This notification is logged if the value cannot be interpreted. In that case the cookie assumes the logical value “End” meaning the message handler will not receive any messages in the message server’s cache.
Code #: | 1212 |
Severity: | Warning |
Context | <message handler name> |
Message text: Warning: the message handler terminated improperly (%d).
Remarks: The message server maintains a status code for each message handler it loads. As each message server is first loaded, the status from the last shutdown is examined. The code reflects the last activity executed by the message server on behalf of the message handler before shutdown. Some potential values are listed below:
0x0Unknown error
0x2The message server did not clean up after the message handler
0x4The message handler terminated abnormally during the call to CoCreateInstanceEx
0x8The message hanlder terminated abnormally during the call to OnInitialize
0x10The message handler terminated abnormally during a call to OnReceive
0x20The message handler terminated abnormally during a call to Release
Code #: | 1213 |
Severity: | Warning |
Context | <message handler name> |
Message text: Warning: the message server was unable to save a message handler cookie to the registry: <windows error string>
Remarks: When the message server unloads a message handler it saves a cookie representing the last log message given to the message handler so the message handler can pick up where it left off at next restart. This notification is logged when the message server cannot write this information to the registry. The message handler will not be unloaded. This could result in the message handler receiving repeated messages the next time it is started, or if no previous value existed in the registry, in the message handler not receiving any cached messages. To avoid proliferation, this notification will only be logged once per start of a message handler.
Code #: | 1214 |
Severity: | Warning |
Context | <message handler name> |
Message text: Warning: the message server was unable to save a message handler state to the registry: <windows error string>
Remarks: Indicates a failure to save status information to the registry. The most likely cause for this error is that the sub-key identifying the message handler was deleted while the message server was running. To avoid proliferation, this notification will only be logged once per start of a message handler.
Code #: | 1215 |
Severity: | Warning |
Context | <message handler name> |
Message text: Warning: the message server encountered an error while trying to read a message handler cookie from the registry: <windows error string>
Remarks: The message server uses the registry to keep track of which messages have been delivered to each message handler. The cookie is read each time the message server is started. This notification is logged if the value cannot be read. In that case the cookie assumes the logical value “End” meaning the message handler will not receive any messages in the message server’s cache.
Code #: | 1300 |
Severity: | Error |
Context | <forwarder name> |
Message text: NO RETRY: The forwarder could not be reached. Unable to open registry key: <windows error string>
Remarks: The message server stores state information about forwarders in the registry. A subkey is created using the forwarder name provided at configuration time. If the key cannot be opened, the forwarder will not be started.
Code #: | 1301 |
Severity: | Error |
Context | <forwarder name> |
Message text: NO RETRY: The forwarder could not be reached. The end of the retry schedule was reached.
Remarks: Forwarders can be configured so that the message server will repeat attempts to connect to them if a failure occurs (e.g. the forwarder's machine is rebooted). This notification will be logged if a forwarder cannot be connected to or disconnects and no further attempts will be made to connect. This will normally be accompanied by a socket notification (1200 – 1299) giving the reason for the failure.
Code #: | 1302 |
Severity: | Warning |
Context | <forwarder name> |
Message text: Warning: the message server found an invalid forwarder cookie in the registry: <windows error string>
Remarks: The message server uses the registry to keep track of which messages have been receive from each forwarder. The cookie is read each time a connection to the forwarder is established. This notification is logged if the value cannot be interpreted. In that case the cookie assumes the logical value “End” meaning the forwarder will not send any messages in its message server’s cache.
Code #: | 1303 |
Severity: | Warning |
Context | <forwarder name> |
Message text: Warning: the message server was unable to save a forwarder cookie to the registry: <windows error string>
Remarks: When the message server disconnects from a forwarder (or vice verse) it saves a cookie representing the last log message received from the forwarder so the forwarder can pick up where it left off at next restart. This notification is logged when the message server cannot write this information to the registry. This could result in the forwarder sending repeated messages the next time it is connected, or if no previous value existed in the registry, in the forwarder not sending any cached messages.
Code #: | 1304 |
Severity: | Warning |
Context | <forwarder name> |
Message text: Warning: the message server encountered an error while trying to read a forwarder cookie from the registry: <windows error string>
Remarks: The message server uses the registry to keep track of which messages have been received from each forwarder. The cookie is read each time a connection to the forwarder is established. This notification is logged if the value cannot be read. In that case the cookie assumes the logical value “End” meaning the forwarder will not send any messages in its message server’s cache.
Code #: | 1305 |
Severity: | Warning |
Context | <forwarder name> |
Message text: The forwarder did not deliver an unknown number of messages from its server. The messages rolled off the server cache while the forwarder was not connected.
Remarks: The message server caches messages for download by other message servers up to the size specified by the configuration setting "message server average mem." As new messages come in, the oldest messages are rolled off the cache. When a message server connects to a forwarder, he presents a cookie representing the last message he received. The forwarding server responds by locating that message in its cache and sending all subsequent messages, subject to MessageKeys and filters. If the cookie cannot be located in the cache, this message is generated. The most likely cause is simply that too many messages were generated while the message server was disconnected. This could also happen if the server’s cache was lost, e.g. due to improper shutdown. Another scenario where this message may be seen is if the forwarding server is licensed as a Lite edition and has been rebooted.
Code #: | 2000 |
Severity: | Warning |
Message text: Unknown argument(s) passed to PBLog.exe.
Remarks: The command line interface accepts optional parameters specified by preceding them with a hyphen or slash. If parameters are specified that can not be interpreted, the message is still logged, but it may not come out as expected.
Code #: | 2008 |
Severity: | Error |
Message text: Access violation in PBSetComponent, pcp <ptr address>, pszName / ulNameStringId <ptr address/string id>, pszKey <ptr address>.
Remarks: This could result from passing a bad argument to the function or it could be indicative of general memory corruption.
Code #: | 2009 |
Severity: | Error |
Message text: Access violation in PBSetContext, pcx <ptr address>, pszName / ulNameStringId <ptr address/string id>.
Remarks: This could result from passing a bad argument to the function or it could be indicative of general memory corruption.
Code #: | 2010 |
Severity: | Error |
Message text: Request for thread default component or context was not satisfied. Too many concurrent threads.
Remarks: For a given process, thread defaults can be set only for a fixed number of threads at one time. The fixed number applies to the total number of threads that have a default component, a default context, or both. If an attempt is made to specify too many thread defaults simultaneously, an additional internal log message will be generated, and the last thread to attempt to set a default will have no default.
Code #: | 2011 |
Severity: | Error |
Message text: Request for thread default component or context was not satisfied. DuplicateHandle failed.
Remarks: This could only happen if the machine is severely overloaded or someone is allocating handles at a furious rate without closing them.
Code #: | 2012 |
Severity: | Error |
Message text: Invalid option <number> specified to PBSetDefaultComponent / PBSetDefaultContext.
Remarks: The only valid values for the iOption argument to these functions are PB_MODULE_DEFAULT or PB_THREAD_DEFAULT. Any other value will cause the call to fail and this message to be generated.
Code #: | 2013 |
Severity: | Error |
Message text: PBSetComponent / PBSetContext called with target pointer NULL.
Remarks: Invalid parameter.
Code #: | 3003 |
Severity: | Error |
Message text: Unable to allocate memory for Module property.
Remarks: Memory allocation failure in PBCOM.DLL.
Code #: | 3004 |
Severity: | Error |
Message text: Unable to allocate memory for File property.
Remarks: Memory allocation failure in PBCOM.DLL.
Code #: | 3005 |
Severity: | Error |
Message text: Unable to allocate memory for scope logger string when entering scope.
Remarks: Memory allocation failure in PBCOM.DLL.
Code #: | 3006 |
Severity: | Error |
Message text: Unable to allocate memory for scope logger message string when leaving scope.
Remarks: Memory allocation failure in PBCOM.DLL.
Code #: | 3007 |
Severity: | Error |
Message text: PBScopeLogger Set method called twice.
Remarks: Improper use of API.
Code #: | 3008 |
Severity: | Error |
Message text: PBScopeLogger Set method called with uninitialized interface. You must create the PBLogger before giving it to a scope logger.
Remarks: Improper use of API.
Code #: | 3009 |
Severity: | Error |
Message text: PBScopeLogger Set method called with invalid interface. This method expects a PBLogger object.
Remarks: Improper use of API.
Code #: | 3010 |
Severity: | Error |
Message text: PBScopeLogger Set method never called.
Remarks: Improper use of API.
Code #: | 4000 |
Severity: | Error |
Message text: Unable to reboot machine: <windows error string>
Remarks: When a configuration is uploaded to a message server with instruction to reboot the machine, it starts the server control utility to enact the reboot. If the server control utility is unable to reboot the machine, it will log this error. This could occur because of a system error, but more commonly reboot fails because it was cancelled by a running application. The most common example of this is an editor which will show a message box asking "save changes, yes, no cancel." If the user chooses "cancel," the reboot will not occur. On Windows 95/98, this message will be logged with the insertion string "Incorrect function" in that scenario. On Windows NT, the calling application is not informed in this case, so no message will be logged. In any case, the configuration changes will not take effect until the next reboot.
Code #: | 4001 |
Severity: | Error |
Message text: Received invalid command line: <command line string>.
Remarks: The message server control utility runs as a user interface application on Windows 95/98. It is also used on both NT and 9x to restart the message server or reboot the machine when a configuration is uploaded. In the latter case, command line parameters are used to specify the action to carry out. This message should never be seen unless a user attempts to start the utility without using the start menu shortcut.
Code #: | 4002 |
Severity: | Error |
Message text: Unable to start message server: <windows error string>
Remarks: Logged in conjunction with event log notification 407. See that documentation for more information.