Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Win] Most tests in I20240213-1800 DNF waiting on "WindowsDefenderConfigurator" #1683

Closed
iloveeclipse opened this issue Feb 14, 2024 · 8 comments · Fixed by #1685 or #1686
Closed

[Win] Most tests in I20240213-1800 DNF waiting on "WindowsDefenderConfigurator" #1683

iloveeclipse opened this issue Feb 14, 2024 · 8 comments · Fixed by #1685 or #1686
Assignees
Labels
bug Something isn't working Windows Happens on Windows OS
Milestone

Comments

@iloveeclipse
Copy link
Member

Regression from #1453.

Most of Windows test hang in https://download.eclipse.org/eclipse/downloads/drops4/I20240213-1800/testResults.php
See

That must be fixed for M3.

Thread dump:

DumpStackTracesTimer almost reached timeout '7200000'.
totalMemory:            268435456
freeMemory (before GC): 212480400
freeMemory (after GC):  219865896
Thread dump 0 at 2024-02-14 02:17:45 +0000:
java.lang.Exception: ThreadDump for thread "Bundle File Closer"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
java.lang.Exception: ThreadDump for thread "Signal Dispatcher"
java.lang.Exception: ThreadDump for thread "Worker-7: Windows Defender Exclusion Check"
	at [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
	at [email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:717)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1074)
	at [email protected]/java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:415)
	at org.eclipse.ui.internal.PendingSyncExec.acquire(PendingSyncExec.java:39)
	at org.eclipse.ui.internal.PendingSyncExec.waitUntilExecuted(PendingSyncExec.java:88)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:142)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4803)
	at org.eclipse.swt.widgets.Display.syncCall(Display.java:4838)
	at org.eclipse.ui.internal.WindowsDefenderConfigurator.askForDefenderHandlingDecision(WindowsDefenderConfigurator.java:162)
	at org.eclipse.ui.internal.WindowsDefenderConfigurator.runExclusionCheck(WindowsDefenderConfigurator.java:139)
	at org.eclipse.ui.internal.WindowsDefenderConfigurator.lambda$0(WindowsDefenderConfigurator.java:101)
	at org.eclipse.ui.internal.WindowsDefenderConfigurator$$Lambda$812/0x00000008013032a0.run(Unknown Source)
	at org.eclipse.core.runtime.jobs.Job$2.run(Job.java:187)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
java.lang.Exception: ThreadDump for thread "DumpStackTracesTimer"
	at [email protected]/java.lang.Thread.dumpThreads(Native Method)
	at [email protected]/java.lang.Thread.getAllStackTraces(Thread.java:1662)
	at org.eclipse.ui.testing.dumps.TimeoutDumpTimer.dumpStackTraces(TimeoutDumpTimer.java:236)
	at org.eclipse.ui.testing.dumps.TimeoutDumpTimer.dump(TimeoutDumpTimer.java:157)
	at org.eclipse.ui.testing.dumps.TimeoutDumpTimer.run(TimeoutDumpTimer.java:130)
	at [email protected]/java.util.TimerThread.mainLoop(Timer.java:566)
	at [email protected]/java.util.TimerThread.run(Timer.java:516)
java.lang.Exception: ThreadDump for thread "Start Level: Equinox Container: 2d0ef650-8b1c-4914-8ccc-0702f5ecb5b8"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
java.lang.Exception: ThreadDump for thread "Worker-JM"
	at [email protected]/java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:61)
java.lang.Exception: ThreadDump for thread "Reference Handler"
	at [email protected]/java.lang.ref.Reference.waitForReferencePendingList(Native Method)
	at [email protected]/java.lang.ref.Reference.processPendingReferences(Reference.java:253)
	at [email protected]/java.lang.ref.Reference$ReferenceHandler.run(Reference.java:215)
java.lang.Exception: ThreadDump for thread "Active Thread: Equinox Container: 2d0ef650-8b1c-4914-8ccc-0702f5ecb5b8"
	at [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
	at [email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
	at [email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
	at [email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
java.lang.Exception: ThreadDump for thread "Worker-10"
	at [email protected]/java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:242)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
java.lang.Exception: ThreadDump for thread "Notification Thread"
java.lang.Exception: ThreadDump for thread "EMF Reference Cleaner"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
	at [email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
	at org.eclipse.emf.common.util.CommonUtil$1ReferenceClearingQueuePollingThread.run(CommonUtil.java:80)
java.lang.Exception: ThreadDump for thread "EventAdmin Async Event Dispatcher Thread"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
java.lang.Exception: ThreadDump for thread "Refresh Thread: Equinox Container: 2d0ef650-8b1c-4914-8ccc-0702f5ecb5b8"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
java.lang.Exception: ThreadDump for thread "Framework Event Dispatcher: Equinox Container: 2d0ef650-8b1c-4914-8ccc-0702f5ecb5b8"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
java.lang.Exception: ThreadDump for thread "Java indexing"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.indexerLoop(JobManager.java:503)
	at org.eclipse.jdt.internal.core.search.processing.JobManager$$Lambda$530/0x00000008011790a0.run(Unknown Source)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
java.lang.Exception: ThreadDump for thread "Provisioning Event Dispatcher"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
java.lang.Exception: ThreadDump for thread "WorkbenchTestable"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:200)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4803)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Testable.runTest(E4Testable.java:118)
	at org.eclipse.test.UITestApplication.runTests(UITestApplication.java:99)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Testable.lambda$0(E4Testable.java:79)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Testable$$Lambda$820/0x00000008011eb330.run(Unknown Source)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
java.lang.Exception: ThreadDump for thread "JNA Cleaner"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
	at com.sun.jna.internal.Cleaner$CleanerThread.run(Cleaner.java:154)
java.lang.Exception: ThreadDump for thread "Gogo shell"
	at [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
	at [email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
	at [email protected]/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)
	at [email protected]/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
	at [email protected]/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
java.lang.Exception: ThreadDump for thread "SCR Component Actor"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.Object.wait(Object.java:338)
	at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:83)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
java.lang.Exception: ThreadDump for thread "Worker-6"
	at [email protected]/java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:242)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
java.lang.Exception: ThreadDump for thread "Attach Listener"
java.lang.Exception: ThreadDump for thread "main"
	at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
	at org.eclipse.swt.widgets.Display.sleep(Display.java:4770)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:824)
	at org.eclipse.jface.window.Window.open(Window.java:799)
	at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:608)
	at org.eclipse.ui.internal.WindowsDefenderConfigurator.lambda$3(WindowsDefenderConfigurator.java:212)
	at org.eclipse.ui.internal.WindowsDefenderConfigurator$$Lambda$1362/0x00000008014ed758.call(Unknown Source)
	at org.eclipse.swt.widgets.Display.lambda$1(Display.java:4840)
	at org.eclipse.swt.widgets.Display$$Lambda$1363/0x000000080158bd98.run(Unknown Source)
	at org.eclipse.ui.internal.PendingSyncExec.run(PendingSyncExec.java:68)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:166)
	at org.eclipse.ui.internal.UISynchronizer$$Lambda$1224/0x00000008014ec480.run(Unknown Source)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4047)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3663)
	at org.eclipse.ant.tests.ui.RunInSeparateThreadRule.doReadAndDispatch(RunInSeparateThreadRule.java:59)
	at org.eclipse.ant.tests.ui.RunInSeparateThreadRule$1.evaluate(RunInSeparateThreadRule.java:36)
	at org.eclipse.ant.tests.ui.testplugin.TestAgainExceptionRule$1.evaluate(TestAgainExceptionRule.java:39)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:198)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator$$Lambda$1038/0x0000000801419c28.accept(Unknown Source)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
	at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:63)
	at org.eclipse.test.EclipseTestRunner.runTests(EclipseTestRunner.java:212)
	at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:187)
	at org.eclipse.test.UITestApplication.lambda$0(UITestApplication.java:101)
	at org.eclipse.test.UITestApplication$$Lambda$844/0x0000000800e50260.run(Unknown Source)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Testable.lambda$1(E4Testable.java:127)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Testable$$Lambda$845/0x00000008011eb9b0.run(Unknown Source)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4047)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3663)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:152)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639)
	at org.eclipse.ui.internal.Workbench$$Lambda$251/0x0000000800e7a370.run(Unknown Source)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.test.UITestApplication.run(UITestApplication.java:48)
	at org.eclipse.test.UITestApplication.start(UITestApplication.java:116)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
	at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at [email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at [email protected]/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
	at app//org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
	at app//org.eclipse.equinox.launcher.Main.run(Main.java:1459)
	at app//org.eclipse.equinox.launcher.Main.main(Main.java:1432)
	at app//org.eclipse.core.launcher.Main.main(Main.java:44)
java.lang.Exception: ThreadDump for thread "Common-Cleaner"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
	at [email protected]/jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:140)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
	at [email protected]/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:162)
