eclipse-jdt / eclipse-jdt/eclipse.jdt.core

[build][test] MultiProjectTests.testCycle* are unstable

Open
#3,081 1 comment 0 reactions 0 assignees View on GitHub
build test failure test Windows
Dominant language
Java
Stars
237
Forks
195
Avg merge
1d 10h
Merged PRs (30d)
49

Description

In I Build tests [this link may vanish later]: https://download.eclipse.org/eclipse/downloads/drops4/I20241014-0530/testresults/html/org.eclipse.jdt.core.tests.builder_ep434I-unit-win32-java17_win32.win32.x86_64_17.html

(1)
org.eclipse.jdt.core.tests.builder.MultiProjectTests | testCycle7| Error

Build path contains duplicate entry: 'src' for project 'P1'

Java Model Exception: Error in Java Model (code 977): Build path contains duplicate entry: 'src' for project 'P1'
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:812)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3494)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3454)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3510)
at org.eclipse.jdt.core.tests.builder.TestingEnvironment.setClasspath(TestingEnvironment.java:1179)
at org.eclipse.jdt.core.tests.builder.TestingEnvironment.addEntry(TestingEnvironment.java:365)
at org.eclipse.jdt.core.tests.builder.TestingEnvironment.addPackageFragmentRoot(TestingEnvironment.java:191)
at org.eclipse.jdt.core.tests.builder.TestingEnvironment.addPackageFragmentRoot(TestingEnvironment.java:169)
at org.eclipse.jdt.core.tests.builder.TestingEnvironment.addPackageFragmentRoot(TestingEnvironment.java:165)
at org.eclipse.jdt.core.tests.builder.TestingEnvironment.addPackageFragmentRoot(TestingEnvironment.java:152)
at org.eclipse.jdt.core.tests.builder.MultiProjectTests.testCycle7(MultiProjectTests.java:1100)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at junit.framework.TestCase.runTest(TestCase.java:177)
at org.eclipse.jdt.core.tests.junit.extension.TestCase.runTest(TestCase.java:970)
at junit.framework.TestCase.runBare(TestCase.java:142)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:130)
at junit.framework.TestSuite.runTest(TestSuite.java:241)
at junit.framework.TestSuite.run(TestSuite.java:236)
at junit.framework.TestSuite.runTest(TestSuite.java:241)
at junit.framework.TestSuite.run(TestSuite.java:236)

(2)

org.eclipse.jdt.core.tests.builder.MultiProjectTests | testCycle8 | Error |

Build path contains duplicate entry: 'P2' for project 'P1'Java Model Exception: Error in Java Model (code 977): Build path contains duplicate entry: 'P2' for project 'P1'at

org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:812)at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3494)at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3454)at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3510)at org.eclipse.jdt.core.tests.builder.TestingEnvironment.setClasspath(TestingEnvironment.java:1179)at org.eclipse.jdt.core.tests.builder.TestingEnvironment.addEntry(TestingEnvironment.java:365)at org.eclipse.jdt.core.tests.builder.TestingEnvironment.addRequiredProject(TestingEnvironment.java:296)at org.eclipse.jdt.core.tests.builder.MultiProjectTests.testCycle8(MultiProjectTests.java:1210)at java.base/java.lang.reflect.Method.invoke(Method.java:568)at junit.framework.TestCase.runTest(TestCase.java:177)at org.eclipse.jdt.core.tests.junit.extension.TestCase.runTest(TestCase.java:970)at junit.framework.TestCase.runBare(TestCase.java:142)at junit.framework.TestResult$1.protect(TestResult.java:122)at junit.framework.TestResult.runProtected(TestResult.java:142)at junit.framework.TestResult.run(TestResult.java:125)at junit.framework.TestCase.run(TestCase.java:130)at junit.framework.TestSuite.runTest(TestSuite.java:241)at junit.framework.TestSuite.run(TestSuite.java:236)at junit.framework.TestSuite.runTest(TestSuite.java:241)at junit.framework.TestSuite.run(TestSuite.java:236)
-- | -- | -- | --

Please take a look at similar issues from bugzilla:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=412484
https://bugs.eclipse.org/bugs/show_bug.cgi?id=531897
https://bugs.eclipse.org/bugs/show_bug.cgi?id=505822
https://bugs.eclipse.org/bugs/show_bug.cgi?id=162054

Contributor guide

Open the contributing guide

Research direction

Start with MultiProjectTests.java at testCycle7 (line 1100) and testCycle8 (line 1210), then follow TestingEnvironment.addPackageFragmentRoot, addRequiredProject, and setClasspath from the reported stack traces. Reproduce the instability in the builder test suite and determine what is needed for these tests to complete without duplicate classpath-entry errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.