Community
Participate
Working Groups
Created attachment 285014 [details] stack trace when eclipse is frozen Hi, eclipse freeze regularly far a random duration. i attached the stack trace when eclipse is frozen. the relevant part of the stack (i think) is that the main thread is waiting for the marker thing: "main" #1 prio=6 os_prio=0 cpu=20055,49ms elapsed=67,68s tid=0x0000000000aec800 nid=0x75fc waiting for monitor entry [0x00007ffd8bd0f000] java.lang.Thread.State: BLOCKED (on object monitor) at org.eclipse.ui.internal.views.markers.Markers.getMarkerItem(Markers.java:349) - waiting to lock <0x00000006af34dd50> (a org.eclipse.ui.internal.views.markers.Markers) at org.eclipse.ui.internal.views.markers.ExtendedMarkersView.setSelection(ExtendedMarkersView.java:1306) "Worker-20: Searching for markers" #60 prio=5 os_prio=0 cpu=35946,87ms elapsed=51,05s tid=0x00007f82540cd800 nid=0x76cc runnable [0x00007f82503e5000] java.lang.Thread.State: RUNNABLE at sun.text.normalizer.NormalizerBase.nextNormalize(java.base@11.0.8/NormalizerBase.java:756) at sun.text.normalizer.NormalizerBase.next(java.base@11.0.8/NormalizerBase.java:520) at java.text.CollationElementIterator.next(java.base@11.0.8/CollationElementIterator.java:217) at java.text.RuleBasedCollator.getCollationKey(java.base@11.0.8/RuleBasedCollator.java:630) - locked <0x00000007613e9dc0> (a java.text.RuleBasedCollator) at org.eclipse.ui.internal.views.markers.MarkerEntry.getCollationKey(MarkerEntry.java:222) at org.eclipse.ui.internal.views.markers.MarkerDescriptionField.getDescriptionKey(MarkerDescriptionField.java:120) at org.eclipse.ui.internal.views.markers.MarkerDescriptionField.compare(MarkerDescriptionField.java:104) at org.eclipse.ui.internal.views.markers.MarkerProblemSeverityAndMessageField.compare(MarkerProblemSeverityAndMessageField.java:39) at org.eclipse.ui.internal.views.markers.MarkerComparator.compareFields(MarkerComparator.java:110) at org.eclipse.ui.internal.views.markers.MarkerComparator$$Lambda$890/0x0000000840ed5840.compare(Unknown Source) at org.eclipse.ui.internal.views.markers.MarkerSortUtil.adjustMaxElement(MarkerSortUtil.java:105) at org.eclipse.ui.internal.views.markers.MarkerSortUtil.partiallySort(MarkerSortUtil.java:83) at org.eclipse.ui.internal.views.markers.MarkerSortUtil.sortStartingKElement(MarkerSortUtil.java:350) at org.eclipse.ui.internal.views.markers.Markers.sortMarkerEntries(Markers.java:168) - locked <0x00000006af34dd50> (a org.eclipse.ui.internal.views.markers.Markers) at org.eclipse.ui.internal.views.markers.Markers.sortAndMakeCategories(Markers.java:139) - locked <0x00000006af34dd50> (a org.eclipse.ui.internal.views.markers.Markers) at org.eclipse.ui.internal.views.markers.Markers.updateWithNewMarkers(Markers.java:103) - locked <0x00000006af34dd50> (a org.eclipse.ui.internal.views.markers.Markers) at org.eclipse.ui.internal.views.markers.MarkerUpdateJob.processMarkerEntries(MarkerUpdateJob.java:128) at org.eclipse.ui.internal.views.markers.MarkerUpdateJob.buildMarkers(MarkerUpdateJob.java:82) at org.eclipse.ui.internal.views.markers.MarkerUpdateJob.run(MarkerUpdateJob.java:54) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Regards.
Looks like it is waiting on the lock introduced in bug 527312 (to prevent MT issues). I believe the problem is the inefficient implementation in Markers.sortAndMakeCategories() (but may be it's JFace issue too) - if you have more than ~20.000 markers visible in the tree, you are most likely to see freezes.