Skip to content

NVDA freezes on Google Chrome when image contains huge base64 data #10227

@JulienCochuyt

Description

@JulienCochuyt

Steps to reproduce:

  • Open in Google Chrome a web page in which the src attribute of a focusable img element contains huge base64 data (>1MB).
    EDIT:
    Here is an example of such a page with an added .txt extension as GitHub does not support attaching .html files: i10227.html.txt
  • In browse mode, move to the incriminated image.

The issue does not occur in Firefox, but the Python Console freezes as soon as you try to access the IA2Attributes dictionary of the focused object.

Actual behavior:

NVDA freezes.
A core dump show it is stuck in IAccessibleHandler.splitIA2Attribs
timeit show it takes on my system around 600ms to complete the call with given IA2 attributes string vs around 15us for the same call without the base64 data.

Expected behavior:

NVDA not frozen.

System configuration

NVDA installed/portable/running from source:

Any.

NVDA version:

Reproduced with NVDA from 2018.1 to 2019.2
Earlier versions behave well in the same situations (tested from 2016.4 to 2017.4)

Windows version:

Windows 10 ver. 1903 (18362.356)

Name and version of other software in use when reproducing the issue:

Google Chrome Version 77.0.3865.75 (64 bits)

Other information about your system:

Other questions

Does the issue still occur after restarting your PC?

Yes.

Have you tried any other versions of NVDA? If so, please report their behaviors.

2018.1 - 2019.2: KO.
2016.4 - 2017.4: OK.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions