Troubleshooting session disconnections
Problem
PCoIP sessions are getting disconnected for no apparent reason. PCoIP session disconnections can be random events, occur after a certain time has elapsed or impact all PCoIP sessions at once or just one PCoIP session, either way they are disruptive and frustrating.
Cause
There are many different possible causes of session disconnections from network conditions, crashes, reboots, updates, etc.
Resolution
This article provides a brief list of troubleshooting steps for common issues, it is not intended to be a comprehensive troubleshooting guide
When troubleshooting session disconnections start by establishing basic information.
- What is the exact time the disconnection occurred?
- Did the user try to reconnect? If so, did the PCoIP session resume where it left off or had the machine rebooted / got a new machine?
- Did the Software Client close and have to be reopened?
- Did the PCoIP Zero Client reboot and went through the boot process with the PCoIP splash screen?
Disconnect Codes
The best place to start is the disconnect codes. All session disconnections have a code associated with them so you can establish how the session was disconnected. A lack of disconnection code also tells us how the session terminated, I.E. the component crashed or was unexpectedly terminated. All the session disconnection codes are listed here
What do the PCoIP server log disconnect codes mean?
How to find the disconnection code
PCoIP Zero Client
Connect to the PCoIP Zero Client's AWI and open the event log. Using the time of the reported session disconnection find the time in the logs.
Note:
- Teradici highly recommends NTP is set on the zero client to allow for efficient troubleshooting.
- Times in the log files are recorded in 24 hr UTC. E.G. 15:00 Pacific Standard time would be 23:00 UTC in the log files.
Around the time of the disconnection you will usually find many messages with the word TEARDOWN. Teardown is the process in which the PCoIP sessions closes and indicates that the PCoIP Zero Client did not crash, did not loose power and the power button was not held down. Around all the messages for Teardown you will find a lot of error messages and noise most of which can be ignored. What you need to find is why the session went into the Teardown phase which is log at the start or just before all the Teardown messages.
Examples
These are only examples of disconnection reasons. Please see What do the PCoIP server log disconnect codes mean? for an exhaustive list.
This message indicates that the power/disconnect button on the client was pushed.
2018-02-22T02:34:44.52Z> LVL:3 RC: 0 MGMT_SYS :Disconnect button pressed 2018-02-22T02:34:44.52Z> LVL:3 RC: 0 MGMT_SYS :(gpio_cback): queuing EVENT_GPIO_DISCONNECT_BUTTON_PRESSED
These messages indicate that the PCoIP zero client received a BYE (end of session) message from the host side. The BYE message is in decimal. The reasons in the next 2 messages are hex. Decial 259 is 0x103 in hexadecimal. Reason 103 is the PCoIP session terminated due to a logoff on the host. More reason codes and be found in What do the PCoIP server log disconnect codes mean?
2018-02-20T06:42:15.35Z> LVL:2 RC: 0 MGMT_PCOIP_DATA :Received BYE message (reason: 259) 2018-02-20T06:42:15.55Z> LVL:3 RC: 0 MGMT_SESS :(pcoip_data_cback): event: 0x20, PRI: 0, reason: 0x103 - queuing EVENT_PCOIP_DATA_CLOSED 2018-02-20T06:42:15.55Z> LVL:3 RC: 0 MGMT_SESS :OPEN: transition 52 into TEARDOWN (PRI: 0) (reason: 0x103)
The logs suddenly stop and the next line is the PCoIP Zero Client booting up. Look after this line for information as to what may have happened.
0d,00:00:00.00> LVL:2 RC: 0 MGMT_SYS :Teradici Corporation (c)2007-2017
This indicates the PCoIP Zero Client either lost power or the power button was held down to power it off.
0d,00:00:00.00> LVL:2 RC: 0 MGMT_SYS :*** Power management post reset state: standalone ***
This indicates the PCoIP Zero Client crashed. Please open a support ticket with Teradici Global Support Services for investigation.
0d,00:00:00> LVL:1 RC: 0 MGMT_SYS :*** CRITICAL ERROR CONTEXT DUMP *** 0d,00:00:00> LVL:1 RC: 0 MGMT_SYS :Reset cause: ROM EXC GENERAL
This indicate the PCoIP Zero Client was rebooted by the Management Console 2.x or greater
0d,00:00:00.00> LVL:2 RC: 0 MGMT_SYS :*** RESET CAUSED BY: PEM ***
PCoIP Agent
Locate the PCoIP Sever Log for the session that was disconnected. Each session will have 1 PCoIP sever log that captures the session from start to finish except if log rotation is enabled there will be many logs for the 1 session ending in the same suffix.
Note:
- Times in the log files are recorded in 24 hr UTC. E.G. 15:00 Pacific Standard time would be 23:00 UTC in the log files
At the end of the logs there will be messages relating to disconnect, shutdown, Teardown and bye. There are many PCoIP internal components that need to stop for the session to end leading to noise in the logs. What you need to filter for is log lines belonging to SERVER, specifically the line containing map_disconnect_cause_to_disconnect_reason.
Examples
These are only examples of disconnection reasons. Please see What do the PCoIP server log disconnect codes mean? for an exhaustive list.
Filtered logs containing messags belonging to SERVER.
2018-03-02T06:50:51.089Z da7d9680-cd69-1feb-9cdb-000000000000 > LVL:2 RC: 0 SERVER :server cleanup: tearing down pcoip with agent disconnect reason (3) and waiting 2018-03-02T06:50:51.089Z da7d9680-cd69-1feb-9cdb-000000000000 > LVL:1 RC: 0 SERVER :`anonymous-namespace'::map_agent_to_tera_disconnect_code: DISCONNECT_MANUAL_LOGOUT(3) -> PCOIP_DISCONNECT_CAUSE_HOST_BROKER_MANUAL_USER_LOGOUT(0x103) 2018-03-02T06:50:51.207Z da7d9680-cd69-1feb-9cdb-000000000000 > LVL:2 RC: 0 SERVER :server main: cb_notify_session_status called (mask 0x20) with disconnect_cause (0x103) 2018-03-02T06:50:51.207Z da7d9680-cd69-1feb-9cdb-000000000000 > LVL:1 RC: 0 SERVER :`anonymous-namespace'::map_disconnect_cause_to_disconnect_reason: PCOIP_DISCONNECT_CAUSE_HOST_BROKER_MANUAL_USER_LOGOUT(0x103) -> DISCONNECT_MANUAL_LOGOUT(3) 2018-03-02T06:50:51.207Z da7d9680-cd69-1feb-9cdb-000000000000 > LVL:2 RC: 0 SERVER :server main: TERA_MGMT_SYS_SESS_EVENT_RESET with disconnect cause (0x103) and is_session_resume=0 2018-03-02T06:50:51.207Z da7d9680-cd69-1feb-9cdb-000000000000 > LVL:1 RC: 0 SERVER :`anonymous-namespace'::map_disconnect_cause_to_agent_close_code: PCOIP_DISCONNECT_CAUSE_HOST_BROKER_MANUAL_USER_LOGOUT(0x103) -> PCOIP_AGENT_CLOSE_CODE_BROKER_INITIATED(2)
Looking for the message we are interested in containing map_disconnect_cause_to_disconnect_reason
Disconnection code 0x103 indicates the user logged out.
2018-03-02T06:50:51.207Z da7d9680-cd69-1feb-9cdb-000000000000 > LVL:1 RC: 0 SERVER :`anonymous-namespace'::map_disconnect_cause_to_disconnect_reason: PCOIP_DISCONNECT_CAUSE_HOST_BROKER_MANUAL_USER_LOGOUT(0x103) -> DISCONNECT_MANUAL_LOGOUT(3)
0x103 indicates the user was logged out but this message may not always be because the user selected log off. Other reasons include:
- The user rebooted or shutdown the machine
- Windows update rebooted the machine
- Software completed an installation and rebooted the machine
- Hypervisor initiated a guest VM reboot
- 3rd Party software initiated a user log off
- Windows logged out a user to apply settings
This session ended with code 0x103 which indicates the user logged out of Windows.
Disconnect code 0x105 is logged indicating the user established a new session to the PCoIP Agent.
2018-03-04T23:49:31.125Z d1afdf00-cf7a-1feb-aeea-000000000000 > LVL:1 RC: 0 SERVER :`anonymous-namespace'::map_disconnect_cause_to_disconnect_reason: PCOIP_DISCONNECT_CAUSE_HOST_BROKER_OVERTAKE(0x105) -> DISCONNECT_FOR_OVERTAKE(5)
0x105 can be logged for many reasons including:
- User moved to another PCoIP Zero Client or Software Client and connected
- Software client or PCoIP Zero Client restarted unexpectedly and the user reconnected before the 60 second session timeout on the PCoIP Agent lapsed. Therefore the PCoIP Agent was still in session when the connection occurred.
- Network conditions caused the 30 second session timeout to lapse on the PCoIP Zero Client. User reconnected within the next 30 second while the PCoIP Agent 60 second session timeout had not lapsed. Therefore, the PCoIP Agent was still in session when the connection occurred.
Disconnection code 0x403 indicates the PCoIP session timed out due to no communication.
2018-03-02T05:47:35.465Z 56062600-cd1f-1feb-8498-000000000000 > LVL:1 RC: 0 SERVER :`anonymous-namespace'::map_disconnect_cause_to_disconnect_reason: PCOIP_DISCONNECT_CAUSE_DEVICE_INTERNAL_PCOIP_LOST(0x403) -> DISCONNECT_SESSION_CLOSE(6)
0x403 can happen for many reasons including:
- PCoIP Client or PCoIP Server crashed
- PCoIP Client host operating system went to sleep or hibernated
- There was a network interuption impacting PCoIP UDP traffic
For network related disconnections refer to How to identify network issues in PCoIP Logs