Windows Store apps which use MSHTML cause freezes when in the background #4572

Closed
nvaccessAuto opened this Issue Oct 24, 2014 · 4 comments

Comments

Projects
None yet
1 participant
@nvaccessAuto

Reported by jteh on 2014-10-24 04:48
Str:

  1. Open the "Store" app.
  2. Wait a few seconds until focus lands in the document.
  3. Alt+tab to another application.
  4. Wait 5 seconds.
  5. Move focus somewhere.
  • Result: Freeze!

I think this is because the app process gets suspended when it moves to the background and the isAlive property on the VirtualBuffer tries to query an object in that process. I definitely see isAlive in the stack for the freeze warning.
Blocking #4744, #4784

@nvaccessAuto

This comment has been minimized.

Show comment Hide comment
@nvaccessAuto

nvaccessAuto Oct 24, 2014

Comment 1 by nvdakor on 2014-10-24 04:58
Hi,
Confirmed. An easier way to reproduce this freeze is to open Store, then open File Explorer (Windows+E), wait a few seconds and try moving down the folder liset.
Here's what's recorded in the log when trying to down arrow through folder list in File Explorer than attempting to open log viewer:

DEBUGWARNING - watchdog._watcher (21:55:36):
Trying to recover from freeze, core stack:
  File "nvda.pyw", line 182, in <module>
  File "core.pyc", line 372, in main
  File "wx\_core.pyc", line 8657, in MainLoop
  File "wx\_core.pyc", line 7952, in MainLoop
  File "core.pyc", line 343, in Notify
  File "queueHandler.pyc", line 83, in pumpAll
  File "queueHandler.pyc", line 50, in flushQueue
  File "eventHandler.pyc", line 61, in _queueEventCallback
  File "eventHandler.pyc", line 138, in executeEvent
  File "eventHandler.pyc", line 151, in doPreGainFocus
  File "api.pyc", line 114, in setFocusObject
  File "treeInterceptorHandler.pyc", line 46, in cleanup
  File "baseObject.pyc", line 21, in __get__
  File "virtualBuffers\MSHTML.pyc", line 204, in _get_isAlive
  File "baseObject.pyc", line 34, in __get__
  File "baseObject.pyc", line 110, in _getPropertyViaCache
  File "NVDAObjects\IAccessible\__init__.pyc", line 770, in _get_IAccessibleRole
  File "comtypes\__init__.pyc", line 795, in __call__

Using latest next (October 23rd build) under Windows 8.1. Thanks.

Comment 1 by nvdakor on 2014-10-24 04:58
Hi,
Confirmed. An easier way to reproduce this freeze is to open Store, then open File Explorer (Windows+E), wait a few seconds and try moving down the folder liset.
Here's what's recorded in the log when trying to down arrow through folder list in File Explorer than attempting to open log viewer:

DEBUGWARNING - watchdog._watcher (21:55:36):
Trying to recover from freeze, core stack:
  File "nvda.pyw", line 182, in <module>
  File "core.pyc", line 372, in main
  File "wx\_core.pyc", line 8657, in MainLoop
  File "wx\_core.pyc", line 7952, in MainLoop
  File "core.pyc", line 343, in Notify
  File "queueHandler.pyc", line 83, in pumpAll
  File "queueHandler.pyc", line 50, in flushQueue
  File "eventHandler.pyc", line 61, in _queueEventCallback
  File "eventHandler.pyc", line 138, in executeEvent
  File "eventHandler.pyc", line 151, in doPreGainFocus
  File "api.pyc", line 114, in setFocusObject
  File "treeInterceptorHandler.pyc", line 46, in cleanup
  File "baseObject.pyc", line 21, in __get__
  File "virtualBuffers\MSHTML.pyc", line 204, in _get_isAlive
  File "baseObject.pyc", line 34, in __get__
  File "baseObject.pyc", line 110, in _getPropertyViaCache
  File "NVDAObjects\IAccessible\__init__.pyc", line 770, in _get_IAccessibleRole
  File "comtypes\__init__.pyc", line 795, in __call__

Using latest next (October 23rd build) under Windows 8.1. Thanks.

@nvaccessAuto

This comment has been minimized.

Show comment Hide comment
@nvaccessAuto

nvaccessAuto Jan 12, 2015

Comment 4 by Michael Curran <mick@... on 2015-01-12 09:42
In [0acfa72]:

Merge branch 't4572' into next. Incubates #4572

Changes:
Added labels: incubating

Comment 4 by Michael Curran <mick@... on 2015-01-12 09:42
In [0acfa72]:

Merge branch 't4572' into next. Incubates #4572

Changes:
Added labels: incubating

@nvaccessAuto

This comment has been minimized.

Show comment Hide comment
@nvaccessAuto

nvaccessAuto Jan 29, 2015

Comment 5 by Michael Curran <mick@... on 2015-01-29 00:10
In [2a05a8f]:

Merge branch 't4572'. Fixes #4572

Changes:
Removed labels: incubating
State: closed

Comment 5 by Michael Curran <mick@... on 2015-01-29 00:10
In [2a05a8f]:

Merge branch 't4572'. Fixes #4572

Changes:
Removed labels: incubating
State: closed

@nvaccessAuto

This comment has been minimized.

Show comment Hide comment
@nvaccessAuto

nvaccessAuto Jan 29, 2015

Comment 6 by mdcurran on 2015-01-29 00:12
Changes:
Milestone changed from None to 2015.1

Comment 6 by mdcurran on 2015-01-29 00:12
Changes:
Milestone changed from None to 2015.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment