NVDA window (normally invisible) appears when NVDA is started and does not disappear #726

Closed
nvaccessAuto opened this Issue Jun 22, 2010 · 18 comments

1 participant

@nvaccessAuto

Reported by mike.reiser on 2010-06-22 06:55
When the temperary copy of nvda loads after the installer launched, the installer isn't given focus. Instead, a blank nvda window appears and one must alt+tab to the installer window. Trying to close this blank nvda window causes the quit dialog to come up. Steps to reproduce:

  1. Download a recent snapshot of nvda or run from source and create the installer.

  2. Launch the installer and tell it to shut down your copy of nvda.

  3. The installer will start and the temperary copy of nvda will load, but the install dialog isn't given focus. Instead, a blank nvda window comes up, and an error sound is played. Alt tabbing into the installer behaves as normal.

Expected results:, the install dialog should come up.

@nvaccessAuto

Comment 1 by briang1 on 2010-06-22 08:21
Does this occur with home grown and website snapshots? I noted a previous ticket that pinned similar problems down to a compilation problem

On XP this does not occur with snaps from the website, but occasionally the blank window can appear on a first run from a boot up as has been mentioned before. No error sound though.
Noted that no snaps after 3579 have been built on the website.
Brian

@nvaccessAuto

Comment 2 by mike.reiser (in reply to comment 1) on 2010-06-22 16:57
This occured both from source installer and with snapshots from the nvda site, spacifically as of r3579 which was the last one I run before running from source again.

@nvaccessAuto

Comment 3 by jteh on 2010-06-30 05:08
Please provide a log including the error.

@nvaccessAuto

Attachment nvda.log added by mike.reiser on 2010-07-06 01:02
Description:

@nvaccessAuto

Comment 4 by mike.reiser on 2010-07-06 01:05
I can reliably see this window when running from source. When the installer runs, the window disappears after nvda starts. In the source version, I'm thrown into the window sometimes when clicking a link or doing other things. This is as of r3595.

@nvaccessAuto

Comment 5 by mike.reiser on 2010-07-21 16:27
This window continues to appear as of r3635. Sometimes when selecting links in firefox 3.6, I'm thrown into this blank window having to alt+tab back to the page. The window stays up. It doesn't happen all the time but quite often. Here is the contents of the latest log file.

INFO - nvda (10:45:07):
Starting NVDA
INFO - core.main (10:45:09):
Config dir: C:\Users\mike Reiser\AppData\Roaming\nvda
INFO - config.save (10:45:09):
Configuration saved
INFO - core.main (10:45:09):
NVDA version unknown
INFO - core.main (10:45:09):
Using Windows version sys.getwindowsversion(major=6, minor=1, build=7600, platform=2, service_pack='')
INFO - core.main (10:45:09):
Using Python version 2.7 (r27:82525, Jul 4 2010, 09:01:59) v.1500 32 bit (Intel)
INFO - core.main (10:45:09):
Using comtypes version 0.6.2
INFO - synthDrivers.espeak.SynthDriver.init (10:45:11):
Using eSpeak version 1.43.03 13.Mar.10
INFO - synthDriverHandler.setSynth (10:45:11):
Loaded synthDriver espeak
INFO - core.main (10:45:11):
Using wx version 2.8.11.0 (msw-unicode)
INFO - braille.initialize (10:45:11):
Using liblouis version 1.8.0
INFO - braille.BrailleHandler.setDisplayByName (10:45:11):
Loaded braille display driver noBraille
ERROR - RPC: dwm.exe, build\x86_64\remote\injection.cpp, inproc_winEventCallback, line 56 (10:45:14):
SetWindowsHookEx with WH_GETMESSAGE failed, GetLastError returned 5
ERROR - RPC: dwm.exe, build\x86_64\remote\injection.cpp, inproc_winEventCallback, line 59 (10:45:14):
SetWindowsHookEx with WH_GETMESSAGE failed, GetLastError returned 5
INFO - core.main (10:45:15):
NVDA initialized
ERROR - eventHandler.executeEvent (11:20:52):
error executing event: gainFocus on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 126, in executeEvent_appModuleLevel
File "appModules\firefox.pyc", line 24, in event_stateChange
File "eventHandler.pyc", line 126, in
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 126, in event_gainFocus
File "NVDAObjects__init__.pyc", line 750, in event_gainFocus
File "NVDAObjects__init__.pyc", line 697, in reportFocus
File "speech.pyc", line 298, in speakObject
File "speech.pyc", line 506, in speakTextInfo
File "NVDAObjects\UIA__init__.pyc", line 65, in getTextWithFields
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:52):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:55):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:55):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:55):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:55):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:55):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:55):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:56):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:56):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:56):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:56):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:56):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))
ERROR - eventHandler.executeEvent (11:20:56):
error executing event: caret on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 80, in executeEvent
File "eventHandler.pyc", line 128, in executeEvent_appModuleLevel
File "eventHandler.pyc", line 135, in executeEvent_treeInterceptorLevel
File "eventHandler.pyc", line 139, in executeEvent_NVDAObjectLevel
File "NVDAObjects\behaviors.pyc", line 130, in event_caret
File "NVDAObjects__init__.pyc", line 785, in event_caret
File "NVDAObjects__init__.pyc", line 801, in makeTextInfo
File "NVDAObjects\UIA__init__.pyc", line 51, in init
COMError: (-2147221008, 'CoInitialize has not been called.', (None, None, None, 0, None))

@nvaccessAuto

