@Christian Boeck: I ran some quick tests and discovered the following:
- The Service Manager works fine with destination names of up to 31 characters.
- Destination names of 32 characters or longer cause problems.
Problems with 32-character destination names
First, any INI file passed to ucybsmgr using the
-i
option is not read successfully. Instead, the program attempts to read the INI using the default name
ucybsmgr.ini
.
20200804/163754.427 - U00022024 The ServiceM anager was started with INI-file '/opt/uc4/SMgr/ucybsmgr.ini'
If a valid INI file called
ucybsmgr.ini
does exist, things get a little bit further. The program writes to the log correctly for instance. However, the destination name also gets corrupted, and the default INI file path gets tacked onto the end. Because the corrupted name is not found in the INI file, the program adds this destination to the file with default SMD and SMC file names.
[Destination 12345678901234567890123456789012/opt/uc4/SMgr/ucybsmgr.ini]
deffile=/opt/uc4/SMgr/uc4.smd
cmdfile=/opt/uc4/SMgr/uc4.smc
Then, when
ucybsmgr
forks the
ucybsmgr-listener
child process, this corrupted destination name is passed to the child process. Here is an example comparing the processes started with 31- and 32-character destination names:
31
|
uc4 23706 1 0 16:20 pts/4 00:00:00 /opt/uc4/SMgr/ucybsmgr -i/opt/uc4/SMgr/ucybsmgr_server_1.ini 1234567890123456789012345678901 uc4 23710 23706 0 16:20 pts/4 00:00:00 ucybsmgr-listener 1234567890123456789012345678901
|
32 |
uc4 22287 1 0 16:16 pts/4 00:00:00 /opt/uc4/SMgr/ucybsmgr -i/opt/uc4/SMgr/ucybsmgr_server_1.ini 12345678901234567890123456789012 uc4 22291 22287 0 16:16 pts/4 00:00:00 ucybsmgr-listener 12345678901234567890123456789012/opt/uc4/SMgr/ucybsmgr.ini
|
In this case, the the
ucybsmgr-listener
child process does open a listening socket, but it does not respond to connection attempts from the SMGr GUI.
If a valid INI file called
ucybsmgr.ini
does not exist, this leads to additional problems.
20200804/163754.427 - U00022028 Unable to open file '/opt/uc4/servicemanager-server/ucybsmgr.ini', error code: '2'
20200804/163754.427 - No such file or directory
In this case, the program does not write a log; instead it writes messages to
stdout. And when
usybsmgr-listener
starts, it does not even open a listening socket.
In both cases (whether a valid INI file called
ucybsmgr.ini
exists or not), the
ucybsmgr
process does not start any services.
Original Message:
An unexpected error occurred. 0x0FE6