StackOverflowError during the JaMoPPJDTParser::parseDirectory call

Description

A stack overflow now occurs when parsing the Spring Petclinic. This error did not occur before with the pure JDT variant without proxy objects.

Environment

None

Activity

Show:
Manar Mazkatli
July 9, 2021 at 5:37 PM

I resolved the error and pushed the change to git (see JaM-8 branch).

The problem was that the test you provided does not use 2nd/3rd variants of JaMoPP. It uses the first varients that we kept as another choice but did not maintain well. For example, the first variant is not compatible with the last changes in metamodel.

So to run your test correctly, you just need to use the 2nd/3rd variants. This means you have to use JaMoPPJDTSingleFileParser instead of JaMoPPJDTParser. Therefore, I merged your Branch with jamopp branch and adjusted the test. Now, it runs correctly.

Regarding the first variant, I would prefer to clean it from the branch. If we decide to keep it as a variant, we must maintain it to be compatible with the last metamodel changes. Now, it can be used correctly by checking out this commit from the master branch.

Marvin Meller
July 8, 2021 at 12:49 PM

To reproduce this bug, we created a test case with a smallest input we could. This test runs without problems in the current version on the master branch. In contrast, this test case causes a StackOverflowError in the version on the jamopp branch. See: https://github.com/PalladioSimulator/Palladio-Supporting-EclipseJavaDevelopmentTools/tree/JAM-8

Done

Details

Assignee

Reporter

Priority

Created July 8, 2021 at 12:36 PM
Updated August 2, 2021 at 1:59 PM
Resolved July 9, 2021 at 5:38 PM