About Critical Events

Sat, 12/08/2018 - 11:40 By Dave Brooks

We support several types of logging in RPM Remote Print Manager® ("RPM"). We have employed logging since we introduced the product in 1995, and we often review RPM logs that users send us to see what has happened. However, it became clear that in some instances, we need to be proactive to alert the user to fix a problem before they talk with us about it.

Sometimes, it's not enough to merely log that something happened.

To address this, we introduced critical events in version 6.2.0.492, released in November 2018.

Intended audience

The intended audience for logging is us, the Brooks staff. Therefore, we designed the logs to highlight what RPM is doing on your system.

The intended audience for critical events is you and your system admin team to understand what on your system is causing errors.

Critical events are a call to action

Let's use a typical example, the LPD error, to describe how to address a critical event. RPM generates a critical event when a client program sends the wrong input.

Wrong LPD input

Note that the client host sent invalid input to the LPD port in RPM. The incorrect input was:

NULL "lp00" NEWLINE

So, what's wrong with this? The answer is, where the NULL character (\x0) appears is supposed to be a binary byte from 1 through 5. However, NULL is not an LPD command, so this input is invalid.

In this critical event, we obscured the originating host's name or IP address for illustration. Normally you would act on that information to see what software may be running on that system.

As with all critical events, RPM is reporting that something happened that the admin team needs to look into, not that RPM failed.

How to view critical events

First, if a critical event occurs while running the user interface, it will display the critical event window.

Second, you can use the View menu to select Critical Events as shown below:

View menu

Third, you can receive an email by setting up Email notifications. In the user interface, go to Configure -> Notification Settings

email notifications

Unfortunately, we can't tell you how to set this up as it depends entirely on your mail server. However, your system administrator should be able to help.

Manage your critical events

Our recommendation for managing critical events is as follows.

  1. review the text of the event, if necessary, with your system administrator
  2. fix the problem
  3. you may find it helpful to keep a log document for your system with critical events, so you can more easily see if it's a recurring problem
  4. delete the listing in the RPM database by selecting one or more events in the Critical Events dialog, then selecting Delete
  5. if critical events continue to appear, then you have not fixed the problem

Listing of critical events

User login attempt:

RPM supports using local credentials to access shared devices and printers or run interactive programs. Each action or device has an optional set of user credentials. Note that this includes the password, which RPM stores encrypted in the database.

This message means that the user credentials have been updated or removed outside RPM. The course of action is to refresh the credentials using the user interface, either update the password or replace the user and password.

AppSocket:

  • Protocol configuration, no configuration found for port x
  • Appsocket protocol, Unable to find emulation file [] for []
  • Printer emulation missing, no emulation found for bidirectional port x
  • Printer emulation error, printer emulation is invalid: [path]

In all these instances, run the port configuration for that specific AppSocket port and fix the problem(s) identified.

In the User Interface, go to Configure -> Port Settings and click on the port number identified in the email. [/appsocket-configure]

Database:

  • DML exception SQL, followed by SQL code
  • DML exception message, followed by Firebird error text
  • Query exception SQL, followed by SQL code
  • Query exception message, followed by Firebird error text
  • "DbPipe" or "DbShm," exception text from the database

Unlike what we said above, this message means you probably have to contact our support staff for assistance in resolving the problem. However, it's unlikely to occur.

Device tester:

  • "Device tester" plus any of some possible messages or exceptions

Please feel free to contact the support staff about this message, but it may be something you can interpret on your own, like "device doesn't exist" or "no access."

Drive alarm:

  • "Drive [] event", red zone message, or "low on space"

In some instances, RPM attempts to determine if there is sufficient disk space on a drive to write a file. As a result, RPM may register a concern.

If you feel this message is in error, most operations allow you to turn off the setting for checking disk space.

Email alert:

RPM attempts to send an email when it encounters a critical event. If there are no email alert settings, RPM generates a message in the event log.

transform error:

