This section describes problems that can occur at the start of or during system operation.
The topics are as follows:
System startup troubleshooting
Troubleshooting for Windows Service Registration
Operational troubleshooting
Common checklist
Client checklist
System startup troubleshooting
The service does not start when the system startup script is run.
Normal conditions:
E:\xpush\bin>startup.bat 2007.06.29 14:49:03,SYSTEM_INFO,[SVCL_00005]ServiceURL was set up : file:/E:/mip ush/conf/xpush_config.xml [2007/06/29 14:49:03.796][INFO] message provider started with listening port 50002 [2007/06/29 14:49:03.843][INFO] publisher server started with listening port 50001 [2007/06/29 14:49:03.859][INFO] monitor started with listening port 50003
The above three services (provider service, publisher service, monitor service) all show normal conditions. If other types of messages are displayed, check the system log by first modifying the system's log level, and then apply any appropriate measures.
<depends> <service name="FileLogger" code="jp.ossc.nimbus.service.log.SimpleCategoryService"> <attribute name="CategoryName">File</attribute> <attribute name="PriorityRange">0:40</attribute> <!--Increase the log level--> <attribute name="MessageWriterServiceName">#FileLogWriter</attribute> ... </service> </depends>
environment variable JAVA_HOME is not defined | |
---|---|
Cause | The JAVA_HOME environment variable is not defined. |
Solution | Set the JAVA_HOME environment variable. |
environment variable JAVA_HOME is not defined. |
/bin/java: not found | |
---|---|
Cause | Java file cannot be found, because the JAVA_HOME environment variable setting is invalid. |
Solution | Correctly set up the JAVA_HOME path. The value for JAVA_HOME is the directory containing bin. |
exec: 42: /invalid/java/path/bin/java: not found mashup@mashup-linux:~/tobesoft/xpush-2.0/bin$ |
WARNING! environment variable XPUSH_HOME is not defined | |
---|---|
Cause | The XPUSH_HOME environment variable is not defined. In this case, the parent directory of bin is used as the default value. |
Solution | Set the XPUSH_HOME path. |
WARNING! environment variable XPUSH_HOME is not defined. C:\tobesoft\xpush-2.0\bin will be used for XPUSH_HOME 2008.02.19 18:23:10,SYSTEM_INFO,[SVCL_00005]ServiceURL was set up : file:/C:/tobesoft/xpush-2.0/conf/xpush_config.xml 2008.02.19 18:23:10,SYSTEM_INFO,[SVCL_00013]It was set up so that SYSTEM_DEBUG log of Server Logger might not be outputted. |
java.net.BindException: Address already in use: bind | |
---|---|
Cause | The default port used by X-PUSH Server is already being used by another process. |
Solution | Terminate the process that is using the port, or change the port setting. |
|
Exception in thread "main" java.lang.NoClassDefFoundError: com/tobesoft/xpush/server/XPushServer | |
---|---|
Cause | The XPUSH_HOME environment variable setting is invalid. |
Solution | Correctly set up the XPUSH_HOME path. The value for XPUSH_HOME is the directory containing bin. |
|
Exception in thread "main" java.lang.UnsupportedClassVersionError | |
---|---|
Cause | The installed Java version is lower than 1.8. |
Solution | Install Java version 1.8 or higher. |
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/tobesoft/xpush/server/XPushServer (r version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) |
0403-006 Execute permission denied | |
---|---|
Cause | No permission to run the script, or the run mode is not set. |
Solution | Grant script execution permissions, or login with a viable account. Check USER and the OWNER of the file. |
|
Error occurred during initialization of VM | |
---|---|
Cause | This error occurs if the amount of free memory is less than the size of the executable script. (Default setting: 1024MB) |
Solution | Increase the -Xms and -Xmx values in "bin/startup.bat/sh" The default memory setting in an X-PUSH Server executable script is 1024MB. When the actual available memory is less than this value, the settings must be adjusted to suit the system. |
|
SYSTEM_ERROR,[SVC__00037]Exception occurred in start() processing of Service "PushServer*MiPlatformProtocolAuthenticator."java.lang.ClassNotFoundException | |
---|---|
Cause | Incorrect authenticator settings. |
Solution | Verify that the jar file containing the authenticator exists in the lib folder. Make sure that the "xpush_config.xml" file is set up correctly. |
java.lang.ClassNotFoundException: DummyAuthenticator at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) |
loading MessageFormatter failed. class | |
---|---|
Cause | Incorrect messageformatter settings. |
Solution | Verify that the jar file containing the messageformatter exists in the lib folder. Make sure that the "xpush_config.xml" file is set up correctly. |
|
loading PushedMessageProcessor failed. class | |
---|---|
Cause | Incorrect Pushed Message Processor settings. |
Solution | Verify that the jar file containing the Pushed Message Processor exists in the lib folder. Make sure that the "xpush_config.xml" file is set up correctly. |
|
Error: no | |
---|---|
Cause | Java is installed as JRE, not JDK. |
Solution | Reset JAVA_HOME and PATH to their original values, install JDK 1.8.x, and set up JAVA_HOME and PATH again. |
|
The "-server" Java option may not be supported in an HP operating system. In such cases, delete "-server" from the following line in "$JAVA_HOME/bin/startup.sh"
set JAVA_OPTS=-Xms1024m -Xmx1024m -server
[ERROR] Invalid license | |
---|---|
Cause | License-related issue. |
Solution | Copy a proper license file into the "XPUSH_HOME/conf/" directory. |
com.nexacro.xapi.license.InvalidLicenseException com.nexacro.xpush.server.LicenseTask.loadLicense(LicenseTask.java:33) com.nexacro.xpush.server.LicenseTask.run(LicenseTask.java:73) java.util.TimerThread.mainLoop(Timer.java:512) java.util.TimerThread.run(Timer.java:462) Caused by: java.io.FileNotFoundException: I:\project\workspace_indigo_XPUSH\xpush-2.5.1\conf\X-PUSH_Server_License.xml (The system cannot find the file specified) java.io.FileInputStream.open(Native Method) java.io.FileInputStream.<init>(FileInputStream.java:106) java.io.FileInputStream.<init>(FileInputStream.java:66) com.nexacro.xpush.server.LicenseTask.loadLicense(LicenseTask.java:30) com.nexacro.xpush.server.LicenseTask.run(LicenseTask.java:73) java.util.TimerThread.mainLoop(Timer.java:512) java.util.TimerThread.run(Timer.java:462) |
Service definition XML fatal : Content is not allowed in prolog. | |
---|---|
Cause | xpush_config.xml parsing error |
Solution | Check that no texts of spaces are entered in the header at the top of the xpush_config.xml file and delete it. |
SYSTEM_FATAL,[SVCL_00032]Service definition XML fatal : Content is not allowed in prolog. java.lang.Exception: Fail to load service definition file \conf\xpush_config.xml 2017.07.17 13:15:08,SYSTEM_ERROR,[SVCL_00010]Loading of a service definition failed : file://conf/xpush_config.xml org.xml.sax.SAXParseException: Content is not allowed in prolog. com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:246) |
DB error occured choosing queryset.[Error message: ORA-01157, ORA-01110] | |
---|---|
Cause | No table space or data file cannot be opened |
Solution | Recover or change the corresponding data file. |
[2019/09/03 11:54:11.853][ERROR] DB error occurred choosing queryset. [Error message:ORA-01157: The data file cannot be identified or locked. Please refer to the trace file.79 - DBWR data file ORA-01110: 79 : '/oracle/product/11.2.0/dbhome_1/dbs/xpush_data01.dbf'] |
Fail Get a Database Connection. Check Database | |
---|---|
Cause | Not connected to the database |
Solution | 1. Check ip, port 2. Check JDBC jar file 3. Check JDBC jar permissions 4. Check firewall (telnet) |
[2019/09/03 11:54:11.853][ERROR] Fail Get a Database Connection. Check Database |
SQLException occured! | |
---|---|
Cause | Multilingual support issues |
Solution | Add orai18n.jar to $XPUSH_HOME/lib folder |
[2019/09/03 11:54:11.853][ERROR] SQLException occured! java.sql.SQLException: Unsupported character set (add orai18n.jar to class path): K016MSWIN949 ...... |
default directory must be absolute | |
---|---|
Cause | OS environment issues An issue that occurs when user.dir used in java is set as a relative path |
Solution | Contact the system representative |
Caused by: java.lang.RuntimeException: default directory must be absolute at sun.nio.fs.unixFileSystem.<init>(UnixFileSystem.java:67) ...... |
AIX running terminal stop | |
---|---|
Cause | OS environment issues |
Solution | Edit startup.sh file ...... $STARTUP_CLASS "$@" 2</dev/null & |
Troubleshooting for Windows Service Registration
X-PUSH service started on the local computer and stopped. | |
---|---|
Cause | msvcr100.dll missing or incorrect. |
Solution | Copy msvcr100.dll file from the directory where Java is installed ex) C:\Program Files\Java\jdk1.8.0_191\bin. Then replace the existing msvcr100.dll file in the C:\Windows\System32 directory. |
Check XPUSH_HOME and JAVA_HOME settings Check if the JAVA_HOME value and JAVA path match |
Error attempting to install X-PUSH service | |
---|---|
Cause | - |
Solution | Run Windows Explorer itself as an administrator and then run it again Or run the command prompt itself as an administrator and then run install_as_service_bat |
can't find jvm.dll | |
---|---|
Cause | - |
Solution | Check XPUSH_HOME and JAVA_HOME settings Check if the JAVA_HOME value and JAVA path match |
Operational troubleshooting
Client
Check client connection
Log when connected to NRE (Nexacro Runtime Environment)
[2021/11/29 13:56:59.013][DEBUG] publisher(/172.10.12.74:60161) : action=AUTH [2021/11/29 13:56:59.016][DEBUG] publisher(/172.10.12.74:60161) : doAuthAction() [2021/11/29 13:56:59.016][DEBUG] publisher(/172.10.12.74:60161) : projectID=ANT, id=black01 [2021/11/29 13:56:59.018][INFO] Add Connection User=[ANT, black01], SessionID=/172.10.12.74:60161 [2021/11/29 13:56:59.021][DEBUG] ConnectionManager.Added Entry : Member=Member [172.10.12.74]:50007 this ,EventType=ADDED ,Name=u:ONLINE_USERINFO ,Key=User [userID=black01] ,Value=ConnectionInfo [ipInfo=/172.10.12.74:60161, serverInetSocketAddress=/172.10.12.74:50007] [2021/11/29 13:56:59.022][DEBUG] publisher(/172.10.12.74:60161) : auth success [2021/11/29 13:56:59.022][DEBUG] publisher(/172.10.12.74:60161) : channel created with servant Id /172.10.12.74:60161 [2021/11/29 13:56:59.022][DEBUG] + ConnectionManager size : 1 [2021/11/29 13:56:59.027][DEBUG] [Publisher] SessionID=/172.10.12.74:60161, Action=AUTH, projectID=ANT, UserId=black01
Log when connected via Chrome (WRE)
[2021/11/29 13:50:32.747][DEBUG] initialize SockJS handlers:[id: 0x47afa876, L:/172.10.12.74:50000 - R:/172.10.12.74:60120], Server setting isHTTPS:false [2021/11/29 13:50:32.748][DEBUG] PreflightHandler(/172.10.12.74:60120) channelRead0() [2021/11/29 13:50:32.748][DEBUG] PreflightHandler(/172.10.12.74:60120) channelRead0() origin:http://127.0.0.1:4098 [2021/11/29 13:50:32.748][DEBUG] ServiceRouter(/172.10.12.74:60120) channelRead0() [2021/11/29 13:50:32.748][DEBUG] ServiceRouter(/172.10.12.74:60120) handleService() path:/info [2021/11/29 13:50:32.750][DEBUG] initialize SockJS handlers:[id: 0x06679ad3, L:/172.10.12.74:50000 - R:/172.10.12.74:60121], Server setting isHTTPS:false [2021/11/29 13:50:32.751][DEBUG] PreflightHandler(/172.10.12.74:60121) channelRead0() [2021/11/29 13:50:32.751][DEBUG] PreflightHandler(/172.10.12.74:60121) channelRead0() origin:http://127.0.0.1:4098 [2021/11/29 13:50:32.751][DEBUG] ServiceRouter(/172.10.12.74:60121) channelRead0() [2021/11/29 13:50:32.751][DEBUG] ServiceRouter(/172.10.12.74:60121) handleService() path:/380/sphhngw3/websocket [2021/11/29 13:50:32.751][DEBUG] ServiceRouter(/172.10.12.74:60121) handleService(), handleSession() transport:/websocket, server:380, sessionId: sphhngw3 [2021/11/29 13:50:32.751][DEBUG] ServiceRouter(/172.10.12.74:60121) handleService(), handleSession() sessionManager Not Contain:sphhngw3 [2021/11/29 13:50:32.751][DEBUG] + webpush session : sphhngw3 [2021/11/29 13:50:32.751][DEBUG] onConnection: SockJsConnection [protocol=websocket, channel=[id: 0x06679ad3, L:/172.10.12.74:50000 - R:/172.10.12.74:60121]] [2021/11/29 13:50:32.751][DEBUG] ServiceRouter(/172.10.12.74:60121) handleService(), handleSession() webpush session count : 1 [2021/11/29 13:50:32.751][DEBUG] handleService ctx.fireChannelRead(request) [2021/11/29 13:50:32.752][DEBUG] handleWebSocketFrame: ["{\"Action\":\"AUTH\",\"ID\":\"black01\",\"PW\":\"...\",\"ProjectID\":\"ANT\"}"] [2021/11/29 13:50:32.752][TRACE] WebPublisherService(/172.10.12.74:60121) onData(): ["{\"Action\":\"AUTH\",\"ID\":\"black01\",\"PW\":\"...\",\"ProjectID\":\"ANT\"}"] [2021/11/29 13:50:32.755][TRACE] WebPublisherService(/172.10.12.74:60121) Action: AUTH [2021/11/29 13:50:32.755][DEBUG] publisher(/172.10.12.74:60121) : doAuthAction() [2021/11/29 13:50:32.755][DEBUG] publisher(/172.10.12.74:60121) : projectID=ANT, id=black01 [2021/11/29 13:50:32.755][INFO] Add Connection User=[ANT, black01], SessionID=/172.10.12.74:60121 [2021/11/29 13:50:32.756][DEBUG] ConnectionManager.Added Entry : Member=Member [172.10.12.74]:50007 this ,EventType=ADDED ,Name=u:ONLINE_USERINFO ,Key=User [userID=black01] ,Value=ConnectionInfo [ipInfo=/172.10.12.74:60121, serverInetSocketAddress=/172.10.12.74:50007] [2021/11/29 13:50:32.757][DEBUG] publisher(/172.10.12.74:60121) : auth success [2021/11/29 13:50:32.757][DEBUG] publisher(/172.10.12.74:60121) : channel created with servant Id /172.10.12.74:60121 [2021/11/29 13:50:32.757][DEBUG] + ConnectionManager size : 1 [2021/11/29 13:50:32.758][DEBUG] [Publisher] SessionID=/172.10.12.74:60121, Action=AUTH, projectID=ANT, UserId=black01
Message Provider
java.net.ConnectException: Connection refused: connect | |
---|---|
Cause | Connection to the X-PUSH Server is refused. |
Solution | Verify the X-PUSH Server's operating port number, and use the appropriate number in the MessageProvider. The default value at the time of deployment is 50002. The Message Provider must also support two-way communication. Check to make sure that the port is set for two-way communication in the firewall. |
java.net.ConnectException: Connection refused: connect at sun.nio.ch.Net.connect(Native Method) at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:464) at com.nexacro.xpush.api.PushMessageProvider.connect(Unknown Source) at DemoPushMessageProvider.main(Unknown Source) |
com.tobesoft.xpush.fw.service.auth.AuthenticateSystemException | |
---|---|
Cause | A problem with the authentication system exists in the implemented authenticator. |
Solution | Check the authentication system. |
com.nexacro.xpush.fw.service.auth.AuthenticateSystemException:Login System Error Occured at DummyAuthenticator.authenticate(DummyAuthenticator.java:15) at com.nexacro.xpush.service.auth.AuthenticatorService.authenticate(Unknown Source) |
java.lang.IndexOutOfBoundsException : Index: 0, Size: 0 | |
---|---|
Cause | When sending a message, loading into DB normally failed, and when calling response.getResponseMessage(), IndexOutOfBoundsException occurs. |
Solution | Call response.getMessage() to analyze the cause. AUTH_FAIL: Check ID and password. TOO_LARGE_MESSAGE: Message size must be less than 4,000 bytes. PROTOCOL_VERSION_ERROR: Check the Provider protocol. |
java.lang.IndexOutOfBoundsException : Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at com.nexacro.xpush.api.PushResponse.getResponseMessage( PushResponse.java:203 ) |
A message was transmitted from the Message Provider but not received by the client. | |
---|---|
Cause | This problem may be caused by several factors. |
Solution | To determine the cause, the log must be verified to identify to which point the messages were delivered. Verify that the corresponding message was processed normally in the log. If the message was not delivered after checking the log, the problem can be resolved depending on the situation. |
Verify that the corresponding message was processed normally in the log.
[2007/07/04 16:40:09.984][DEBUG] provider(127.0.0.1:3783) : action=PUSH [2007/07/04 16:40:10.000][DEBUG] provider(127.0.0.1:3783) : got push message, message=[ messageType=CPDT, messageId=1004, values=('1004', '10200') ] [2007/07/04 16:40:10.000][DEBUG] provider(127.0.0.1:3783) : got push message, message=[ messageType=OPDT, messageId=ALL, values=('ALL', 'Message Test : 16:40:09') ] [2007/07/04 16:40:10.000][DEBUG] publisher(127.0.0.1:3784) : pushed to client. message=[ messageType=CPDT, messageId=1004, values=('1004', '10200') ] [2007/07/04 16:40:10.000][DEBUG] publisher(127.0.0.1:3784) : pushed to client. message=[ messageType=OPDT, messageId=ALL, values=('ALL', ' Message Test : 16
If "got push message" exists in the log, the message was successfully transmitted from the message provider to the push server. If "pushed to client" exists in the log, the message was successfully transmitted from the push server to the client.
If the message was not delivered after checking the log, the following procedures can be performed.
If the message was not delivered to the push server:
Verify that the message provider is connected. Typically, this problem is caused by an incorrect set push server connection information (IP address, port) set in the message provider, or it may be a firewall or network issue.
// Make sure that the Message Provider connection is successful. [2007/07/04 16:37:14.296][DEBUG] provider(61.107.23.253:3779) : action=AUTH [2007/07/04 16:37:14.296][TRACE] provider(61.107.23.253:3779) : new provider connection [2007/07/04 16:37:14.296][DEBUG] provider(61.107.23.253:3779) : id=sdf, password=asdf [2007/07/04 16:37:14.312][TRACE] provider(61.107.23.253:3779) : auth completed ... // Verify that the message transmitted by the Message Provider was received by the X-PUSH Server. [2007/07/04 16:37:14.453][DEBUG] provider(61.107.23.253:3779) : action=PUSH [2007/07/04 16:37:14.468][DEBUG] provider(61.107.23.253:3779) : got push message , message=[ messageType=CPDT, messageId=1001, values=('1001', '10000') ] [2007/07/04 16:37:14.468][DEBUG] provider(61.107.23.253:3779) : got push message, message=[ messageType=OPDT, messageId=ALL, values=('ALL', 'Message Test : 16:37:14') ]
If the message was received by the push server but not pushed to the client:
Verify that the client is connected. Check the push server connection information (IP address, port) and the firewall/network settings.
// Verify that the client is successfully connected.
[2007/07/04 16:40:06.703][DEBUG] publisher(61.107.23.253:3785) : data channel created for servantId fec711bc7b1afbb8bf85e3b06f2dc64f10a479a7
[2007/07/04 16:40:06.734][DEBUG] publisher(61.107.23.253:3784) : action=ADDF
[2007/07/04 16:40:06.734][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1001)
[2007/07/04 16:40:06.750][DEBUG] publisher(61.107.23.253:3784) : action=ADDF
[2007/07/04 16:40:06.750][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1002)
[2007/07/04 16:40:06.765][DEBUG] publisher(61.107.23.253:3784) : action=ADDF
[2007/07/04 16:40:06.765][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1003)
...
[2007/07/04 16:40:12.015][DEBUG] publisher(61.107.23.253:3784) : pushed to client. message=[ messageType=CPDT, messageId=1001, values=('1001', '10100') ]
[2007/07/04 16:40:06.703][DEBUG] publisher(61.107.23.253:3785) : data channel created for servantId fec711bc7b1afbb8bf85e3b06f2dc64f10a479a7
[2007/07/04 16:40:06.734][DEBUG] publisher(61.107.23.253:3784) : action=ADDF
[2007/07/04 16:40:06.734][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1001)
// Verify whether the client registered the message topic.
[2007/07/04 16:40:06.750][DEBUG] publisher(61.107.23.253:3784) : action=ADDF
[2007/07/04 16:40:06.750][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1002)
[2007/07/04 16:40:06.765][DEBUG] publisher(61.107.23.253:3784) : action=ADDF
[2007/07/04 16:40:06.765][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1003)
……………………..
[2007/07/04 16:40:12.015][DEBUG] publisher(61.107.23.253:3784) : pushed to client. message=[ messageType=CPDT, messageId=1001, values=('1001', '10100') ]
[2007/07/04 16:40:06.703][DEBUG] publisher(61.107.23.253:3785) : data channel created for servantId fec711bc7b1afbb8bf85e3b06f2dc64f10a479a7 [2007/07/04 16:40:06.734][DEBUG] publisher(61.107.23.253:3784) : action=ADDF [2007/07/04 16:40:06.734][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1001) // Verify whether the client registered the message topic. [2007/07/04 16:40:06.750][DEBUG] publisher(61.107.23.253:3784) : action=ADDF [2007/07/04 16:40:06.750][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1002) [2007/07/04 16:40:06.765][DEBUG] publisher(61.107.23.253:3784) : action=ADDF [2007/07/04 16:40:06.765][DEBUG] publisher(61.107.23.253:3784) : topic subscribed (CPDT,1003) ... [2007/07/04 16:40:12.015][DEBUG] publisher(61.107.23.253:3784) : pushed to client. message=[ messageType=CPDT, messageId=1001, values=('1001', '10100') ] // If registered, verify that the message key (type, ID) and registered key are correct. // Verify that the message was delivered with respect to the topic registered by the client. [2007/07/04 16:40:12.015][DEBUG] publisher(61.107.23.253:3784) : pushed to client. message=[ messageType=CPDT, messageId=1002, values=('1002', '10200') ]
In the Case of Disconnection
Check if KEEP message comes periodically
[2019/06/14 15:43:19.231][DEBUG] publisher(172.10.11.87:28991) : action=KEEP
[2019/06/14 15:43:29.233][DEBUG] publisher(172.10.11.87:28991) : action=KEEP
[2019/06/14 15:43:39.234][DEBUG] publisher(172.10.11.87:28991) : action=KEEP
When the client did not send a KEEP message
[2019/06/17 11:20:43.490][WARN] [publisher] SessionID=172.10.11.87:54106, UserId=user00, message=connection closed. No KeepAlive
[2019/06/17 11:20:43.490][DEBUG] Remove Connection User =User [userID=user00] 172.10.11.87:54106
[2019/06/17 11:20:43.491][TRACE] publisher(172.10.11.87:54106) : connection closed. No KeepAlive
[2019/06/17 11:20:43.491][DEBUG] - ConnectionManager.Removed Entry : Member=Member [172.10.11.87]:50007 this ,EventType=REMOVED ,Name=u:ONLINE_USERINFO ,Key=User [userID=user00] ,Value=ConnectionInfo [ipInfo=172.10.11.87:54106, serverInetSocketAddress=/172.10.11.87:50007]
If the message was pushed to the client but is not visible:
This indicates that there is a problem with the client logic that handles the messages.
If only one or two messages - rather than all messages - are not being pushed to the client:
If a value returned by the messageformatter is null, the respective message is not pushed to the client. Check the message formatter logic. This may also be a hang due to the messageformatter's internal logic.
If a message generated by the Embedded Message Provider was not delivered:
Verify that the embedded Message Provider successfully generates and transmits messages in the log.
... // Verify that the message is generated by the Embedded Provider and is ready to be pushed to the client. [2007/07/05 11:38:04.484][DEBUG] provider(Embedded Provider) : got push message, message =[ messageType=CPDT, messageId=1007, values=('1007', 'Message Test1') ] // Verify that the message generated by the Embedded Provider is pushed to the client. [2007/07/05 11:38:04.484][DEBUG] publisher(127.0.0.1:1421) : pushed to client. message =[ messageType=CPDT, messageId=1007, values=('1007', 'Message Test1') ] [2007/07/05 11:38:04.500][DEBUG] provider(Embedded Provider) : got push message, message =[ messageType=CPDT, messageId=1008, values=('1008', 'Message Test2') ] [2007/07/05 11:38:04.500][DEBUG] publisher(127.0.0.1:1421) : pushed to client. message =[ messageType=CPDT, messageId=1008, values=('1008', 'Message Test2') ]
Notification Service
java.net.ConnectException: Connection refused: connect | |
---|---|
Cause | Cannot connect to the X-PUSH server |
Solution | Check the operating port number of the X-PUSH server and use the port number in the corresponding MessageProvider. The default value upon deployment is 50002. Two-way communication must be enabled on the Message Provider. Check if the firewall allows only one-way traffic. |
at sun.nio.ch.Net.connect(Native Method) at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:464) at com.nexacro.xpush.api.PushMessageProvider.connect(Unknown Source) at DemoPushMessageProvider.main(Unknown Source) |
In the Case of Notification Not Being Delivered to APNs
When the connection with Apns server is unavailable
[2019/01/11 17:43:41.353][DEBUG] [Apns]: Before Create SSL Socket.APNS_Provider_pool-thread-1 [2019/01/11 17:43:41.353][ERROR] [Apns]: Connection Occured IOException. java.net.SocketException: Permission denied: connect [2019/01/11 17:43:41.354][TRACE] APNs(Response) : Response From Apns. ErrorCode : Unknown Device : 19126aa707aae420f8600ff1865dc4a9f5eff1bd68142003a138fe0bad9be928
If requests have been continuously made to the Apns server but there is no response, the problem may be caused by a firewall or network environment. To verify this, XPUSH can simply perform a connection test with APNS via a script file.
When the certificate has expired
[2019/01/11 16:00:13.868][ERROR] [Apns]: Write Occured IOException. javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired [2019/01/11 16:00:13.868][ERROR] [Apns]: OutputStream Close Occured IOException. javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired [2019/01/11 16:00:13.873][TRACE] APNs(Response) : Response From Apns. ErrorCode : Unknown Device : 19126aa707aae420f8600ff1865dc4a9f5eff1bd68142003a138fe0bad9be928
When the certificate has been discarded
[2019/01/21 10:20:30.236][ERROR] [Apns]: Write Occured IOException. javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_revoked [2019/01/21 10:20:30.350][TRACE] APNs(Response) : Response From Apns. ErrorCode : Unknown Device : c9e075705c00898dec59992c0cf931a43c4dc9a78c1a2e884141941f90d2bcfa
When too many requests have been made to the APNS server
[2018/09/27 11:14:13.291][ERROR] [Apns]: Connection Occured ConnectionException. java.net.ConnectException: Connection timed out: connect
Whenever the xpush server requests notification from the device to the APNS server, a new connection is generated. Accordingly, if many Notifications are requested, Apns Connection Exception may occur and reconnection is attempted as much as the set retry.
When the certificate KeystorePath is incorrectly set in xpush_config.xml
java.io.FileNotFoundException: I:\workspace\xpush-2.7.x\conf12\apns-certificate2.p12 (The specified path could not be found) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:120) at java.io.FileInputStream.<init>(FileInputStream.java:79) at com.nexacro.xpush.apns.ApnsSSLConnection.init(ApnsSSLConnection.java:46) at com.nexacro.xpush.apns.Provider.open(Provider.java:35) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.sendEachPayload(XPushApnsConnector.java:102) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.send(XPushApnsConnector.java:47) at com.nexacro.xpush.service.notification.ApnsNotifier.consume(ApnsNotifier.java:64) at jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) at java.lang.Thread.run(Thread.java:662) java.lang.NullPointerException at com.nexacro.xpush.apns.Provider.sendNotification(Provider.java:111) at com.nexacro.xpush.apns.Provider.provide(Provider.java:60) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.sendEachPayload(XPushApnsConnector.java:110) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.send(XPushApnsConnector.java:47) at com.nexacro.xpush.service.notification.ApnsNotifier.consume(ApnsNotifier.java:64) at jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) at java.lang.Thread.run(Thread.java:662)
When the certificate password is incorrectly set in xpush_config.xml
javax.net.ssl.SSLException: Received fatal alert: internal_error at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190) at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1822) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1004) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:654) at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:100) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at com.nexacro.xpush.apns.Provider.sendNotification(Provider.java:130) at com.nexacro.xpush.apns.Provider.provide(Provider.java:60) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.sendEachPayload(XPushApnsConnector.java:110) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.send(XPushApnsConnector.java:47) at com.nexacro.xpush.service.notification.ApnsNotifier.consume(ApnsNotifier.java:64) at jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) at java.lang.Thread.run(Thread.java:662) javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Received fatal alert: internal_error at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1343) at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:65) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read1(BufferedInputStream.java:258) at java.io.BufferedInputStream.read(BufferedInputStream.java:317) at java.io.FilterInputStream.read(FilterInputStream.java:90) at com.nexacro.xpush.apns.Provider.sendNotification(Provider.java:147) at com.nexacro.xpush.apns.Provider.provide(Provider.java:60) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.sendEachPayload(XPushApnsConnector.java:110) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.send(XPushApnsConnector.java:47) at com.nexacro.xpush.service.notification.ApnsNotifier.consume(ApnsNotifier.java:64) at jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) at java.lang.Thread.run(Thread.java:662) Caused by: javax.net.ssl.SSLException: Received fatal alert: internal_error at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190) at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1822) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1004) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:654) at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:100) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at com.nexacro.xpush.apns.Provider.sendNotification(Provider.java:130) ... 6 more javax.net.ssl.SSLException: Received fatal alert: internal_error at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190) at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1822) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1004) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:818) at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read1(BufferedInputStream.java:258) at java.io.BufferedInputStream.read(BufferedInputStream.java:317) at java.io.FilterInputStream.read(FilterInputStream.java:90) at com.nexacro.xpush.apns.feedback.ApnsFeedbackServer.receiveFeedback(ApnsFeedbackServer.java:109) at com.nexacro.xpush.apns.Provider.checkFeedback(Provider.java:103) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.sendEachPayload(XPushApnsConnector.java:133) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.send(XPushApnsConnector.java:47) at com.nexacro.xpush.service.notification.ApnsNotifier.consume(ApnsNotifier.java:64) at jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) at java.lang.Thread.run(Thread.java:662) java.lang.NullPointerException at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.sendEachPayload(XPushApnsConnector.java:135) at com.nexacro.xpush.service.notification.connector.XPushApnsConnector.send(XPushApnsConnector.java:47) at com.nexacro.xpush.service.notification.ApnsNotifier.consume(ApnsNotifier.java:64) at jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) at java.lang.Thread.run(Thread.java:662)
When Device Token is changed
[2018/09/28 14:30:10.569][INFO] [APNs](FeedbackService): The Device Token not used. [19fb08169b74677bfea818f11d0acee0d2306830a04efec3a702dacc013a4aa7]
When the app is reinstalled, the device token is changed, and sending a message with the previous device token will not get a failure response from the Apns server. Sending messages to the device token that is no longer operating is disabled through the Feedback Service.
Apns’ Feedback option must be set to true.
If the invalid matching bundleID log cannot be output or transmitted
[2019/01/11 17:43:41.353][ERROR] [APNs] : [2283c9670e9eed11aa1c8fcca384869fdba2ca1bdfa94c8f09607ace92cf5d16] invalid matching bundleID=com.tobesoft.sampleProject in config.xml
xpush_config.xml 에서
<attribute name="AppInfo" type ="java.util.HashMap">
com.nexacro.apns=C:\tmp\apns.p12,tobe0701,PKCS12,false,
</attribute>
com.nexacro.apns 부분과 일치하지 않아 생기는 오류
com.nexacro.apns 부분을 해당 BundleID 로 수정 후 재 기동
In the Case of Notification Not Being Delivered to GCM
When the connection with the FCM server is unavailable
[2019/01/11 17:43:41.353][ERROR] [FCM]: Send Message Result is null. [2019/01/11 17:43:41.353][TRACE] FCM(Response) : Response From Firebase. ErrorCode : Unavailable Device : APA91bF5vaa4IHSQD-oLBBjAlQ5QsAbNBTSEy1wG7hN9KueiPgFDWicVDWcJWm7L7a_DIohg4SuJ4ePiBD831Vfwtw-KOx Enjj5jnPSP-kl7oF15SnKY-QvI-59DF5flZOrneS8owfCe
If requests have been continuously made to the FCM server but there is no response, the problem may be caused by a firewall or network environment. To verify this, XPUSH can simply perform a connection test with the FCM server via a script file.
When ApiKey is an incorrect value in xpush_config.xml
[2018/03/05 13:48:12.316][DEBUG] GcmHttpConnector: send Message(priority=high, data: {cmd=RELI,nParam=3,prefix=null,message=Mobiletest12345678,postfix=null,topicType=NOTI,topicId=ALL,badge=20}) to [APA91bGa2qSZ9TPad6_EONvNXiSQY7Nv1OtQPhCL1plqMJ3icdiXoZ-WiqwnRU-o5cCkyPw1DJGFKZ-DBdn0-vr7vGYBAFmEKeBqNUoSu5-N_zke--jTF0ARG_ykGQb9iCaiNZWsTRZn], Result:null com.google.android.gcm.server.InvalidRequestException: HTTP Status Code: 401() at com.google.android.gcm.server.Sender.makeGcmHttpRequest(Sender.java:484) at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:422) at com.nexacro.xpush.service.notification.connector.GcmHttpConnector.sendMessage(GcmHttpConnector.java:216) at com.nexacro.xpush.service.notification.connector.GcmHttpConnector.send(GcmHttpConnector.java:54) at com.nexacro.xpush.service.notification.GcmNotifier.consume(GcmNotifier.java:64) at jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) at java.lang.Thread.run(Thread.java:745) java.lang.NullPointerException at com.nexacro.xpush.service.notification.connector.GcmHttpConnector.toGcmResult(GcmHttpConnector.java:129) at com.nexacro.xpush.service.notification.connector.GcmHttpConnector.send(GcmHttpConnector.java:58) at com.nexacro.xpush.service.notification.GcmNotifier.consume(GcmNotifier.java:64) at jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) at java.lang.Thread.run(Thread.java:745)
When Device Token is changed
[2018/09/28 15:35:00.187][INFO] FCM(Response): The Device token Changed. [APA91bFWx9b_hxWSlgjKMPQTXNDgncwcrKhEgIDeT0LXkKH92s1rPW9NmEnhSYUFdxVteVTtkONcySDYptsRvXYaQ2Xa1wbenGO5OYemoM26NeSKk1z4r_yMDA62pJwYCh1FKAl0ZAuw] -> [APA91bEp2DbA3l1wARO5vvK9nd1ovR9t6YiVPt-RwzCSi3MmmDDSq84oZtFs86XYErKu6L6VcZ-hQEYluNrafWOYVKdSZs1aH8v7mdqww5zl827mUMGTRLd6TpnZDCcnrAlxX78hgArV]
When the device token is changed, the changed device token can be checked from the FCM server, and disable sending messages with the existing device token.
Details on the device token can be checked from the following link.
https://firebase.google.com/docs/cloud-messaging/android/client#sample-register
If the sendID value of the server and the sendID value of the client are different
[2020/08/31 10:41:39.523][DEBUG] [FCM] : [xxxxxx8KQ6eMIUO6KjywE7:xxxxxxxxx_8MI-XXmpalmXxxxx_XzXj9iXXXXXjX4p6qXpO1XXXXXXXH-XQ20n_wXX5ps8Sv97tcx5ZdXXumtXXuX1XXXXqbXX5XoxxXX2_hatg2ga0KbsKptXXX2X10ewXXX7_y3vXX] invalid matching SenderID=123456789012 in config.xml
This error occurs when the value set in the server and the value set in the T_MOBILE table are different.
Dbcp Service
In the Case of the Following Error Occurring in tibero
No more extent available in tablespace 'SYSTEM'. | |
---|---|
Cause | Insufficient space in tibero’s System Tablespace. |
Solution | Increase the TotalSize of the corresponding Tablespace. |
[ERROR] Exception : java.sql.SQLException: JDBC-21004:No more extent available in tablespace 'SYSTEM'. com.tmax.tibero.jdbc.err.TbError.makeSQLException(Unknown Source) com.tmax.tibero.jdbc.err.TbError.newSQLException(Unknown Source) com.tmax.tibero.jdbc.msg.common.TbMsgError.readErrorStackInfo(Unknown Source) com.tmax.tibero.jdbc.msg.TbMsgEreply.deserialize(Unknown Source) com.tmax.tibero.jdbc.comm.TbStream.readMsg(Unknown Source) com.tmax.tibero.jdbc.comm.TbCommType4.prepareExecute(Unknown Source) com.tmax.tibero.jdbc.driver.TbPreparedStatementImpl.executeCompleteSQL(Unknown Source) com.tmax.tibero.jdbc.driver.TbPreparedStatementImpl.executeInternal(Unknown Source) com.tmax.tibero.jdbc.driver.TbPreparedStatementImpl.executeUpdate(Unknown Source) com.tmax.tibero.jdbc.driver.TbPreparedStatement.executeUpdate(Unknown Source) org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) com.nexacro.xpush.service.repository.job.sql.plainSql.executeUpdateStatement(Unknown Source) com.nexacro.xpush.service.repository.job.sql.OracleSql2511DontUseTrigger.insertTopicMessage(Unknown Source) com.nexacro.xpush.service.repository.job.ProvidedMessageProcess.executeQuery(Unknown Source) com.nexacro.xpush.service.repository.job.DBProcessRunnable.run(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) java.lang.Thread.run(Thread.java:662)
No more undo space available | |
---|---|
Cause | Insufficient space in tibero’s undo Tablespace. |
Solution | Increase the TotalSize of the corresponding Tablespace. |
java.sql.BatchUpdateException: JDBC-21002:No more undo space available. com.tmax.tibero.jdbc.comm.TbCommType4.batchUpdateLoop(Unknown Source) com.tmax.tibero.jdbc.driver.TbPreparedStatementImpl.executeBatch(Unknown Source) com.tmax.tibero.jdbc.driver.TbPreparedStatement.executeBatch(Unknown Source) org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297) org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297) com.nexacro.xpush.service.repository.job.sql.reliableSql.executeBatch(reliableSql.java:428) com.nexacro.xpush.service.repository.job.sql.reliableSql.updateTopicMessage(reliableSql.java:384) com.nexacro.xpush.service.repository.job.ResponseMessageProcess.executeQuery(ResponseMessageProcess.java:40) com.nexacro.xpush.service.repository.job.DBProcessRunnable.run(DBProcessRunnable.java:37) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)
Unable to open a session. | |
---|---|
Cause | An insufficient number of open sessions in tibero. |
Solution | Increase MAX_SESSION_COUNT and restart DB. |
[ERROR] Exception : java.sql.SQLException: JDBC-12003:Unable to open a session. com.tmax.tibero.jdbc.err.TbError.makeSQLException(Unknown Source) com.tmax.tibero.jdbc.err.TbError.newSQLException(Unknown Source) com.tmax.tibero.jdbc.msg.common.TbMsgError.readErrorStackInfo(Unknown Source) com.tmax.tibero.jdbc.msg.TbMsgEreply.deserialize(Unknown Source) com.tmax.tibero.jdbc.comm.TbStream.readMsg(Unknown Source) com.tmax.tibero.jdbc.comm.TbCommType4.logon(Unknown Source) com.tmax.tibero.jdbc.driver.TbConnection.openConnection(Unknown Source) com.tmax.tibero.jdbc.TbDriver.connectInternal(Unknown Source) com.tmax.tibero.jdbc.TbDriver.connect(Unknown Source) java.sql.DriverManager.getConnection(DriverManager.java:571) java.sql.DriverManager.getConnection(DriverManager.java:215) org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75) org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188) org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:180) java.sql.DriverManager.getConnection(DriverManager.java:571) java.sql.DriverManager.getConnection(DriverManager.java:233) com.nexacro.xpush.service.dbConPool.DBCPService.getConnection(Unknown Source) com.nexacro.xpush.service.repository.handler.AbstractQueueHandler.consume(Unknown Source) jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) java.lang.Thread.run(Thread.java:745)
If the following error occurs in oracle:
ORA-02289: sequence does not exist | |
---|---|
Cause | If the T_MOBILE_SEQUENCE, T_NOTIFICATION_SEQUENCE, and T_TOPIC_SEQUENCE sequences used by the X-PUSH server do not exist or you do not have permission. |
Solution | - If the sequence does not exist [Sequence creation query] CREATE SEQUENCE t_topic_sequence START WITH 1 INCREMENT BY 1; CREATE SEQUENCE t_user_message_sequence START WITH 1 INCREMENT BY 1 MAXVALUE 999999999999999999999999999 CYCLE; CREATE SEQUENCE t_mobile_sequence START WITH 1 INCREMENT BY 1; CREATE SEQUENCE t_notification_sequence START WITH 1 INCREMENT BY 1; - If you do not have permission [Create with database access permission] [Access permission check query] select * from all_sequences where sequence_owner = 'C##XPUSH'; select * from all_tables where owner = 'C##XPUSH'; [Permission grant case] synonym needs to be created. (Query cannot be edited because the query is included in the xpush source) |
java.sql.SQLSyntaxErrorException: ORA-02289: sequence does not exist.
SSL
When not connecting via domain (when trying to connect via IP)
[2020/11/04 15:09:26.378][DEBUG] PreflightHandlerOutbound(/158.44.51.49:14546) exceptionCaught:io.netty.handler.codec.De coderException: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown [2020/11/04 15:09:26.386][DEBUG] initialize SockJS handlers:[id: 0xe3ecf5a0, L:/158.44.51.49:50000 - R:/158.44.51.49:145 51], Server setting isHTTPS:true [2020/11/04 15:09:26.443][DEBUG] PreflightHandlerOutbound(/158.44.51.49:14551) exceptionCaught:io.netty.handler.codec.De coderException: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown | |
---|---|
Cause | Attempt to connect via IP |
Solution | When connecting to https, connect via domain |
In the Case of Certificate That Is Not Valid
io.netty.handler.codec.DecoderException: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown | |
---|---|
Cause | Not a valid type of certificate |
Solution | Apply a valid certificate |
In the Case of Applying TLS 1.2 in IBM AIX
io.netty.handler.codec.DecoderException: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown | |
---|---|
Cause | In AIX, TLS 1.0 is set basically |
Solution | Add JDK option when running xpush ( -Dcom.ibm.jsse2.overrideDefaultTLS=ture ) Add the following content to $XPUSH_HOME/bin/startup.sh fileJAVA_OPTS="-Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Dcom.ibm.jsse2.overrideDefaultTLS=true" |
Operating Server
Too many open files | |
---|---|
Cause | The number of files that can be used in the system is set too low. |
Solution | Request an increase in the setting to the server administrator. This may occur for general Windows XP and Unix/Linux accounts. The number of files that can be opened at the same time must be at least 4,000. |
java.net.SocketException: Too many open files at java.net.PlainSocketImpl.socketAccept(Native Method) |
jp.ossc.nimbus.service.publish.AnalyzeProcessException: Could not entry | |
---|---|
Cause | Reached the maximum number of connectable clients. |
Solution | Expand the server. The maximum number of connections can be changed in the configuration file, but this may have a significant impact on the performance of the X-PUSH Server. Please contact customer support if you need to make changes. |
[2007/07/04 14:38:54.187][DEBUG] publisher(127.0.0.1:2786) : id=test, authToken=test
[2007/07/04 14:38:54.187][WARN] protocolUser : container is full
[2007/07/04 14:38:54.187][DEBUG] publisher(127.0.0.1:2786) : exception occured.
jp.ossc.nimbus.service.publish.AnalyzeProcessException: Could not entry
: 422ce79163fad1607722cacb1e09cf415628a8c0
at com.nexacro.xpush.service.publish.MiPlatformPublisherProtocolService.
doAuthAction(Unknown Source)
at com.nexacro.xpush.service.publish.MiPlatformPublisherProtocolService.analyze(Unknown Source)
at com.nexacro.xpush.fw.service.publish.TobePublisherService$SocketReader.
read(Unknown Source)
at com.nexacro.xpush.fw.service.publish.TobePublisherService$SocketReader.
consume(Unknown Source)
|
java.lang.OutOfMemoryError: Java heap space | |
---|---|
Cause | This error occurs if the amount of free memory is less than the size of the executable script. (Default setting: 1024MB) |
Solution | Increase the -Xms and -Xmx values in "bin/startup.bat/sh" The default memory setting in an X-PUSH Server executable script is 1024MB. When the actual available memory is less than this value, the settings must be adjusted to suit the system. |
|
java.io.IOException: There is not enough space on the disk | |
---|---|
Cause | Insufficient storage space. |
Solution | Delete unnecessary files. This usually occurs when all of the disk space is used by logs. |
log4j:ERROR Failed to flush writer, java.io.IOException: There is not enough space on the disk at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:260) at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336) at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404) at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:408) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152) |
Decryption operation failed, ommitting any further information aboutthe cause for security reasons. | |
---|---|
Cause | If the password part (encryption) of user.properties is damaged |
Solution | Encrypt the password and apply it to user.properties. (Create using the run_property_encrypt script) |
[2020/06/04 15:33:16.862][ERROR] monitor : exception occured. com.tobesoft.xpush.crypto.EncryptionOperationFailedException: Decryption operation failed, ommitting any further information aboutthe cause for security reasons. com.tobesoft.xpush.crypto.XPushPBEStringEncryptor.decrypt(XPushPBEStringEncryptor.java:100) com.tobesoft.xpush.fw.service.auth.UserPropertiesEncryptAuthenticator.authenticate(UserPropertiesEncryptAuthenticator.java:77) com.tobesoft.xpush.service.auth.AuthenticatorService.authenticate(AuthenticatorService.java:118) com.tobesoft.xpush.service.monitor.PushMonitorProtocolService.doLogin(PushMonitorProtocolService.java:861) com.tobesoft.xpush.service.monitor.PushMonitorProtocolService.analyze(PushMonitorProtocolService.java:143) com.tobesoft.xpush.service.monitor.PushMonitorService$SocketReader.read(PushMonitorService.java:562) com.tobesoft.xpush.service.monitor.PushMonitorService$SocketReader.consume(PushMonitorService.java:483) jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) java.lang.Thread.run(Thread.java:809) |
Abnormal shutdown of the Operating Server
we are being asked to shutdown when active = true | |
---|---|
Cause | Unless the shutdown SIGTERM is sent to the xpush server intentionally, xpush can be shut down by the control terminal. |
Solution | Set not to receive SIGTERM or disconnect terminals that are not in use. |
[DEBUG] [10.0.1.154]:10187 [dev] ** we are being asked to shutdown when active = true [DEBUG] [10.0.1.154]:10187 [dev] Shutting down the clientHandlerService [DEBUG] [10.0.1.154]:10187 [dev] Shutting down the connection manager [DEBUG] [10.0.1.154]:10187 [dev] Stopping ConnectionManager [DEBUG] [10.0.1.154]:10187 [dev] Shutting down SocketAcceptor thread. [DEBUG] [10.0.1.154]:10187 [dev] Closing selector hz._hzInstance_1_dev.IO.thread-Acceptor [TRACE] [10.0.1.154]:10187 [dev] Connection [Address[10.0.1.155]:10187] lost. Reason: java.io.EOFException[null] [DEBUG] [10.0.1.154]:10187 [dev] Destroying Connection [/10.0.1.155:55940 -> Address[10.0.1.155]:10187] live=false, client=false, type=MEMBER [DEBUG] [10.0.1.154]:10187 [dev] Connection is removed Address[10.0.1.155]:10187 [TRACE] [10.0.1.154]:10187 [dev] Connection [Address[10.0.1.156]:10187] lost. Reason: java.io.EOFException[null] [DEBUG] [10.0.1.154]:10187 [dev] Destroying Connection [/10.0.1.156:59607 -> Address[10.0.1.156]:10187] live=false, client=false, type=MEMBER [DEBUG] [10.0.1.154]:10187 [dev] Connection is removed Address[10.0.1.156]:10187 [DEBUG] [10.0.1.154]:10187 [dev] An error occurred on connection to Address[10.0.1.156]:10187 Cause => java.io.EOFException {null}, Error-Count: 1 [DEBUG] [10.0.1.154]:10187 [dev] An error occurred on connection to Address[10.0.1.155]:10187 Cause => java.io.EOFException {null}, Error-Count: 1 [WARN] [10.0.1.154]:10187 [dev] hz._hzInstance_1_dev.IO.thread-1 Closing socket to endpoint Address[10.0.1.155]:10187, Cause:java.io.EOFException [WARN] [10.0.1.154]:10187 [dev] hz._hzInstance_1_dev.IO.thread-2 Closing socket to endpoint Address[10.0.1.156]:10187, Cause:java.io.EOFException [DEBUG] [10.0.1.154]:10187 [dev] Shutting down IO selectors, total: 3 [DEBUG] [10.0.1.154]:10187 [dev] closing selector hz._hzInstance_1_dev.IO.thread-0 [DEBUG] [10.0.1.154]:10187 [dev] closing selector hz._hzInstance_1_dev.IO.thread-1 [TRACE] provider(127.0.0.1:58192) : connection closed. e=java.lang.IllegalStateException: Hazelcast Instance is not active! [ERROR] provider : exception occured. java.lang.IllegalStateException: Hazelcast Instance is not active! com.hazelcast.impl.FactoryImpl.initialChecks(FactoryImpl.java:755) com.hazelcast.impl.TopicProxyImpl.ensure(TopicProxyImpl.java:42) com.hazelcast.impl.TopicProxyImpl.publish(TopicProxyImpl.java:88) com.nexacro.xpush.service.node.hazel.NodeManagerService.publish(Unknown Source) com.nexacro.xpush.service.provider.SocketPushMessageProviderProtocolService.publishToNode(Unknown Source) com.nexacro.xpush.service.provider.SocketPushMessageProviderProtocolService.doReceivePushMessage(Unknown Source) com.nexacro.xpush.service.provider.SocketPushMessageProviderProtocolService.distribute(Unknown Source) com.nexacro.xpush.service.provider.SocketPushMessageProviderProtocolService.analyze(Unknown Source) com.nexacro.xpush.service.provider.SocketPushMessageProviderService$SocketReader.read(Unknown Source) com.nexacro.xpush.service.provider.SocketPushMessageProviderService$SocketReader.consume(Unknown Source) jp.ossc.nimbus.daemon.Daemon.run(Daemon.java:394) java.lang.Thread.run(Thread.java:853) [DEBUG] [10.0.1.154]:10187 [dev] closing selector hz._hzInstance_1_dev.IO.thread-2 [DEBUG] [10.0.1.154]:10187 [dev] Closing server socket channel: sun.nio.ch.ServerSocketChannelImpl[/0.0.0.0:10187] [DEBUG] [10.0.1.154]:10187 [dev] Shutting down the concurrentMapManager [DEBUG] [10.0.1.154]:10187 [dev] Destroying CMap[c:__hz_Locks] [DEBUG] [10.0.1.154]:10187 [dev] Destroying CMap[m:u:ONLINE_USERINFO] [DEBUG] [10.0.1.154]:10187 [dev] Shutting down the partition manager [DEBUG] [10.0.1.154]:10187 [dev] Shutting down the cluster service [DEBUG] [10.0.1.154]:10187 [dev] Shutting down the cluster manager [DEBUG] [10.0.1.154]:10187 [dev] Shutting down the executorManager [TRACE] [10.0.1.154]:10187 [dev] Destroying node initializer. [DEBUG] [10.0.1.154]:10187 [dev] Shutting down thread hz._hzInstance_1_dev.HealthMonitor [TRACE] [10.0.1.154]:10187 [dev] Hazelcast Shutdown is completed in 2261 ms.
SSL Certificate
MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED | The website’s certificate does not comply with Mozilla’s CA certification program |
SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE | The date of the certificate is not valid |
SEC_ERROR_EXPIRED_CERTIFICATE | The date of the certificate has expired |
SEC_ERROR_UNKNOWN_ISSUER | The certificate cannot be trusted as the issuer certificate is unknown |
MOZILLA_PKIX_ERROR_MITM_DETECTED | The certificate cannot be trusted as the issuer certificate is unknown |
ERROR_SELF_SIGNED_CERT | The certificate cannot be trusted as the certificate is self-signed |
SSL_ERROR_BAD_CERT_DOMAIN | Firefox does not trust this site as it uses a certificate that is not valid for specific sites |
For errors as above, valid certificate replacement is required
Common checklist
You must run with root privileges for the system to run on a port number below 1024.
If the system starts normally, but there is no response, use the "-monitor" command to verify whether the current system's remaining tasks are being processed or have stopped. Restart the system if stopped.
An X-PUSH server does not operate properly under JDK 1.6.0_27.
Client checklist
Encourage clients to check the use of personal firewalls and verify.
Check the firewall status for an X-PUSH Server and the client. As each firewall status is different depending on the network, some features may not work in certain areas.
Message Client
Error code: "-300" | |
---|---|
Cause | Failure to connect to the X-PUSH Server. |
Solution | Make sure that the port matches the operating server. The default value at the time of deployment is 50001. The Message Provider must also support two-way communication. Check to make sure that the port is set for two-way communication in the firewall. |
Error code: "-201" or "-202" | |
---|---|
Cause | Connected, but failed authentication. |
Solution | Check the ID and password. Verify that the authenticator is operating normally. Check the authentication system. You can perform tests using demo programs. This may also occur if the maximum number of concurrent users that can be processed by the server is exceeded. In such cases, check the log file. |
When connecting to the X-PUSH server, the -801 error occurs only on mobile and operates at runtime. | |
---|---|
Cause | Different path setting in the mobile environment |
Solution | %USERAPP% alias must be prefixed in front of the path name on mobile. - Example - Runtime: AA::push_message_layout.xml Mobile: %USERAPP%/AA/push_message_layout.xml |
Cannot receive messages from X-PUSH server | |
---|---|
Cause | Step-by-step processing not performed properly |
Solution | Check for the step-by-step process. 1) Check whether the Connection has been normally performed. 2) Check whether the Subscribe has been normally performed. 3) Check whether the layout has been properly set in the xpush object. 4) Check whether the field values of layout and columns of dataSet match. |
Script checklist
When using a Linux shell script, if you enter factors containing special characters,
the script may not run properly.
ex) event not found
If you enter the factor value between '' (single quotation marks), it will run normally.
Patch Notes
If you want to patch from a version prior to v2.8.9 to a version v2.8.9 or higher,
we recommend that you modify the $XPUSH_HOME/conf/xpush_config.xml contents as needed based on the version of the product you wish to patch.
Reason for recommendation: When patching to reflect Log4j2 in v2.8.9, there are many things that need to be modified, and there are changes such as script addition in v2.8.12 and later versions, so manual patching may be difficult.