Commander or Integration Platform and Print Scheduler Service Intermittently fails with Errors
Symptom
Under certain scenarios such as heavy system load and the starting/restarting of BarTender engines, Commander or Integration and Print Scheduler Service can fail causing the BarTender engines not to start. You will see the following error messages.
Commander and BarTender error messages
- Commander encountered an error while trying to launch BarTender. Operation: CoUnmarshalInterface. System error code: -2147024360. Waiting for a process to open the other end of the pipe.
- 3636 Error Miscellaneous OK BarTender could not start in automation mode. Error code: 2.
*BarTender/Commander logs can be enabled under administer->log setup in their respective applications.
Print Scheduler Service error messages
- The BarTender engine could not be started. Possible reasons are: 1. BarTender is not properly installed. 2. BarTender is not properly registered on the computer. 3. There are too many process instances of BarTender running. Stop a few bartend.exe instances and try again. Also see SDK Engine.Start method documentation for information about how to allow more BarTender processes to run on your computer by increasing your "non-interactive" shared desktop heap. 4. The user account does not have permission to run BarTender. Details:
- Error number: 12, Reason Code: FailedStart: %s
- The user account does not have permission to run BarTender. Error number: 12 ::CoUnmarshalInterface failed: 0x80070218
*The Print Scheduler Service log is located in C:\ProgramData\Seagull\Services\Logging\PrintScheduler.Service.txt.
Environment
This issue mainly affects the following environments.
- BarTender 2016 and previous versions
- Commander or Integration Platform and Print Scheduler Service
Solution
These errors and symptoms indicate BarTender was having trouble opening a connection and communicating with Commander or Integration and Print Scheduler Service. It is possible that BarTender is taking too long to initialize and timing out.
BarTender v10.1 and previous
- In Commander and command handler settings (under detection->BarTender Command Handler Setup) set the following (you will have to stop Commander detection to change these settings):
- Set each command handler and restart process to "only on failure"
- Extend the terminate and restart unresponsive processes option to 5 mins.
- Increase the Commander "BarTender Timeout" setting and value in the Windows registry.
- Open the Windows registry
- Go to the following location: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Seagull Scientific\Commander\Preferences
- Increase the "Bartender Timeout"(DWORD) registry decimal value type to 60000. This value is in milliseconds.
BarTender 2016
Unfortunately, there is solution for BarTender 2016. We suggest you upgrade to BarTender 2019 R3 or higher (See below).
BarTender 2019 R3 and higher
We have made the following improvements in BarTender 2019 R3 to make Integration and the Print Scheduler Service more fault tolerant with BarTender.
- The Print Scheduler Service will automatically make 3 attempts to start the BarTender engines.
- If they all failed, the Print Scheduler Service should not require a restart to execute subsequent print requests.
These improvements should almost resolve this issue in most scenarios. In the rare situation, you may also need to increase the timeout for the communication between Integration and the Print Scheduler with BarTender. You can increase this timeout by doing the following.
- Open the Windows Registry
-
Go to the registry location: HKEY_LOCAL_MACHINE\SOFTWARE\Seagull Scientific\BarTender
-
Create the registry key: BarTenderActivatorTimeoutMS as DWORD value type.
-
Set this registry key timeout value in milliseconds and base type to decimal. 60000 milliseconds (60 seconds) works best from our testing.