Skip to content

Infinite recursion when incompleteFallbackMessage is an object #3289

@AdnoC

Description

@AdnoC

Product: axe-core

Expectation: axe.finishRun should handle data from axe.runPartial

Actual: Stack overflow occurs when processing results

Motivation: :(


axe-core version: 4.3.5

Browser and Assistive Technology versions
Chrome 95.0.4638.69

The following snippet is trimmed down output from axe.runPartial. When passed into axe.finishRun, axe gets stuck recursively calling processMessage until a stack overflow occurs.

   {
      "environmentData":{
         "testEngine":{
            "name":"axe-core",
            "version":"4.3.5"
         },
         "testEnvironment":{
            "orientationAngle":0,
            "orientationType":"landscape-primary",
            "userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
            "windowHeight":857,
            "windowWidth":1200
         },
         "testRunner":{
            "name":"axe"
         },
         "timestamp":"2021-11-15T17:10:46.131Z",
         "url":"https://www.kay.com/login"
      },
      "frames":[
         
      ],
      "results":[
         {
            "id":"aria-valid-attr-value",
            "impact":null,
            "nodes":[
               {
                  "all":[
                     {
                        "data":{
                           "messageKey":"noId",
                           "needsReview":"aria-describedby=\"parsley-id-undefined\""
                        },
                        "id":"aria-valid-attr-value",
                        "relatedNodes":[
                           
                        ],
                        "result":null
                     },
                     {
                        "data":null,
                        "id":"aria-errormessage",
                        "relatedNodes":[
                           
                        ],
                        "result":true
                     },
                     {
                        "data":null,
                        "id":"aria-level",
                        "relatedNodes":[
                           
                        ],
                        "result":true
                     }
                  ],
                  "any":[
                     
                  ],
                  "node":{
                     "ancestry":[
                        "html > body > main:nth-child(2) > div > div:nth-child(2) > header:nth-child(3) > div:nth-child(4) > div:nth-child(4) > input:nth-child(4)"
                     ],
                     "nodeIndexes":[
                        722
                     ],
                     "selector":[
                        ".mobile-search-input"
                     ],
                     "source":"<input type=\"text\" name=\"text\" class=\"mobile-search-input\" placeholder=\"What can we help you find?\" autocomplete=\"off\" aria-describedby=\"parsley-id-undefined\" aria-invalid=\"false\">",
                     "xpath":[
                        "/div[@id='main-container']/div[2]/header/div[4]/div[4]/input"
                     ]
                  },
                  "none":[
                     
                  ]
               },
            ],
            "pageLevel":false,
            "result":"inapplicable"
         },
      ]
   }
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreIssues in the core code (lib/core)fixBug fixesprA pr has been created for the issue

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions