Troubleshooting

This section describes problems that can occur at the start of or during system operation.

The topics are as follows:

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.


C:\tobesoft\xpush-2.0\bin>startup.bat

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.


mashup@mashup-linux:~/tobesoft/xpush-2.0/bin$ ./startup.sh

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.


C:\tobesoft\xpush-2.0\bin>startup.bat

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.


2007.06.29 09:59:35,SYSTEM_INFO,[SVCL_00005]ServiceURL was set up : file:/E:/mipush/conf/xpush_config.xml

2007.06.29 09:59:35,SYSTEM_ERROR,[SVC__00037]Exception occurred in start() processing of Service "PushServer#SocketPushMessageProvider."

java.net.BindException: Address already in use: bind

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.


E:\xpush\bin>startup.bat

Exception in thread "main" java.lang.NoClassDefFoundError: com/tobesoft/xpush/server/XPushServer

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.


D:\work\temp\bin>startup.bat

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.


tester:[/home/user2]startup.sh

ksh: startup.sh: 0403-006 Execute permission denied.

tester:[/home/use2]

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.


E:\xpush\bin>startup.bat

Error occurred during initialization of VM

Could not reserve enough space for object heap

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.


2007.07.04 14:30:30,SYSTEM_ERROR,[SVC__00037]Exception occurred in start() processing of Service "PushServer#MiPlatformProtocolAuthenticator."

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.


2007.07.04 14:34:55,SYSTEM_INFO,[SVCL_00005]ServiceURL was set up : file:/e:/xpush/conf/xpush_config.xml

[2007/07/04 14:34:55.609][INFO] message provider started with listening port 50002

[2007/07/04 14:34:55.625][WARN] TobePublishContainerService: loading MessageFormatter failed. class = DummyMessageFormatter

[2007/07/04 14:34:55.656][WARN] TobePublishContainerService: loading MessageFormatter failed. class = DummyMessageFormatter

[2007/07/04 14:34:55.656][WARN] TobePublishContainerService: loading MessageFormatter failed. class = DummyMessageFormatter

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.


2007.07.04 14:34:55,SYSTEM_INFO,[SVCL_00005]ServiceURL was set up : file:/e:/xpush/conf/xpush_config.xml

[2007/07/04 14:34:55.609][INFO] message provider started with listening port 50002

[2007/07/04 14:34:55.625][WARN] TobePublishContainerService: loading PushedMessageProcessor failed. class = DummyPushedMessageProcessor

[2007/07/04 14:34:55.656][WARN] TobePublishContainerService: loading PushedMessageProcessor failed. class = DummyPushedMessageProcessor

[2007/07/04 14:34:55.656][WARN] TobePublishContainerService: loading PushedMessageProcessor failed. class = DummyPushedMessageProcessor

Error: no server' JVM at C:\Program Files\Java\jre1.8.0\bin\server\jvm.dll'

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.


E:\xpush\bin>startup.bat

Error: no server' JVM at C:\Program Files\Java\jre1.8.0\bin\server\jvm.dll'.

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.


[2015/02/02 13:29:08.840][ERROR] Invalid license

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

[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
[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.

  1. 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') ]
  1. 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') ]
  1. 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]
  1. 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.

  1. 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.

  1. 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.


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)

In the Case of Notification Not Being Delivered to APNs

[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.

Testing Messages with APNS Server

[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
[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

Renewing APNS Certificate

[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.

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)
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)
[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.

[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

[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.

Testing Messages with FCM Server

[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)
[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

[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.


Could not accept connection : java.net.SocketException: Too many open files

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.


[2007/07/04 14:00:46.578][TRACE] provider(127.0.0.1:2338) : connection closed.

e=java.lang.OutOfMemoryError: Java heap space

[2007/07/04 14:00:46.578][DEBUG] provider : exception occured.

java.lang.OutOfMemoryError: Java heap space

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.


[2007/07/04 15:02:06.312][DEBUG] provider(127.0.0.1:3077) : action=PUSH

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

https://support.mozilla.org/en-US/kb/what-does-your-connection-is-not-secure-mean

Common checklist

Client checklist

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.