There are two likely reasons to get the "transform error" category:

  1. The filter transform attempts to run a program to convert your data (such as PCL to PDF or perhaps GhostScript).

    If this fails, RPM generates a critical event with the text of the error message. Typically you would resolve this by checking the setup for your transform. Brooks support would rarely know the requirements of the program you are using unless it's one of the programs mentioned above.

  2. If RPM is executing a job, and the transforms for this queue error when created, they will also generate a "transform error" critical event.

database maintenance:

This message is not an error, per se. Every 100,000 jobs, RPM produces this message to remind you to perform database maintenance. We provided a web page to assist you.

License error:

  • License read error, RPM encountered an error reading one of the embedded licenses
  • License error, RPM gives a status on each of the component licenses
  • The RPM trial license is expired, please contact +1 208-523-6970 or sales@brooksnet.com for assistance
  • Expired trial, This RPM Remote Print Manager® trial has expired; please contact sales@brooksnet.com for help
  • Product says 'X,' license says 'Y'
  • the license itself may generate an error

For the trial license error, please contact us as shown to purchase a license or request a trial extension. For the expired trial, we offer the same advice.

In any other situation, don't hesitate to contact support for assistance.

LPD:

  • attempt to create queue <> from IP address <> allowed by policy

A remote print client at the address shown sent a queue-related request for a named queue not already created. Whether or not RPM will create this queue depends on the policy selected in the LPD port settings.

If you feel this is in error, please contact the administrator for the host identified in the message.

lpd-error:

  • client host <> sending wrong input to LPD port: <>
  • not an LPD valid print command
  • no queue specified, not a valid LPD queue state command
  • Received a status request for a non-existent queue <>
  • not a valid LPD remove command
  • Attempt to create queue [] from IP address [] blocked by policy

All the above are errors where a program sent invalid input to RPM. Typical examples include:

  1. sending HTTP requests as if the LPD port was a web server
  2. sending JetDirect print requests to the LPD port
  3. sending raw print data to the LPD port, not realizing that LPD is a print protocol; you can use the telnet port in RPM to receive raw print data

PCL to PDF:

  • PCL file is empty for job=[] name=[] queue=[]
  • job id=[] name=[] queue=[] result=[]
    • the text with "result" should be the error text provided by the PCL to PDF conversion program
  • no results, program status=[] code=[] job=[]
    • the PCL to PDF conversion program produced an empty PDF file

The first message is a symptom of another problem. Somewhere we've ended up with an empty PCL file. This error is unlikely but there's a reason for it.

The second message is about a diagnostic issued by the PCL to PDF program. We have to deal with whatever it is.

The third result is an empty PDF file, which is unlikely since you'd expect the program to produce an error message which would bring the second case.

These results should be self-explanatory, even if the reason is unclear.

status email exception:

  • exception sending email to <> : <>

RPM's email action problem encountered an error while sending your email. Fixing something in the configuration will likely take care of this problem.

Query exception:

  • Query exception SQL, followed by SQL code
  • Query exception message, followed by an exception message

These messages come from the database. Your best action is to contact support with these messages and arrange for someone to connect to your computer or advise you on how to remediate the problem.

Filter action failure:

  • program <> returned <> 
  • Exception running job=<> jobname=<> queue=<> <text>

In the filter action, RPM runs a program on your behalf and collects the result.

In the first error, the program returned an error code. You control whether RPM pays attention to the error code in the filter action setup.

In the second error, either an error occurred trying to run the program, or the program itself produced output on stderr. These are both things best resolved by your admin staff.

File errors:

  • File open
  • File read
  • File write

If RPM experiences any of these errors doing file operations, it will issue an error with some explanatory text. It's a near certainty that your admin staff can resolve these errors better than we can.

Spool mgr:

  • Failed to create directory [] for [] : []
  • path [] for [] is not a directory : []
  • unable to create file [] in folder [] for [] : []

The first two errors have to do with creating a directory or selecting a file path that is supposed to be a directory but isn't.

Often file permissions are a problem here. If the service is creating the file and you don't have permission, then you might need to add user login credentials to this action.