Comment 6 by jteh on 2010-07-22 03:30
Can you reproduce this with NVDA 2010.1? Neither Mick or I can reproduce this reliably, although we've seen it once or twice over the past few weeks.

@nvaccessAuto

Comment 7 by mike.reiser on 2010-07-22 14:49
Now useing 2010.1 and haven't experienced this issue, it only seems to happen in snapshots and in source version. Also it does go away but sometimes comes back when restarting nvda as well.

@nvaccessAuto

Comment 8 by jteh on 2010-07-28 18:27
What do you mean it goes away? Does the window appear in the alt+tab list and then stop appearing there after a while?

@nvaccessAuto

Comment 9 by briang1 on 2010-07-29 16:57
Well as I'm on th list of ccs here, I wonder if he means by coming back that effect i reported some time ago where on start up of nvda in xp system, sometimes the little tray icon is not there but an invisible window is?
as you know I do not run from source, and its been a while since I've seen the snap installer lose focus when you terminate a running version. In my experience this is most prone to occur if you run it with a web browser open when you install, which I think iis asking for trouble myself.
Just some thoughts.

@nvaccessAuto

Comment 10 by mike.reiser on 2010-07-30 17:26
What I meant was the blank window stays up while the installer runs, but when the newly installed copy loads the window goes away. I haven't seen it in installed copies recently, but can reliably see it when installer launches. It stays in the alt+tab order. The installer is never given focus regardless. I wonder if maybe the installed copy doesn't completely unload it self as when I just installed r3674, the older copy didn't make the usual tune it does when closeing, then the error sound happened and I was thrown into the blank nvda window. I also tested an installed copy by opening it while a virtual buffer was loaded but couldn't reproduce it though the buffer got screwed up and nvda pretty much crashed so won't do that again.

@nvaccessAuto

Comment 11 by jteh on 2011-03-10 21:25
This is not just specific to the installer.

This window is the normally invisible NVDA main window (gui.mainFrame).

When this happens, gui.mainFrame.!IsShown() reports False, even though it is indeed visible, suggesting that wx thinks it hid the window when it failed for some reason. Calling .Hide() doesn't hide it, but calling .Show() and then .Hide() does. Our suspicion is that the in-process hooks get installed during the initial .Show() and .Hide() calls and take too long, somehow breaking them. What we don't understand is why these hooks taking longer than usual should break wx.
Changes:
Changed title from "When the nvda installer runs, the installer isn't given focus" to "NVDA window (normally invisible) appears when NVDA is started and does not disappear"

@nvaccessAuto

Attachment nvda.log for blank window at start up.log added by briang1 on 2011-03-11 09:59
Description:
Log of start up and blank window in xp 2011.1

@nvaccessAuto

Comment 12 by jschmude on 2011-04-13 23:53
I can also add that it seems to be a timing problem. It happens more often on my netbook (1.66 ghz intel atom, 1 gb ram) versus my desktop (2.4 ghz athlon-64, 2 gb ram). Further, this blank window most often occurs when NVDA is being automatically started for the user's session, or when there is otherwise a large amount of hard drive activity. It almost never occurs on the desktop, and almost always does on the netbook.

@nvaccessAuto

Comment 13 by briang1 on 2011-04-14 07:57
Interestingly on this XP machine with a single core 2.66 gig processor, it happens quite a bit. I will also point out that it might be influenced by it being a Python application, as the only other start at boot up software which can do the same is Juice, which is of course written in Python. Indeed yesterday on a 1.8gig AMD machine both left their windows open in that strange state on the same boot up.
I've never seen this occur if the software is started manually after all the disc activity has stopped at boot up of a machine. allied to this might also be that occasionally nvda gets into a condition where selectively, some parts don't work correctly, such as fields in renaming files, or edit areas in an editor. Its rare but a a reboot of nvda will fix it. This could also be timing related. Windows seems to create a free for all at start up!

@nvaccessAuto

Comment 14 by jteh on 2011-05-01 04:38
Possibly fixed in 184c1b5, though I still wonder whether an alternative fix might work better. Nevertheless, we definitely need feedback as to whether this change completely fixes the issue.

Brian, does the issue you see with Juice ever occur while NVDA isn't loaded? It's slightly possible that it will only occur if NVDA is loaded as it starts. It's not strictly NVDA's fault, but NVDA may make it more likely that certain GUI bugs will occur.
Changes:
Milestone changed from None to 2011.2

@nvaccessAuto

Comment 15 by briang1 on 2011-05-02 08:09
Well, the Juice application used to do it before nvda, or even if I was using a machine with hal on it only, but it used to be worse when nvda was on the machine. which of the two gave the problem was, as I'm sure you know very hard to tell, as nothing was repeatable between boot ups.
After testing for a couple of days though, I've not seen the nvda window at all so far. I have seen the juice one once, butas I say, it could be that the bug is in a routine used by that software and as its a dead project now, its unlikely to be fixed.
It uses an older version of Pyython as well.
On machines where Juice is not present, no odd windows from nvda have been spotted thus far.
I've not tested for the other strange events yet, notably the vanishing gui or the lack of edit area reading, both of which are rare and only happen at boot up, but I think these are probably fewer as well. Could be that the cause is common in some way.
I'll keep noting any strangeness though.

@nvaccessAuto

Comment 16 by jteh on 2011-05-16 01:05
Users seem to suggest this is fixed, so closing. Please reopen if the problem persists.
Changes:
State: closed

@nvaccessAuto nvaccessAuto added this to the 2011.2 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment