New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 917496 link

Starred by 5 users

Inconsistent behavior of "app managing power" policy for Citrix Workspace app in Kiosk mode

Project Member Reported by ykrychala@google.com, Dec 21

Issue description

ChromeOS version: 71.0.3578.94 
ChromeOS device model: 	ASUS Chromebox CN62
Case#: 17833614

Description:
The issue consist of several observations:
1) Chrome devices running citrix workspace app in kiosk mode. At citrix login screen, screen never sleeps, never gets screensaver. This is as expected. When a user logs in, screen will sleep at various times. 

2) If a user logs in to citrix app, with “Allow App to manage power” OFF, the chromebox will sleep after 7-10 minutes (monitor dims, monitor sleeps, chromebox sleeps). Upon wake, the session freezes and the login page eventually refreshes causing the user to log back in to the session. 

3) If a user logs in to citrix app, with “Allow App to manage power” ON, the screen will sleep after 5-10 seconds. If user wakes screen, session is still alive and chromebox never sleeps (just the monitor). 

4) Two OU's with mirrored settings do not match expected behavior. Older OU works fine, newer OUs  with same settings are experiencing this problem. 

I believe #3 and #4 are not what is expected so they may require a fix.

Steps to reproduce: 
1. Put a device in a single-app kiosk mode, running Citrix Workspace
2. Enable "Allow app to manage power" for this application
3. Wait 5-10 seconds

Current Behavior / Reproduction: 
Device's screen goes to sleep mode, the device itself is active

Expected Behavior: 
Device's screen stays on all the time, as application manages the power.

Drive link to logs: 
https://drive.google.com/open?id=1A2ndES8-0HiJVpSpE2aBNVJoIR4l7uEY (policies, logs, etc)

Device's S/N:
H6MSCX002691


 
#2 may also be an issue but I'm not sure.
Customer has already engaged Citrix regarding this behavior.
Should we ask customer for test credentials for Citrix Workspace to reproduce the issue?

Components: -Platform>Extensions Platform>Apps
Cc: rdevlin....@chromium.org derat@chromium.org tbroch@chromium.org fshao@chromium.org eryen@chromium.org dchan@chromium.org mqg@chromium.org patricia@chromium.org matthewjoseph@chromium.org puthik@chromium.org ravisadineni@chromium.org ryutas@chromium.org bleung@chromium.org ka...@chromium.org
Dear team,

Could someone help with the triage of this bug?
One of our top Enterprise customers is asking for some updates on this issue.

Thank you in advance.
[ADDITIONAL INFORMATION]

Customer has been informed by Citrix team that they have implemented a new version of the affected app that will have the ability to manage the power settings 
(They are testing the new version (in beta for the time being) and it seems that it works fine). 

However, they need to understand why the previous version was working as intended in one OU  but not anymore after being moved to a different OU,
even if the settings were the same as well as the app version. 

Cc: r...@chromium.org michae...@chromium.org atwilson@chromium.org
Labels: Needs-Feedback
I'm unable to interpret logs without seeing a timeline of when unexpected behavior was observed.

I also suspect that no one at Google knows exactly what the Citrix app is doing. Can you add someone from Citrix to this bug to provide context about what their code is calling (the chrome.power API?) and when?

I think that "Allow app to manage power" configures very short inactivity delays, with the expectation that the kiosk app will use chrome.power.requestKeepAwake to prevent the system from suspending most of the time. The behavior that you describe in the third case might imply that the app isn't calling requestKeepAwake properly. But I'm just guessing.
@derat: 

Regarding the "timeline" there is a readme.txt in the zip with a lot of information. 
I hope this helps.

Cc: valleau@chromium.org jkwang@chromium.org dmitrygr@chromium.org luum@chromium.org pawliczek@chromium.org
#7: Thanks for pointing that out. Someone from Citrix still needs to describe their app's behavior (in terms of the chrome.power API), though.
Citrix Comment:
Following are our observations with respect to 'Allow app to manage power' in kiosk :

When ‘Allow app to manage power’ is enabled
1)	If kiosk app is not calling chrome.power api, the screen goes off ~2 secs but it keeps the system active in background.
2)	If kiosk app calls chrome.power.requestKeepAwake(“display”), screen doesn’t go off and system also remains active, which is the expected behavior.
3)	 If kiosk app calls chrome.power.requestKeepAwake(“system”), screen  goes off and keeps the system active. (Same as 1). Not sure if this is intended behavior.

 When ‘Allow app to manage power’ is disabled
1)	If kiosk app calls chrome.power.requestKeepAwake(“display”), screen doesn’t go off and system also remains active. So app is still able to use chrom.power api, which is not expected.
2)	 If kiosk app calls chrome.power.requestKeepAwake(“system”), screen  goes off in ~ 6 minutes and keeps the system active. So app is still able to use chrom.power api, which is not expected.

Based on policy description at https://support.google.com/chrome/a/answer/6177447?hl=en, it should not allow us to call chrome.power API, if “Allow app to manage power” is not enabled. But it is allows as observed by us.



#10: That documentation is misleading, unfortunately. Here's what I wrote in a recent email thread:

---

The chrome.power API predates the "Allow app to manage power" policy and behaves the same regardless of whether or not the policy is set: while a keep-awake request is held, power management is inhibited.

The policy sets a very short idle timeout to essentially give the app the ability to manage the system's state almost in real time by using chrome.power to hold or release keep-awake requests.

The document at http://go/powerd/docs/inactivity_delays.md may be helpful if you haven't already seen it.

---

This would be a more accurate description of the policy: "Sets power management inactivity delays to very short intervals. The app must call chrome.power.requestKeepAwake (https://developer.chrome.com/apps/power) immediately after being launched and can then call chrome.power.releaseKeepAwake when it wants the system to go to sleep."

---

As I understand it (but someone who works on enterprise should confirm), the policy just sets short inactivity delays after the app has been started. If I'm remembering correctly, the intent was to give apps a way to suspend the system (almost) immediately using the existing chrome.power functionality.

If you don't enable the policy, the delay between calling chrome.power.releaseKeepAwake and the system turning its display off or suspending is much longer (the same as on a normal non-kiosk Chrome OS system), on the order of minutes rather than seconds. Without the policy, there's no way to make the system go to sleep quickly.

Sign in to add a comment