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 18.104.22.1682, released in November 2018.
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.
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:
Third, you can receive an email by setting up Email notifications. In the user interface, go to Configure -> Notification Settings
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.
- review the text of the event, if necessary, with your system administrator
- fix the problem
- 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
- delete the listing in the RPM database by selecting one or more events in the Critical Events dialog, then selecting Delete
- 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.
- 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]
- 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" 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  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.
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.
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.
- time to schedule database maintenance, see https://www.brooksnet.com/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 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 email@example.com for assistance
- Expired trial, This RPM Remote Print Manager® trial has expired; please contact firstname.lastname@example.org 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.
- 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.
- client host <> sending wrong input to LPD port: <>
- not a LPD valid print command
- no queue specified, not a valid LPD queue state command
- Received a status request for 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:
- sending HTTP requests as if the LPD port was a web server
- sending JetDirect print requests to the LPD port
- 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 SQL, followed by SQL code
- Query exception message, followed by an exception message
These messages come from the database. Your best course of 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 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.
- 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.