Skip to content

Autocorrelation plugin appears to generate regular expression that crashes the wizard, JMeter, regex101 #88

@jhlqt

Description

@jhlqt

Describe the bug

I recorded a JMeter script to do the following on a local Docker Desktop installation of nopCommerce:

  • open the nopCommerce site
  • click the log in button
  • enter username and password and click the log in button
  • click log out

The autocorrelation plugin identifies a correlation for the _RequestVeificationToken value, but when trying to apply this correlation the message “Abort operation: Waiting for suggestions application to be terminated” is displayed, and a stack overflow error is recorded in the JMeter logs.

If I manually apply the suggested correlation to the script, on rerunning the test crashes on the step that contains the regular expression extractor, with a similar error in the logs to that seen when the Correlation Wizard crashed.

Replaying the vanilla recording with no correlation in understandably fails at the first step at which correlation is required, but when I test the suggested correlation against the step response in View Results Tree a different error is shown.

Finally, on testing the sugested correlation using regex101 against the appropriate JMeter response, the correlation works using the default PCRE2 regex flavor, but fails with the Java 8 flavor (arguably closer to what's used within JMeter). The error message given is:

“The Java regex engine reached the maximum call stack size.

This is due to the fact that the regex engine is implemented using recursion, and is severely limited by it. This indicates that your expression is not optimized for Java, and you are likely to run into similar issues in your Java code.”

The above is a very high level description of the issue: I will attach a Word doc containing a more detailed description, screenshots and JMeter log files.

Environment

Let us know in which versions of these tools the error occurs:

  • JMeter 5.6.3
  • Correlation Recorder 3.1
  • Plugin Manager (if applicable)
  • Protocol version (if apply, eg: Siebel CRM IP17 & IP18) HTTP

To Reproduce

Steps to reproduce the bug:

Record a basic login/logout script against a Docker Desktop installation of nopCommerce, e.g.:

  • open the nopCommerce site
  • click the log in button
  • enter username and password and click the log in button
  • click log out

Use the Correlation Wizard in Legacy Corelation mode to replay the test plan.

The Corelation Wizard reoports that a request fails. Click Yes to generate correlation suggestions.

Select Automatic comparison and variable detection and click Continue

The Suggestions window opens with the correlation suggested selected. Click Apply.

Expected behavior

After clicking Apply, the plugin should apply the correlation to the JMeter script. The actual behaviour I experience is an Abort operation message is displayed, with the text "Waiting for suggestion application to be terminated".

Complementary information

Please see the attached Word file, which expands on the above bug description and includes screenshots and JMeter logs.

Issue Details.docx

Additional context

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