java.lang.Exception: ThreadDump for thread "pool-1-thread-1"
	at [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
	at [email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
	at [email protected]/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)
	at [email protected]/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
	at [email protected]/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
java.lang.Exception: ThreadDump for thread "pool-2-thread-1"
	at [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
	at [email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
	at [email protected]/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)
	at [email protected]/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)
	at [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
	at [email protected]/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at [email protected]/java.lang.Thread.run(Thread.java:833)
java.lang.Exception: ThreadDump for thread "Finalizer"
	at [email protected]/java.lang.Object.wait(Native Method)
	at [email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
	at [email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
	at [email protected]/java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:172)
@iloveeclipse iloveeclipse added the bug Something isn't working label Feb 14, 2024
@iloveeclipse iloveeclipse added this to the 4.31 M3 milestone Feb 14, 2024
@iloveeclipse iloveeclipse added the Windows Happens on Windows OS label Feb 14, 2024
HannesWell added a commit to HannesWell/eclipse.platform.ui that referenced this issue Feb 14, 2024
Only run the startup check if the running application is
'org.eclipse.ui.ide.workbench', which runs in a usual Eclipse IDE.
Requiring this specific app-id prevents the start-up check and
consequently a pop-up in test applications launched by PDE or Tycho for
OSGi Junit tests or general console applications (that still have the
'o.e.ui.workbench' plugin installed) on Windows.

Fixes eclipse-platform#1683
HannesWell added a commit to HannesWell/eclipse.platform.ui that referenced this issue Feb 14, 2024
Only run the startup check if the running application is
'org.eclipse.ui.ide.workbench', which runs in a usual Eclipse IDE.
Requiring this specific app-id prevents the start-up check and
consequently a pop-up in test applications launched by PDE or Tycho for
OSGi Junit tests or general console applications (that still have the
'o.e.ui.workbench' plugin installed) on Windows.

Fixes eclipse-platform#1683
HannesWell added a commit that referenced this issue Feb 14, 2024
Only run the startup check if the running application is
'org.eclipse.ui.ide.workbench', which runs in a usual Eclipse IDE.
Requiring this specific app-id prevents the start-up check and
consequently a pop-up in test applications launched by PDE or Tycho for
OSGi Junit tests or general console applications (that still have the
'o.e.ui.workbench' plugin installed) on Windows.

Fixes #1683
@HannesWell
Copy link
Member

Looks like it is hanging again...
https://ci.eclipse.org/releng/job/AutomatedTests/job/ep431I-unit-win32-java17/115/console
I'll investigate.

@HannesWell HannesWell reopened this Feb 15, 2024
@HannesWell
Copy link
Member

I'm really puzzled on this one.
As far as I understand the build script, it hangs while running:

https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/3a6a8ea59e35958f4a110af689898ed563aab140/production/testScripts/configuration/sdk.tests/testScripts/runtests.bat#L82-L87

But in both cases -application org.eclipse.ant.core.antRunner is specified and with #1685 the startup check should only run with org.eclipse.ui.ide.workbench.

Could it be that the the primary launched eclipse runs another secondary eclipse with the org.eclipse.ui.ide.workbench app?

@HannesWell
Copy link
Member

Thinking about it again, it is probably that with #1685 only the app defined in the product is considered, not an app defined on the CLI like it is the case here.
Have to check again if the approach presented in #1453 (comment) can help here.

@HeikoKlare
Copy link
Contributor

I am not sure whether I can help here, as you probably already know everything I can contribute, so feel free to just ignore my comment. I see the following potential trace to starting a org.eclipse.ui.ide.workbench application:

  • The SDK tests are run via the AntRunner, which then executes the invidividual test projects as specified in the general test.xml according to the project-individual test.xml specifications
  • The projects usually use the core-test or ui-test ant target, depending on whether they are headless or UI tests. These targets are specified in the common library.xml
  • These targets use the org.eclipse.test.coretestapplication and org.eclipse.test.uitestapplication, of which at least the latter defaults to use the org.eclipse.ui.ide.workbench application

@laeubi
Copy link
Contributor

laeubi commented Feb 15, 2024

@HannesWell I really think this should be just a preference (off by default), then it could be set for any EPP or custom product instead of some guess working.

HannesWell added a commit to HannesWell/eclipse.platform.ui that referenced this issue Feb 15, 2024
Consider also applications specified on the CLI via the '-application'
argument when determining the actually running application. Otherwise
always the application defined in the product definition is assumed.

Fixes eclipse-platform#1683
@laeubi
Copy link
Contributor

laeubi commented Feb 15, 2024

Putting the code into a fragment might be a good alternative as well.

@HannesWell
Copy link
Member

HannesWell commented Feb 15, 2024

Thinking about it again, it is probably that with #1685 only the app defined in the product is considered, not an app defined on the CLI like it is the case here.

I have now created #1686 to address that.

* These targets use the `org.eclipse.test.coretestapplication` and `org.eclipse.test.uitestapplication`, of which at least the latter [defaults to use the `org.eclipse.ui.ide.workbench` application](https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/3a6a8ea59e35958f4a110af689898ed563aab140/eclipse.platform.releng/bundles/org.eclipse.test/src/org/eclipse/test/UITestApplication.java#L35)

Thanks for that hint. I wasn't aware that even the test-apps can also call org.eclipse.ui.ide.workbench.
I hope that something will set the -testApplication so that app is eventually executed:
https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/3a6a8ea59e35958f4a110af689898ed563aab140/eclipse.platform.releng/bundles/org.eclipse.test/src/org/eclipse/test/UITestApplication.java#L87-L93

But lets see if #1686 is sufficient and if not I have to think about other tricks (e.g. checking if a CI environment property is set, but I actually really want to avoid such hacks).
Alternatively we could modify the test environment, e.g. supply a corresponding use-scoped preference to skip the startup check. I.e. create a file <user-home>\.eclipse\.settings\org.eclipse.ui.prefs with content:

eclipse.preferences.version=1
windows.defender.check.skip=true

@HannesWell I really think this should be just a preference (off by default), then it could be set for any EPP or custom product instead of some guess working.

This would mean that every product based on Eclipse would have to enabled it explicitly, even those that define an 'extended' IDE that use the org.eclipse.ui.ide.workbench app and would benefit from it.
But there is already a property it is just that it's 'on' by default (i.e. windows.defender.check.skip is false ). If one does not want the startup check can disable it in the default preferences of the product.

But even if it would be 'off' by default it would not solve the problem. Because as you said EPP would turn it on and the Eclipse SDK as well. But the I-build tests just use the Eclipse SDK and launch it from the CLI with the antRunner app specified. So we would be in the same situation.

But of course I would also prefer a solution with less guessing, but the current one seems to be the best trade-off to make this new feature available where it could be helpful while avoiding unwanted pop-ups.

Putting the code into a fragment might be a good alternative as well.

This would IMHO be an overkill and would also not solve the problem with the tests. On other platforms than Windows you will not notice anything about it anyways.

HannesWell added a commit that referenced this issue Feb 15, 2024
Consider also applications specified on the CLI via the '-application'
argument when determining the actually running application. Otherwise
always the application defined in the product definition is assumed.

Fixes #1683
@HannesWell
Copy link
Member

Looks like #1686 really fixed the windows tests.

Thanks everyone involved and for your patience.

A side note:
I think it would be helpful if there would be at least some printout during I build test execution. I looked into the build while it was running and already thought that it is blocked again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Windows Happens on Windows OS
Projects
None yet
4 participants