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

Ace failing to run on PC, randomly (Chromium timeout?) #166

Open
clapierre opened this issue Sep 18, 2023 · 2 comments
Open

Ace failing to run on PC, randomly (Chromium timeout?) #166

clapierre opened this issue Sep 18, 2023 · 2 comments

Comments

@clapierre
Copy link

clapierre commented Sep 18, 2023

From eBound Canada (a GCA partner with Benetech)
We've been finding that it won't open EPUBs (and we try multiple different files), or sometimes it'll work after 5+ tries. I've also re-installed the latest version which didn't help.

The error message I get is:

Error: Failed to check Content Document 'xhtml/04_title.xhtml': did-fail-load: -3 - - acehttps://0.0.0.0//OPS/xhtml/04_title.xhtml?AXE_RUNNER=3 - true - 8 - 1

I'm running the GUI version on a PC. Our whole team is using GUI on PC and has the same issue.

Note: when I run the same EPUB with the same Ace 1.3.2 version but using my Mac it seems to work fine and always gave me a report after about 10 seconds.

Daniel, I will send you the EPUB to test with if that will help.

@danielweck
Copy link
Member

This "bug" is so frustrating, because hard to reproduce consistently. I assume in some cases the time allowance for checking HTML documents inside EPUB publications is too short. The Ace command line tool's default timings can be overridden via environment variables:

  • ACE_TIMEOUT_INITIAL (default 10000, which provides a 10s time allowance for the web window to load its document and contents)
  • ACE_TIMEOUT_EXTENSION (default 480000 which provides a 480s / 8mn time allowance for the Axe checkers to execute inside the loaded document)

Typically these environment variables will be effective only temporarily when passed directly on the command line inside the console / shell terminal (i.e. env vars active just for the duration of the command line tool's execution).

However for the Ace graphical user interface application, such environment variables would need to be configured at the level of the operating system, in a more permanent fashion. This is definitely not user-friendly, but bear in mind that this method was designed for troubleshooting, not as a proper user-facing feature. On Windows there is a configuration panel dedicated to environment variables. On Linux and Mac OS the process is more complicated, unfortunately.

Code reference, for developers:

https://github.com/daisy/ace/blob/d56a8e1c927c49ee450ceaaa670efdb21dd2fb5f/packages/ace-axe-runner-electron/src/init.js#L664

The error -3 means "aborted due to user action" in the Chromium web browser engine, which doesn't make sense as the Electron browser windows are hidden from view, users cannot directly interact with them, and the error is thrown by Electron anyway as did-fail-load.

https://source.chromium.org/chromium/chromium/src/+/main:net/base/net_error_list.h;l=35
=>

// An operation was aborted (due to user action).
NET_ERROR(ABORTED, -3)

@danielweck danielweck changed the title Ace failing to run on PC Ace failing to run on PC, randomly (Chromium timeout?) Sep 20, 2023
@danielweck
Copy link
Member

I am seeing a number of timeout reports in Deque Axe as well. Probably related: https://github.com/dequelabs/axe-core/issues?q=is%3Aissue+is%3Aopen+timeout

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

No branches or pull requests

2 participants