cancel
Showing results for 
Search instead for 
Did you mean: 

Connection reset by peer

dm21
Participant
0 Kudos

Hi ,

We are trying to synchronize agentry applications running on the SMP Server ,In the middle of the synchronization we get disconnected from the server with communication error (14) .We are connecting to the SMP Server through WiFi .There is no Disconnection of the WifI in the middle of the synchronization.

Can somebody suggest a solution for this

Version SMP Server : SMP SP 05.

java/net/SocketException, java.net.SocketException: Connection reset by peer: socket write errorAngelJavaStreamsConnection.cpp#195:AngelJavaStreamsConnection::handleException 08/10/2015 13:57:30, 1,         4,3221225477, Thr       9224, EXCEPTION_ACCESS_VIOLATION, 000000007A0A11E2, 0, R, 0000000000000000, ..\agentry\threadManager.cpp#359:ThreadManager::WorkerThread::function 

Thanks,Deepak.M

Accepted Solutions (0)

Answers (2)

Answers (2)

mark_pe
Active Contributor
0 Kudos

Deepak,

If you are using your very own custom Agentry application, you may try to check your time out values as indicated in two areas:

1) The App Setting Inactive Timeout of your SAP Mobile Platform 3.0 Cockpit.

2) The Transmit configuration time out based on your stay connected to the server settings in the Agentry editor.

3) If you are using SAP Work Manager 6.2 you may be seeing this issue:

  • 2195429 - Communication Error 14 - Agentry 2195429 - Communication Error (14) and SMP 3.0 URL connection states "I am here" - SMP 3 Agentry (This is the most common solution for token type of issue).

Reference: http://service.sap.com/sap/support/notes/1814081 - Troubleshooting Error 14.

Hope this helps.

Mark Pe
SAP Platinum Support Engineer

dm21
Participant
0 Kudos

Hi Mark,

Thank You for the Reply.

We are using the SAP Work Manager 6.2 and the SAP Rounds Manager 3.0 .Both the applications fails to sync ,It syncs for around 30 to 40 mins and then it stops with the above error.

1. The app Inactive timeout is 10 times higher than the recommended timeout.

2. The transmit configuration is not set.Right now the "stay connected to the server"  checkbox is unchecked.

Thanks,

Deepak.M

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

Deepak,

You also need to look at your network configuration and routing.  It could be there is a timeout within the network that it dropping the websockets connection while you are still transmitting.

--Bill

mark_pe
Active Contributor
0 Kudos

Deepak,

At the point of failure (Time), what does the log say in the main three main log files (messages.log, serverName-smp-server.log and the user log)?

If you still have the agentry.ini you can find all the timeouts or inactive time outs or find the time outs in the cockpit and increase it.

One more technique you can do is start playing with the stay connected to server in the transmit configuration section of the editor and set it to at least 1 hour. 

You said it times out at 40 minutes. Now after you set the stay connected to server for 1 hour see if you get disconnected at 60 minutes instead (or for testing set this to 2 hours) and see if it works. Check all the 3 logs again.

As mentioned, if you have token issues (expiration) you may see my reference above.

Regards,

Mark Pe
SAP Platinum Support Engineer

dm21
Participant
0 Kudos

Hi Bill,

I have confirmed with the network team about the timeouts its increased to maximum now.

Thanks,

Deepak.M

dm21
Participant
0 Kudos

Hi Mark,

Thanks for your reply,

The log files shows the error message as above in my post.

I have contacted network guys and they have made some changes to the network settings and now i see the following error message in the logs

Worker Thread###Exception: 08:30:31 08/13/2015 : 3 (Agentry), XFailedToSendResponse (622, 7, 72, 856530, ), ..\agentry\netmsg.cpp#280:NetMessage::respond |

and about the setting in the agentry.ini file ,I have made changes to the agentry.ini for the stay connected to server to 60 mins but still it disconnects prior to 60 mins.

Please help..

Thanks,

Deepak.M

mark_pe
Active Contributor
0 Kudos

Deepak,

Let me give you some more analysis:

1)  NetMessage::respond issue is tied to a network disruption. Normally you will see this when you are in WiFi or GPRS where you drop the signal. You see this with technicians entering the production floor close to big refrigeration units (thick metal) where your signal may drop (other examples: Elevator, Tunnel while driving, driving in the middle of the forest - large trees).

2) You said: and about the setting in the agentry.ini file, I have made changes to the agentry.ini for the stay connected to server to 60 mins but still disconnects prior to 60 mins.

Just wondering if the stay connected was actually setup. Just in case, here are some info.

Normally the stay connected to the server is under transmitconfiguration.ini file. Some of my other colleagues will state that they can do this in the agentry.ini but I technically always use the transmitconfiguration.ini as I believe this is the area you can control the clients time out.

The notes I copied below is available in the SAP Help online doc. If you ask me if I can find it in our online search, I normally struggle sometimes how to find it.  So I'll paste my own copy of the online page.

For other people reading my comment here. Here is your copy of what other potential parameters you can use for the Agentry transmitconfiguration.ini. As I stated it is available in the Help.sap or online documentation but sometimes I am having a hard time finding it (you may bookmark or copy my statement below).

This transmitconfiguration.ini should be part of your application.zip file with the stayconnected value setup. (Every time number is assumed seconds unless stated otherwise).

~~~~~~~From SMP 3.0 SDK 9.0 doc ~~~~~~~~~~~~~~~~

  1. TransmitConfigurations.ini

Within the TransmitConfigurations.ini file there is one section for each transmit configuration defined within the application, denoted as [<TransmitConfigurationName>], where <TransmitConfigurationName> is the name of the definition within the application project. Each section can contain override values for any and all attributes within a given transmit configuration definition.

The following example shows several options that are valid within each section of the TransmitConfigrations.ini override file. The value for stayLoggedIn overrides the general attribute Stay Logged In.

[<TransmitConfigurationName>]

stayLoggedIn=true

retryPeriod=30

retryAttempts=5

onlineRetryAttempts=5

synchronousRetryAttempts=5

synchronousRetryPeriod=30

serverInactiveTimeoutOverride=300

All other attributes within the transmit configuration definition can be overridden using the proper key and value pair. Any attributes not overridden within this file are sent to Agentry Clients as defined in the application project.

When using this override file for multiple Agentry applications, each server should have its own version of this file with its required configuration settings unique to that server instance.

  1. TransmitConfigurations.ini Attributes

For information about the definition attributes, see Transmit Configuration in Developer > Agentry App Development > Agentry Language Reference > Application Level Definitions Overview.

Table 1: General Settings

Override Item

Setting

Acceptable Values

Description

Name

The unique name of the transmit configuration. This value must be unique for all transmit configurations defined for the application.

displayName

Display Name

Any printable text.

Each transmit configuration defined in the application is listed in the Transmit Dialog on the Agentry application, so choose an appropriate Display Name that is clear to the application end user.

connectType

Connect Type

WebSockets over HTTPS

The communications protocol used when synchronizing with SAP Mobile Platform Server

xmitConfigGroup

Group

Transmit Configuration Group Name

The group into which the transmit configuration is organized within the application. Two default options are provided, Fast and Slow, or you can create a new group by entering a name in this field. It is then available in the drop-down list for all transmit configurations within the same application project.

failoverTo

Failover to

Name of other transmit configuration definition.

If the Agentry application is unable to connect the server using the first transmit configuration, you can select a failover transmit configuration. You can set to this attribute to any other transmit configuration within the application.

checkDataTables

Check Data Tables

true/false

Specifies whether the data tables within the application are synchronized when the transmit configuration is used.

NoteConsider not selecting this attribute for transmit configurations intended for slower connection types.

.

checkComplexTables

Check Complex Tables

true/false

Specifies whether complex tables within the application are synchronized when the transmit configuration is used.

NoteConsider not selecting this attribute for transmit configurations intended for slower connection types.

Table 2: Session Attributes

Override Item

Setting

Acceptable Value

Description

trackXmitEvents

Track Transmit Events

true/false

Whether to track transmit events.

stayLoggedIn

Stay Logged In

Select to indicate that the client user remains logged in and the application remains connected to the server to support real-time communications within the mobile application, which includes background sending and push behaviors. Set this attribute when an Agentry application requires a constant network connection to the back-end data.

promptOnLogin

Prompt on Log In

true/false

Select to display a prompt when the connection between the application and the server is lost, and the application attempts to reconnect.

promptOnLogout

Prompt on Log Out

true/false

Select to display a prompt when the Agentry application is logged out of the server.

serverInactiveTimeoutOverride

Inactive Timeout

Duration value in number of seconds.

Specifies the time limit in seconds to keep the application connected to the server, both when there is no data transmission activity between the client and server, and during an actual transmit. If you experience frequent disconnects, increase this number.

attemptOnlinePeriod

When Off-line

-1: Stay Off-line

1+: Attempt to work on-line every [1+] seconds

If the connection to the server is lost, indicates whether to stay offline or attempt to reconnect at the specified interval.

onlineRetryAttempts

Attempts

Number of attempts to connect to server.

If you select to reconnect when offline, indicate the number attempts to reconnect. If the reconnect attempts fail, how the application responds depends on the Transmit Configuration attributes you defined. For example, the application can display a prompt or switch to the failover transmit configuration.

reconnectAttemptPeriod

Reconnect Attempt Period

Duration value in number of seconds

If online, indicates how often the client should try to reconnect.

retryPeriod

Retry Period

Duration value in number of seconds

If the connection to the server is lost, indicates how long to attempt to reconnect.

synchronousRetryPeriod

Synchronous Retry Period

Duration value in number of seconds

How often to retry a synchronous transmit.

synchronousRetryAttempts

Synchronous Retry Attempts

Number of synchronous attempts to connect to server.

Number of retries to make in a synchronous transmit.

synchronousPlaySuccessSound

Synchronous Play Success Sound

true/false

Whether to play a sound on synchronous success.

synchronousPlayFailureSound

Synchronous Play Failure Sound

true/false

Whether to play a sound on synchronous failure.

synchronousFailureSound

Synchronous Failure Sound

string

Identifies the failure sound to play, if enabled. If left blank, a default error beep is used.

synchronousSuccessSound

Synchronous Success Sound

string

Identifies the success sound to play, if enabled. If left blank, a default "OK" beep is used.

Note

The synchronous transmit settings refer to communication that results from a transmit step in an Agentry action, not background sending nor pushes.

Table 3: Background Sending

Override Item

Setting

Acceptable Values

Description

backgroundConnection

Allow background sending from client

true/false

Whether to send transactions over background sending.

retryPeriod

Retry Period

Duration in number of seconds

If background sending is enabled, specifies the amount of time in seconds to wait between failed attempts to send a transaction.

retryAttempts

Retry Attempts

Number of background sending attempts to connect to server

If background sending is enabled, the number of attempts to send the transaction over background sending.

Table 4: Push

Override Item

Setting

Acceptable Values

Description

Allow server to push data to client

None

Select to allow the server to push data to the application. A Pushes module definition must exist for the application. Users connecting to the server are logged in as Push Users.

NoteYou must set this attribute before you can set the other Push attributes for the transmit configuration..

retryPeriod

Retry Period

None

If Allow Server to Push Data to Client is selected, specifies how long the server waits before attempting to resend data for a push when a failure occurs.

attempts

Attempts

None

If Allow Server to Push Data to Client is selected, specifies how many attempts to push data to the application when a failure occurs.

Table 5: Modem Settings

Override Item

Setting

Modem Attribute

Description

networkConnectionCheck

Check for Modem Connection

true/false

Select to specify whether that the Agentry application checks for a modem connection when using the transmit configuration prior to beginning the transmit.

NoteYou must set this attribute before you can set the other Modem Connection attributes for the transmit configuration.

networkConnectionName

Connection Name

Name of Windows network connection.

Two options:

  • Any Dial-up Connection requires that the user establishes the network connection manually outside the mobile application before beginning the transmit. In this case, the remaining modem connection attributes are disabled.
  • Name of any Windows network connection configured on the client device. This option uses the settings of the specified connection to establish the modem connection to the network.
connectNetwork

If Not Connected

true/false

Specifies that the application attempts to create a connection using the specified Windows network connection when there is no current connection. If this option is not selected, the remaining modem connection attributes are disabled.

networkConnectionPrompt

Connect Prompt

Any printable text. Carriage returns not allowed. Text will auto-wrap when displayed on client.

Provides a message or instructions to the user on the client prior to attempting to create a modem connection. Leave blank if no message is required.

dialUsernamePrompt

Prompt User for Dial-up Username

true/false

If selected, prompts the user to enter a user name for the network connection, which is used as the login name for the network connection once the modem’s hand shaking processes are successful. If this option is not selected, the Agentry application login is used.

dialPasswordPrompt

Prompt User for Dial-up Password

true/false

If selected, prompts the user to enter a password for the network connection. If this option is not selected, the Agentry application password is used.

modemInitWait

Modem Init Wait

Duration value in milliseconds

Specifies the amount of time in milliseconds to wait for the client device’s modem to initialize before beginning the dial-up process.

postConnectWait

Post-connect Wait

Duration value in milliseconds

Specifies the amount of time in milliseconds to wait after the network connection is made before beginning the transmit process between the client and server.

closeConnectionPeriod

Close Connection

Duration value in seconds.

Specifies when to close the modem connection once no more data is being transmitted between client and server:

  • Never
  • If the connection is idle for the specified number of minutes and seconds.

remindToTurnOnModem

Remind to Turn On Modem

true/false

Whether to remind user to turn on modem.

remindToTurnOffModem

Remind to Turn Off Modem

true/false

Whether to remind user to turn off modem..

Hope this helps.

Regards,
Mark Pe
SAP Platinum Support Engineer

Former Member
0 Kudos

Sounds like you might be running into a time out issue, how long does the client transmit before getting the error?

dm21
Participant
0 Kudos

Hi Stephen,

Client transmits for around 30 to 40 mins and then we get this error.

Thanks,

Deepak.M