Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document content not updated when going back to previous page in Firefox #3051

Closed
nvaccessAuto opened this issue Mar 5, 2013 · 17 comments
Closed

Comments

@nvaccessAuto
Copy link

Reported by camlorn on 2013-03-05 19:05
I'm on development snapshot main 9531, and do keep them up to date.
Anyhow, i've seen some exceptions in Firefox, most notably when going back to the previous page. It can happen randomly, however, not only then, and there's a related issue that seems to be part of it. I'll copy/paste the two exceptions I do have at the bottom, but am getting a minimum of one per hour, and have seen up to 4 or 5 in a minute.
This seems to happen most frequently in combination with another issue: sometimes, when moving back (alt+left arrow for completeness), nvda doesn't realize I've done so, and the virtual buffer is stuck on the page I just left. NVDA+f5 to refresh, focus goes to "unknown". I tab, which will put the cursor back in the web page, but I'd say 75% of the time I get an exception. Good news: the web page does work after I do that. Bad news: it often results in the aforementioned exceptions. Stackoverflow questions seem to reproduce the refreshing issue frequently, but it's not always coupled with an exception, and I've seen it in other cases.
I'm on firefox 19.0. The only interesting thing about my system beyond that is that i'm running it in high contrast black color scheme because I have some remaining vision.
I'll continue pulling these exceptions from the log as they happen.

ERROR - unhandled exception (13:46:51):
Traceback (most recent call last):
  File "wx\_misc.pyc", line 1358, in Notify
  File "wx\_core.pyc", line 14771, in Notify
  File "cursorManager.pyc", line 91, in doFindText
  File "virtualBuffers\__init__.pyc", line 662, in makeTextInfo
  File "virtualBuffers\__init__.pyc", line 120, in __init__
  File "textInfos\offsets.pyc", line 274, in __init__
  File "virtualBuffers\__init__.pyc", line 132, in _getCaretOffset
  File "virtualBuffers\__init__.pyc", line 125, in _getSelectionOffsets
WindowsError: [1775](Error) A null context handle was passed from the client to the host during a remote procedure call

ERROR - scriptHandler.executeScript (13:51:59):
error executing script: <bound method Gecko_ia2.script_moveByLine_forward of <virtualBuffers.gecko_ia2.Gecko_ia2 object at 0x0661B9F0>> with gesture u'down arrow'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 165, in executeScript
  File "cursorManager.pyc", line 142, in script_moveByLine_forward
  File "cursorManager.pyc", line 60, in _caretMovementScriptHelper
  File "virtualBuffers\__init__.pyc", line 662, in makeTextInfo
  File "virtualBuffers\__init__.pyc", line 120, in __init__
  File "textInfos\offsets.pyc", line 276, in __init__
  File "virtualBuffers\__init__.pyc", line 125, in _getSelectionOffsets
WindowsError: [1775](Error) A null context handle was passed from the client to the host during a remote procedure call

Blocking #3857

@nvaccessAuto
Copy link
Author

Comment 1 by briang1 on 2013-03-06 05:25
Well, I've seen something very similar in Windows XP as well, I'm not even sure its always in Firefox either. I put it down to the use of a slow machine, as I seldom see it on a dual core machine.
If I get it I'll grab it and see if its the same. Very difficult when its so random though.

@nvaccessAuto
Copy link
Author

Comment 2 by camlorn on 2013-03-07 21:29
I've gotten a few exceptions since I posted this ticket that aren't in firefox, but didn't think to grab them. If they happen again, I will also check to see if it's the same.
Also, forgot to mention. I'm running adblock+, but I really don't see how that could be the problem.

@nvaccessAuto
Copy link
Author

Comment 3 by briang1 on 2013-03-10 19:45
Well, I am of the opinion hat this error is due to perhaps a move being requested when something in the page or maybe a new page is changing or altering in some way.
Here is a longer history to one of these errors, and in thiscase the page used I know can take a while to display s its one of Googles famous I did it our way, ones!

IO - speech.speak (19:21:50):
Speaking u'Gmail'
IO - inputCore.InputManager.executeGesture (19:21:51):
Input: kb(desktop):enter
IO - speech.speak (19:21:51):
Speaking [- inputCore.InputManager.executeGesture (19:21:57):
Input: kb(desktop):downArrow
IO - inputCore.InputManager.executeGesture (19:21:58):
Input: kb(desktop):upArrow
IO - speech.speak (19:21:58):
Speaking [u'link', u'Drive'](u'visited']
IO)
IO - speech.speak (19:21:59):
Speaking link', u'Gmail'
IO - inputCore.InputManager.executeGesture (19:22:01):
Input: kb(desktop):downArrow
DEBUGWARNING - NVDAObjects.IAccessible.Dynamic_DocumentBrokenFocusedStateMozillaIAccessible.get_IA2Attributes (19:22:01):
IAccessibleObject.attributes COMError (-2147220995, 'Object is not connected to server', (None, None, None, 0, None))
IO - speech.speak (19:22:02):
Speaking (25) - brian1gaff@gmail.com - Gmail document'
IO - speech.speak (19:22:02):
Speaking [- scriptHandler.executeScript (19:22:02):
error executing script: <bound method Gecko_ia2.script_moveByLine_forward of <virtualBuffers.gecko_ia2.Gecko_ia2 object at 0x03F1EB90>> with gesture u'down arrow'
Traceback (most recent call last):
File "scriptHandler.pyc", line 165, in executeScript
File "cursorManager.pyc", line 142, in script_moveByLine_forward
File "cursorManager.pyc", line 60, in caretMovementScriptHelper
File "virtualBuffers__init
.pyc", line 662, in makeTextInfo
File "virtualBuffers__init__.pyc", line 120, in init
File "textInfos\offsets.pyc", line 276, in init
File "virtualBuffers__init__.pyc", line 125, in _getSelectionOffsets
WindowsError: [Error 1775](u'table']
ERROR) A null context handle was passed from the client to the host during a remote procedure call
IO - speech.speak (19:22:03):
Speaking [u'clickable', u'clickable', u'main landmark ', u'clickable', u'align default', u'ty Inbox', u'link', u'clickable', u'table', u'row 1

@nvaccessAuto
Copy link
Author

Comment 4 by camlorn on 2013-03-11 22:39
Perhaps this code path needs optimization, or something. I do agree that it seems to be when going fast, but it doesn't seem to be the web page changing. I see this most often when asking nvda to refresh the page because of the aforementioned failures to do it itself when using the back button. I've definitely waited for the page to be finished loading; it seems to be something interesting in NVDA. I've since seen this a few times, always involving moving to or away from the firefox window in some way, but have not captured one of these to make sure that it's the same exception. In order to realize that it is NVDA not refreshing the buffer, when I first found this issue, and not the web page refusing to load, I've had to wait quite a while, and i was seeing it then. This seems to be something new to the development snapshots, perhaps, as I don't recall this in older versions, but I wasn't using it as my primary scree reader any time before the snapshot that introduced the laptop keyboard layout.

@nvaccessAuto
Copy link
Author

Comment 5 by briang1 on 2013-03-12 09:35
Well, I have not had it upset anything but then, I'm used to having to give virtual buffers a kick in IE as there is an old ticket for no virtual buffers created here that only a few of us get, and seemingly the devs cant. It basically means that one has to change the program or pull down a menu to get the buffer to creat. there is no error in that case. However the move back in FF is a known FF issue and seems to have been there to a reater or lesser extent for some time. The error I posted seems not to really affect very much and has been around for some time. Indeed I was going to suggest it is marked as a warning as its just distracting more than functionally an issue, that is until you said it actually caused an issue in your case.
I guess we need more input as I'm on xp but the ff version seems not to be critical but ehe hardware its running on might be. Mine is a single processor withoug multi threading. I've yet to see this error on a dual core laptop.

@nvaccessAuto
Copy link
Author

Comment 6 by camlorn on 2013-03-12 14:22
It's definitely more than annoying, both the exception and the failure to refresh the buffer. is there a ticket for failure to refresh the buffer when using the back button? The particular issue there is that there's no difference between nvda failing to refresh and the web browser taking a very long time to load a web page. It also causes quite a bit of lag; for some reason or other, nvda+f5 in these cases is definitely not very fast.
I'm on a quad core laptop--an alienware M17X--so there's no way that my system is low end enough that that's the problem, as most people have less powerful computers. I'm running windows 7 with all the latest updates.
Are either of you in high contrast black? I was having some issues with jaws related to that, but wouldn't expect them to be in NVDA, at all. I especially wouldn't expect them to show up as exceptions in Firefox, and all of them were related to the mirror display driver, so...
I had figured that this was just the development snapshot--maybe not, then.

@nvaccessAuto
Copy link
Author

Comment 7 by stewie on 2013-03-17 02:10
I'm getting similar errors, most of them seem to be from within firefox. It seems as if the object review focus is being moved to an object that doesn't exist and is calling a function resulting in the error. I have part of the nvda log showing the error:

{{
error executing script: <bound method GlobalCommands.script_review_bottom of <globalCommands.GlobalCommands object at 0x05E6E070>> with gesture u'ctrl+NVDA+end'
Traceback (most recent call last):
File "scriptHandler.pyo", line 165, in executeScript
File "globalCommands.pyo", line 520, in script_review_bottom
File "virtualBuffers__init__.pyo", line 662, in makeTextInfo
File "virtualBuffers__init__.pyo", line 120, in init
File "textInfos\offsets.pyo", line 272, in init
File "virtualBuffers__init__.pyo", line 138, in getStoryLength
WindowsError: 1775 A null context handle was passed from the client to the host during a remote procedure call
ERROR - scriptHandler.executeScript (21:56:37):
error executing script: <bound method GlobalCommands.script_review_bottom of <globalCommands.GlobalCommands object at 0x05E6E070>> with gesture u'ctrl+NVDA+end'
Traceback (most recent call last):
File "scriptHandler.pyo", line 165, in executeScript
File "globalCommands.pyo", line 520, in script_review_bottom
File "virtualBuffers__init
_.pyo", line 662, in makeTextInfo
File "virtualBuffers__init__.pyo", line 120, in init
File "textInfos\offsets.pyo", line 272, in init
File "virtualBuffers__init__.pyo", line 138, in _getStoryLength
WindowsError: 1775 A null context handle was passed from the client to the host during a remote procedure call
}}

@nvaccessAuto
Copy link
Author

Comment 8 by camlorn on 2013-04-21 17:30
I'm still getting exceptions in firefox. I am going to attempt to obtain and attach a longer log in the near future, with debugging enabled.

@nvaccessAuto
Copy link
Author

Comment 9 by jteh on 2013-04-21 22:00
The 1775 "A null context handle was passed from the client to the host during a remote procedure call" error occurs when a buffer has died but you tried to execute a command while this was happening. A buffer dies when the associated document goes away. The error is in itself harmless and should be ignored. NVDA+f5 in this case will not help.

For new cases of this, what is of more interest here is the problems, not the errors. In other words, i don't really care if you see this error. I want to know what actual problem you had. In the reporter's case, it looks like Firefox doesn't move focus to the new document. Some of those issues were fixed in Firefox and I haven't seen this myself any more with Firefox 23 (nightly), but obviously, there are still some cases left.

For the adventurous, it might be worth trying Firefox nightly to see if the problem is fixed there.

@nvaccessAuto
Copy link
Author

Comment 10 by camlorn on 2013-04-22 00:01
The specific problem is that NVDA is, in some cases, failing to recognize that the browser has moved back to a prior page; in those cases NVDA+f5 does help. When i first came across the issue, before I realized what happened, it was identical to slow internet. NVDA would read the web page I was on, even though i wasn't on it anymore, indefinitely. It took quite a while for me to realize that it was in fact going back.
The exception seems to always happen at the same time: NVDA+f5 to refresh the buffer moves the focus to "unknown". Tab will get one back to the document but produce the exception. This still happens as reported for me, though the report could have perhaps been more concise.
The particular annoyance, beyond anything else, is that NVDA then sometimes loses its record of where you were in the previous web page. I can deal with an error sound, but I'm one of those people who browses for fun; having to locate where I was when I hit the back button is definitely annoying.
I am adventurous enough to go try Firefox Nightly. I shall look into it shortly.

@nvaccessAuto
Copy link
Author

Comment 11 by jteh on 2013-04-22 00:16
If NVDA+f5 is helping, it's most likely it's actually just passing f5 (which does happen if there's no buffer). It shouldn't be possible for NVDA+f5 to work in that situation.

Next time this happens, can you try turning on input help mode (NVDA+1) and pressing NVDA+f5? Does it say "refreshes the document content" or just the key name?

@nvaccessAuto
Copy link
Author

Comment 12 by camlorn on 2013-04-22 18:51
It says "refreshes the document content", at least in the one case I checked. I'll continue to watch that just to see what happens. I'll also try F5. It's probably worth mentioning that NVDA does remember its place sometimes--it's about 50-50 as to whether NVDA will forget it. I'm not sure if NVDA does that for regular F5.

@nvaccessAuto
Copy link
Author

Comment 13 by jteh on 2013-04-30 04:48
Changes:
Changed title from "exceptions in firefox" to "Document content not updated when going back to previous page in Firefox"

@nvaccessAuto
Copy link
Author

Comment 14 by jteh on 2013-08-19 22:51
It seems Mozilla have found a way to reproduce this reliably: MozillaBug:906666. It is a confirmed bug in Firefox.

@nvaccessAuto
Copy link
Author

Comment 16 by jteh on 2014-06-24 07:34
MozillaBug:906666 was fixed in Firefox 29, so this problem should hopefully be fixed. Can those affected please confirm?

@nvaccessAuto
Copy link
Author

Comment 17 by mojsior on 2014-06-25 17:23
Yes I am confirming, it is fixed and works very well.

@nvaccessAuto
Copy link
Author

Comment 18 by jteh on 2014-12-01 05:47
Changes:
State: closed

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

No branches or pull requests

1 participant