Test cases of EMFProfiles are not stable

Description

The tests of EMFProfiles fail every other day without a clear reason. This makes continuous integration for this project useless. The tests should be fixed.

Environment

None

Activity

Show:
Stephan Seifermann
April 11, 2020, 2:21 PM

Fix has been integrated into master.

Stephan Seifermann
April 10, 2020, 11:52 AM

I performed some tests and think I found the issue.

In ProfileFacadeImpl, a workspace job is created for performing a save and reload action on a given model file. This job has been introduced to fix a bug but it does not meet the assumptions under which the method has been design and is used. The calling save method assumes that the action is blocking but it is carried out in an asychronous way instead. Under heavy load, the execution of the save job can be delayed while the test code keeps running and assumes that the file has already been saved.

I added a synchronization point after the job scheduling to make the method blocking again. After that, I tried the solution by executing a build job with the fix and one without the fix many times on the build server. In case of low load, the problem does not occur in both jobs. When increasing the load on the build node by using stress-ng, the error occurs frequently for the build job without the fix while the other build job raises no errors.

Stephan Seifermann
April 10, 2020, 11:40 AM

There is no need for further reconfirmation. The bug becomes obvious when looking at the build logs.

Fixed

Assignee

Stephan Seifermann

Reporter

Stephan Seifermann

Labels

None

Requirement Category

None

External issue URL

None

Fix versions

Affects versions

Priority

Critical