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
Braille display auto-detection feature causes errors on loading large braille tables on NVDA startup #9982
Comments
Hmmmm,
Is it something to do with your NVDA configuration profile, or really some weird regression?
I cannot reproduce this on the latest alpha, powered by py3
|
That were/are always fresh portable Betas of NVDA. NVDA 2018.1 is installed on my system. Here is my config file. I guess it's a regression. Furthermore you can't compare these Betas with the Py3-Alphas because of PR #9544 and #9545. |
Ah, I see
But i am still wondering
|
Do you have reasons to think that this is a bug in NVDA and not in liblouis? |
@LeonarddeR: You ask me things? That could be also caused by the Liblouis update from 3.8.0 to 3.10.0 over 3.9.0. This issue didn't occur in NVDA 2019.1.1 with Liblouis 3.8.0. Therefore: CC: @bertfrees, @egli, @dkager and @nishimotz (if you are using Liblouis). |
@DrSooom Could you please test this with the last Python 2 Alpha of NVDA available here. I am asking because in issue #9486 the errors are similar, and it is caused by liblouis builds being optimized. If my hypothesis would be correct perhaps disabling optimization for liblouis builds for the time being would be reasonable. @LeonarddeR What do you think? |
NVDA Alpha-18064 logfile on loading "zh-tw.ctb" after NVDA restart in Debug Mode:
And here is the complete logfile (start at line 149) after NVDA Alpha-18064 (Portable on a SSD) totally crashed after a few more restarts in Debug Mode. Only the Windows Explorer was opened during these tests. The HUC Braille Tables weren't tested. |
Hi, |
@Andre9642: Regarding NVDA 2019.2 RC1 I can confirm this. I also didn't get any errors. I wonder why. Therefore: Closing for now. |
This issue is back in NVDA 2019.2 RC2 (portable). Here is the logfile with "zh-tw.ctb" and freezing on startup (which wasn't logged, because I was able to kill the process "nvda.exe" via the Task Manager). The HUC Braille Tables are also affected. |
A nice new log entry with NVDA 2019.2 Beta-18345 on startup. Complete logfile
Note: There is a strange character between the letters in the logfile, It's not a space (U+0020) – maybe CR, LF or CRLF together. |
@DrSooom are you able to reproduce this in NVDA 2019.2 final release? |
Sadly absolutely no differences with NVDA 2019.2 Stable (Portable). Tested multiple times on a SSD and on a USB Flash Drive. Issue #9973 as well as this one here are still valid. Question: Why did this all work as expected in NVDA 2019.2 RC1? What changes have been made since 2019.2 RC1 to 2019.2 Stable regarding liblouis? The file "zh-tw.ctb" wasn't changed (I checked the SHA-256 sums). And here follows the significant part of the logfile (HUC8 Braille Tables were included into "de-de-comp8.ctb", but it's the same with "zh-tw.ctb" alone):
|
Nothing has changed in the braille area as far as I'm aware, except for the fact that all dll's (including liblouis) have been recompiled. |
Here is the logfile based on NVDA 2019.2 Portable running from a USB 3.0 Flash Drive (connected via USB 2.0). This time several Unicode characters in the Basic Latin block (U+0000 to U+007F) weren't loaded correctly. See line 181 to 194. |
Same result on startup with NVDA 2019.2.1 Beta-18416 (Portable, release date: 2019-08-15) as I described here. Personally I would give this issue here a P2, as it is critical for Chinese users – and maybe others too. |
This definitely looks like a liblouis issue to me, therefore I'd like to suggest opening an issue against liblouis as well. Just to make sure, does this problem also occur with NVDA 2019.1? |
@feerrenrut I think we should consider reverting the update to liblouis 3.10, i.e. go back to liblouis 3.9 and see what that does here. |
Note that this issue cannot be reproduced in latest alpha snaps powered by py3 and liblouis 3.11.
I am currently using it and tried to reproduce the issue, but no luck here.
|
Alpha is at liblouis 3.10 still.
Op 19-8-2019 om 10:00 schreef zstanecic:
… Note that this issue cannot be reproduced in latest alpha snaps
powered by py3 and liblouis 3.11.
I am currently using it and tried to reproduce the issue, but no luck
here.
From: Leonard de Ruijter ***@***.***>
Sent: Monday, August 19, 2019 9:00 AM
To: nvaccess/nvda ***@***.***>
Cc: zstanecic ***@***.***>; Mention
***@***.***>
Subject: Re: [nvaccess/nvda] Errors on loading large (Chinese) braille
tables with NVDA 2019.2 Beta-18176, 2019.2 Beta-18345 and 2019.2 RC2
(#9982)
@feerrenrut <https://github.com/feerrenrut> I think we should consider
reverting the update to liblouis 3.10, i.e. go back to liblouis 3.9
and see what that does here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#9982?email_source=notifications&email_token=ACVCDEZDKFYEI4W2MQSUPWTQFJAF5A5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4R4WGY#issuecomment-522439451>
, or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACVCDE2D3TDNIPBJ3YERB53QFJAF5ANCNFSM4IHHDP2Q>
.
<https://github.com/notifications/beacon/ACVCDE56D353KMPOFTAFQ7LQFJAF5A5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4R4WGY.gif>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#9982?email_source=notifications&email_token=AAXIOAFPTYTWZLZ2RL2JWMLQFJHIPA5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4SBF4Y#issuecomment-522457843>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAXIOABAYQ6VV7COPYZ7MGLQFJHIPANCNFSM4IHHDP2Q>.
|
I never tested Py3-Alpha builds. But others said that "zh-tw.ctb" loaded correctly. I'm not sure if everybody immediately looked into the Log Viewer after starting NVDA. During a quick test, it seems that this braille table is loaded correctly with NVDA 2019.2.1 Beta 1 again. But this doesn't say anything. As the HUC Braille Tables still raise that error, I just think that the total file size level has changed again. @lukaszgo1: Yes, I own a BAUM SuperVario2 64, which got broken by an Austrian braille dealer during cleaning. More details about the still open case can be read on my website. Personally I don't intent to touch it until this case is finally closed. I had a huge luck to find a second-hand Optelec ALVA BC680 via a C2C purchase, as there is only one company in whole Austria, which sells, repairs and cleans braille displays. But repairing this specific braille display is no longer possible because "the tree" (BAUM Retec AG, manufacture) has died in October 2017. And KSG does no longer sell SC9 braille modules. Sadly there is more broken on that BAUM braille device than only 40 of 64 braille modules due to that cleaning process by the Austrian company. |
Hi,
I am currently running latest alpha *py3 with taiwanese Braille table
And i don’t see the problem
From: Daniel Mayr <notifications@github.com>
Sent: Wednesday, September 25, 2019 4:50 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: zstanecic <zvonimirek222@yandex.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Errors on loading large (Chinese) braille tables with NVDA 2019.2 Beta-18176, 2019.2 Beta-18345 and 2019.2 RC2 (#9982)
Are you saying that you have the Chinese table loading error on this build? That would be a regression from current alpha snapshots, right?
I never tested Py3-Alpha builds. But others said that "zh-tw.ctb" loaded correctly. I'm not sure if everybody immediately looked into the Log Viewer after starting NVDA. During a quick test, it seems that this braille table is loaded correctly with NVDA 2019.2.1 Beta 1 again. But this doesn't say anything. As the HUC Braille Tables still raise that error, I just think that the total file size level has changed again.
@lukaszgo1 <https://github.com/lukaszgo1> : Yes, I own a BAUM SuperVario2 64, which got broken by an Austrian braille dealer during cleaning. More details about the still open case can be read on my website. Personally I don't intent to touch it until this case is finally closed. I had a huge luck to find a second-hand Optelec ALVA BC680 via a C2C purchase, as there is only one company in whole Austria, which sells, repairs and cleans braille displays. But repairing this specific braille display is no longer possible because "the tree" (BAUM Retec AG, manufacture) has died in October 2017. And KSG does no longer sell SC9 braille modules. Sadly there is more broken on that BAUM braille device than only 40 of 64 braille modules due to that cleaning process by the Austrian company.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#9982?email_source=notifications&email_token=ACVCDEZ4M6FK2KS73CWJUU3QLN3CBA5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7SF5MI#issuecomment-535060145> , or mute the thread <https://github.com/notifications/unsubscribe-auth/ACVCDE5LMET6WEHXQ75CIADQLN3CBANCNFSM4IHHDP2Q> . <https://github.com/notifications/beacon/ACVCDE7J453IZKQHCP762G3QLN3CBA5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7SF5MI.gif>
|
Note: using esis 24 braille display
From: Daniel Mayr <notifications@github.com>
Sent: Wednesday, September 25, 2019 4:50 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: zstanecic <zvonimirek222@yandex.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Errors on loading large (Chinese) braille tables with NVDA 2019.2 Beta-18176, 2019.2 Beta-18345 and 2019.2 RC2 (#9982)
Are you saying that you have the Chinese table loading error on this build? That would be a regression from current alpha snapshots, right?
I never tested Py3-Alpha builds. But others said that "zh-tw.ctb" loaded correctly. I'm not sure if everybody immediately looked into the Log Viewer after starting NVDA. During a quick test, it seems that this braille table is loaded correctly with NVDA 2019.2.1 Beta 1 again. But this doesn't say anything. As the HUC Braille Tables still raise that error, I just think that the total file size level has changed again.
@lukaszgo1 <https://github.com/lukaszgo1> : Yes, I own a BAUM SuperVario2 64, which got broken by an Austrian braille dealer during cleaning. More details about the still open case can be read on my website. Personally I don't intent to touch it until this case is finally closed. I had a huge luck to find a second-hand Optelec ALVA BC680 via a C2C purchase, as there is only one company in whole Austria, which sells, repairs and cleans braille displays. But repairing this specific braille display is no longer possible because "the tree" (BAUM Retec AG, manufacture) has died in October 2017. And KSG does no longer sell SC9 braille modules. Sadly there is more broken on that BAUM braille device than only 40 of 64 braille modules due to that cleaning process by the Austrian company.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#9982?email_source=notifications&email_token=ACVCDEZ4M6FK2KS73CWJUU3QLN3CBA5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7SF5MI#issuecomment-535060145> , or mute the thread <https://github.com/notifications/unsubscribe-auth/ACVCDE5LMET6WEHXQ75CIADQLN3CBANCNFSM4IHHDP2Q> . <https://github.com/notifications/beacon/ACVCDE7J453IZKQHCP762G3QLN3CBA5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7SF5MI.gif>
|
File name: usb-cert-baum.zip (removed on 2019-10-26) I've temporarily uploaded the BAUM braille display driver (version V7 02/17/2009 2.04.16) onto my webserver, which was released in January 2010 (based on the date of the Installer). Perhaps this driver influences the NVDA-own ALVA driver and/or the braille display auto-detection feature in NVDA. This driver package is installed on both machines – Stand-PC and NUC. But as I wrote before: the broken BAUM SuperVario2 64 isn't connected to these machines. @zstanecic: Which OS? |
Win 10
From: Daniel Mayr <notifications@github.com>
Sent: Wednesday, September 25, 2019 7:31 PM
To: nvaccess/nvda <nvda@noreply.github.com>
Cc: zstanecic <zvonimirek222@yandex.com>; Mention <mention@noreply.github.com>
Subject: Re: [nvaccess/nvda] Errors on loading large (Chinese) braille tables with NVDA 2019.2 Beta-18176, 2019.2 Beta-18345 and 2019.2 RC2 (#9982)
File name: usb-cert-baum.zip <https://danielmayr.at/files/temp/usb-cert-baum.zip>
File size: 1.54 MB (1,615,480 Bytes)
SHA-256: 281947b58571f5d371a15415ae6a5afbbc002bf029adfa4fb5b9f6f38cc93e5b
I've temporarily uploaded the BAUM braille display driver (version V7 02/17/2009 2.04.16) onto my webserver, which was released in January 2010 (based on the date of the Installer). Perhaps this driver influences the NVDA-own ALVA driver and/or the braille display auto-detection feature in NVDA. This driver package is installed on both machines – Stand-PC and NUC. But as I wrote before: the broken BAUM SuperVario2 64 isn't connected to these machines.
@zstanecic <https://github.com/zstanecic> : Which OS?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#9982?email_source=notifications&email_token=ACVCDE2GUOMXC6FU2JU4WDDQLON63A5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7SWUMA#issuecomment-535128624> , or mute the thread <https://github.com/notifications/unsubscribe-auth/ACVCDE6J754ZU7XBYZUEYMDQLON63ANCNFSM4IHHDP2Q> . <https://github.com/notifications/beacon/ACVCDE2ACH5KYZS5DY6TIX3QLON63A5CNFSM4IHHDP22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7SWUMA.gif>
|
@DrSooom Two more things:
|
|
I would start with disabling from both autostart, and logon screen, and if it still would be reproducible then go to the more time consuming process of creating a VM. |
Hi all, I'm a zh_TW user with Windows version 6.1.7601 service pack 1 (64-bit). I have tested both 2019.2 and alpha-18759,6cb40529 NVDA versions, and no problem occurred during zh_TW loading. Also, I am the current maintainer of zh-tw.ctb, but no other Taiwanese user reported similar bug to me. I thus don't know existence of this issue. |
EUREKA! I got it! Now I know why nobody without an Optelec ALVA BC680 was able to reproduce this issue. No, it isn't caused by any braille tables – also not by my HUC Braille Tables. And I guess that it isn't caused by Liblouis too. The kind how NVDA is started on the logon screen has changed between NVDA 2015.3 and 2015.4. And the ALVA driver has changed between NVDA 2017.4 and 2018.1. On my Stand-PC NVDA 2018.1 is installed and on my NUC 2015.3. But the symptoms are/were exactly the same on both machines with NVDA Try-18768 (Py3, will get to 2019.3). And now: The braille display auto-detection feature was added to NVDA 2018.3 and didn't exist before. And exactly this feature in combination with a connected Optelec ALVA BC680 via USB1 or USB2 (this braille display has two USB ports) is responsible for the loading errors of Liblouis braille tables – and nothing else. I tested the largest Liblouis braille table "zh-tw.ctb" and the HUC8 and the HUC6 Braille Tables (included into "de-de-comp8.ctb" and "de-g1.ctb" and stand-alone) multiple times with NVDA 2019.2.1 Beta 1 Portable (Liblouis 3.10.0) and NVDA Try-18768 Portable (Liblouis 3.11.0) on my Stand-PC. I also successfully tested the UTF32 files of the HUC Braille Tables with NVDA Try-18768. Okay, the more braille tables are included, the longer NVDA requires to start. If only "huc8-u+0000-u+ffff.tbi" and "huc8-u+10000-u+1ffff.tbi" are included, no lag on startup is recognizable. After including "huc8-u+20000-u+2ffff.tbi" as well, NVDA requires around four seconds to be fully started. Well, and the more braille tables are included, the longer it takes. But this isn't really relevant yet, because there are just 337 allocated Unicode characters in the Unicode planes 3 to 16 in the Unicode Standard 12.1 (may 2019). In all testing scenarios I was immediately able to force this issue after I switched back from "Optelec ALVA 6-Serien/Protokoll-Konverter" ("display = alva") to "Automatisch (Optelec ALVA 6-Serien/Protokoll-Konverter)" ("display = auto" in the "nvda.ini") in the Braille NVDA Settings. If the braille display was chosen directly from the list of braille displays, these loading errors don't occur – on a SSD. Therefore I changed the issue title. If wanted, I also can test this by running NVDA Portable from an USB 3.0 flash drive as well as on my NUC (SSD). @LeonarddeR: Please let me know if you need a logfile with enabled HWIO logging for fixing the braille display auto-detection feature. |
This is a very interesting finding. In fact, I don't see how this could
be related to what display you're using. It is more likely that this is
related to how multi threading works and how NVDA communicates wit
liblouis. Aauto detection moved more logic to the background thread,
possibly causing issues with synchronisation or multiple threads
throwing requests at liblouis at the same time.
It would actually be very helpful to have some logs of most recent
ALPHA, on which the log entries specify the thread that initiated the
log call. We might be able to see on what thread the exceptions were caused.
|
Here are five logfiles. "p13" is from Try-18768 and the other four from Alpha-18783. The very last line in "p13" is extremely strange, as there aren't any absolute paths in the HUC Braille Tables. As this loaded process took too much time, I launched NVDA 2018.1 via the desktop shortcut – if I memorize correctly. (There were too many tests in the last 4.5 hours. 😉) |
Yes, pretty sure it is as described in #9982 (comment) I will look into the code and will provide a try build shortly. |
I'm pretty sure try build try-initialDisplayFix will fix the issues you're having. |
Here are ten new logfiles. I'm confused. I'm not sure if this issue is really completely solved by Try-18797, but the braille tables seems to be fully loaded on NVDA startup – excluding the "p19" log, which I couldn't reproduce again during testing. Thus "p19" only occurred once. I tested all the same braille tables, which I tested yesterday on, a SSD again. Tests on a USB 3.0 flash drive are still pending. |
@LeonarddeR: Shall I test Try-18797 right now on a USB flash drive too or are you going to provide a new Try-build? |
Yes, please. I don't have any starting points to change anything in the current try build. |
Done. NVDA Try-18797 Portable works exactly the same on a USB 3.0 flash drive (connected via a USB 3.0 and a 2.0 port) like on an internal SSD. NVDA 2019.2.1 still has this issue if the HUC Braille Tables are used. But it seems that "zh-tw.ctb" is completely loaded on startup again – I got no errors in the logfiles when using the auto-detection feature. Otherwise: Not using the braille display auto-detection feature also solves the loading error with the HUC braille Tables, as I already mentioned last Thursday. Thus this finding is also valid for NVDA 2019.2.1. |
@LeonarddeR: Are you planning to add your fix to NVDA 2019.3? |
I'm happy to do this, if you consider this issue to be fixed after merging try-initialDisplayFix. |
@LeonarddeR: Please read this comment and this comment. |
Could you please summarize your relevant findings in around one or two
sentences? This would be very helpful when filing the pr. I understand
that you're pointing at several comments in order to be as complete as
possible, but it makes it very difficult for a potential reviewer to
filter out what's relevant. It should be possible for a reviewer to see
at one glance what this will fix.
|
Summary of the issue:If the braille display auto-detection feature is enabled and large braille table(s) (> 1 MB) are loaded on NVDA startup, the braille table(s) couldn't be completely loaded respectively compiled. Sometimes also the include opcode no longer operates and the braille output keeps blank after NVDA startup unless the braille output was updated (e.g. by opening the NVDA menu). Or only parts of the braille tables are loaded. A "Can't translate" runtime error was logged on startup. Hmm… I guess this is still a little bit too long. Nevertheless it should help you – hopefully. |
Great, thank you!
|
First of all I'm so glad that these errors aren't caused by my HUC Braille Tables alone, because other large braille tables like "zh-tw.ctb" lead to the same results I described in issue #9973 yesterday. CC: @LeonarddeR
Steps to reproduce:
Actual behavior:
This time I was able to reproduce both errors I mentioned in issue #9973 on a SSD, but I couldn't figure out if the Chinese braille table "zh-tw.ctb" (of course without the HUC Braille Tables) was completely loaded or not. Maybe you have to restart NVDA multiple times to get these errors.
Here is the first logfile with no error sound on startup. And here is the second one with an error sound and no braille output directly after startup. Always start at line 126. And please take a look at the timestamps in the second logfile, because there aren't any log entries from the beginning of the error sound until the Protocol Viewer was opened. That's so strange, therefore I repeated restarting NVDA in Debug Mode multiple times, because I thought I did something wrong. Normally NVDA should also have logged pressing ArrowRight and ArrowLeft in the Windows Explorer (Detail View) as well as the steps to open the Protocol Viewer via the NVDA menu. But that was never the case.
Expected behavior:
No errors on loading large braille tables.
System configuration
NVDA installed/portable/running from source:
Portable
NVDA version:
2019.2 Beta-18176
Windows version:
Win7x64
Other information about your system:
Optelec ALVA BC680 is connected via USB2. The USB1 port wasn't tested.
Other questions
Does the issue still occur after restarting your PC?
Not tested.
Have you tried any other versions of NVDA? If so, please report their behaviors.
Tests with 2019.1.1 (Portable) are pending. But I guess it's the same behavior like in issue #9973 – it works as expected. And smaller braille tables such as the Finish 8-dot Computer Braille ("fi-fi-8dot.ctb") seems to work with NVDA 2019.2 Beta-18176 as expected too. But deeper tests are pending here too.
The text was updated successfully, but these errors were encountered: