@sadiesue43 I just realized that you are running Ubuntu and not Windows. The 3rd issue you reported is different from the one originally reported here and I just ran into it while testing #4190 in WSL.
I am reporting it separately to avoid polluting this issue with it.
Originally posted by @fedejeanne in #4135
The problem
Important
I noticed this while testing for Linux (using WSL on Windows) . The problem is not reproducible on Windows. I haven't tested on Mac.
Navigating with the keys Ctrl + PgUp / Ctrl + PgDn sometimes skips a tab.
Here is a video showing the issue in Eclipse 2025-09 / 4.37
The stack traces show that the issue is a duplicated event that reaches the TraversePageHandler.
Stack-trace Nr. 1
java .lang .Exception : Stack trace
at java .base /java .lang .Thread .dumpStack (Thread .java :2210 )
at org .eclipse .ui .internal .handlers .TraversePageHandler .execute (TraversePageHandler .java :42 )
at org .eclipse .ui .internal .handlers .HandlerProxy .execute (HandlerProxy .java :277 )
at org .eclipse .ui .internal .handlers .E4HandlerProxy .execute (E4HandlerProxy .java :98 )
at java .base /jdk .internal .reflect .DirectMethodHandleAccessor .invoke (DirectMethodHandleAccessor .java :103 )
at java .base /java .lang .reflect .Method .invoke (Method .java :580 )
at org .eclipse .e4 .core .internal .di .MethodRequestor .execute (MethodRequestor .java :58 )
at org .eclipse .e4 .core .internal .di .InjectorImpl .invokeUsingClass (InjectorImpl .java :301 )
at org .eclipse .e4 .core .internal .di .InjectorImpl .invoke (InjectorImpl .java :233 )
at org .eclipse .e4 .core .contexts .ContextInjectionFactory .invoke (ContextInjectionFactory .java :174 )
at org .eclipse .e4 .core .commands .internal .HandlerServiceHandler .execute (HandlerServiceHandler .java :165 )
at org .eclipse .core .commands .Command .executeWithChecks (Command .java :488 )
at org .eclipse .core .commands .ParameterizedCommand .executeWithChecks (ParameterizedCommand .java :484 )
at org .eclipse .e4 .core .commands .internal .HandlerServiceImpl .executeHandler (HandlerServiceImpl .java :204 )
at org .eclipse .e4 .ui .bindings .keys .KeyBindingDispatcher .handleCommandExecution (KeyBindingDispatcher .java :331 )
at org .eclipse .e4 .ui .bindings .keys .KeyBindingDispatcher .lambda$0 (KeyBindingDispatcher .java :320 )
at org .eclipse .swt .widgets .RunnableLock .run (RunnableLock .java :40 )
at org .eclipse .swt .widgets .Synchronizer .runAsyncMessages (Synchronizer .java :131 )
at org .eclipse .swt .widgets .Display .runAsyncMessages (Display .java :5068 )
at org .eclipse .swt .widgets .Display .readAndDispatch (Display .java :4528 )
at org .eclipse .e4 .ui .internal .workbench .swt .PartRenderingEngine$5 .run (PartRenderingEngine .java :1160 )
at org .eclipse .core .databinding .observable .Realm .runWithDefault (Realm .java :339 )
at org .eclipse .e4 .ui .internal .workbench .swt .PartRenderingEngine .run (PartRenderingEngine .java :1051 )
at org .eclipse .e4 .ui .internal .workbench .E4Workbench .createAndRunUI (E4Workbench .java :153 )
at org .eclipse .ui .internal .Workbench .lambda$3 (Workbench .java :680 )
at org .eclipse .core .databinding .observable .Realm .runWithDefault (Realm .java :339 )
at org .eclipse .ui .internal .Workbench .createAndRunWorkbench (Workbench .java :583 )
at org .eclipse .ui .PlatformUI .createAndRunWorkbench (PlatformUI .java :173 )
at org .eclipse .ui .internal .ide .application .IDEApplication .start (IDEApplication .java :193 )
at org .eclipse .equinox .internal .app .EclipseAppHandle .run (EclipseAppHandle .java :219 )
at org .eclipse .core .runtime .internal .adaptor .EclipseAppLauncher .runApplication (EclipseAppLauncher .java :149 )
at org .eclipse .core .runtime .internal .adaptor .EclipseAppLauncher .start (EclipseAppLauncher .java :115 )
at org .eclipse .core .runtime .adaptor .EclipseStarter .run (EclipseStarter .java :467 )
at org .eclipse .core .runtime .adaptor .EclipseStarter .run (EclipseStarter .java :298 )
at java .base /jdk .internal .reflect .DirectMethodHandleAccessor .invoke (DirectMethodHandleAccessor .java :103 )
at java .base /java .lang .reflect .Method .invoke (Method .java :580 )
at org .eclipse .equinox .launcher .Main .invokeFramework (Main .java :615 )
at org .eclipse .equinox .launcher .Main .basicRun (Main .java :563 )
at org .eclipse .equinox .launcher .Main .run (Main .java :1415 )
at org .eclipse .equinox .launcher .Main .main (Main .java :1387 )
Stack-Trace Nr. 2
java .lang .Exception : Stack trace
at java .base /java .lang .Thread .dumpStack (Thread .java :2210 )
at org .eclipse .ui .internal .handlers .TraversePageHandler .execute (TraversePageHandler .java :42 )
at org .eclipse .ui .internal .handlers .HandlerProxy .execute (HandlerProxy .java :277 )
at org .eclipse .ui .internal .handlers .E4HandlerProxy .execute (E4HandlerProxy .java :98 )
at java .base /jdk .internal .reflect .DirectMethodHandleAccessor .invoke (DirectMethodHandleAccessor .java :103 )
at java .base /java .lang .reflect .Method .invoke (Method .java :580 )
at org .eclipse .e4 .core .internal .di .MethodRequestor .execute (MethodRequestor .java :58 )
at org .eclipse .e4 .core .internal .di .InjectorImpl .invokeUsingClass (InjectorImpl .java :301 )
at org .eclipse .e4 .core .internal .di .InjectorImpl .invoke (InjectorImpl .java :233 )
at org .eclipse .e4 .core .contexts .ContextInjectionFactory .invoke (ContextInjectionFactory .java :174 )
at org .eclipse .e4 .core .commands .internal .HandlerServiceHandler .execute (HandlerServiceHandler .java :165 )
at org .eclipse .core .commands .Command .executeWithChecks (Command .java :488 )
at org .eclipse .core .commands .ParameterizedCommand .executeWithChecks (ParameterizedCommand .java :484 )
at org .eclipse .e4 .core .commands .internal .HandlerServiceImpl .executeHandler (HandlerServiceImpl .java :204 )
at org .eclipse .e4 .ui .bindings .keys .KeyBindingDispatcher .handleCommandExecution (KeyBindingDispatcher .java :331 )
at org .eclipse .e4 .ui .bindings .keys .KeyBindingDispatcher .executeCommand (KeyBindingDispatcher .java :322 )
at org .eclipse .e4 .ui .bindings .keys .KeyBindingDispatcher .press (KeyBindingDispatcher .java :590 )
at org .eclipse .e4 .ui .bindings .keys .KeyBindingDispatcher .processKeyEvent (KeyBindingDispatcher .java :671 )
at org .eclipse .e4 .ui .bindings .keys .KeyBindingDispatcher .filterKeySequenceBindings (KeyBindingDispatcher .java :460 )
at org .eclipse .e4 .ui .bindings .keys .KeyBindingDispatcher$KeyDownFilter .handleEvent (KeyBindingDispatcher .java :104 )
at org .eclipse .swt .widgets .EventTable .sendEvent (EventTable .java :91 )
at org .eclipse .swt .widgets .Display .filterEvent (Display .java :1990 )
at org .eclipse .swt .widgets .Widget .sendEvent (Widget .java :1658 )
at org .eclipse .swt .widgets .Widget .sendEvent (Widget .java :1685 )
at org .eclipse .swt .widgets .Widget .sendEvent (Widget .java :1668 )
at org .eclipse .swt .widgets .Control .traverse (Control .java :6725 )
at org .eclipse .swt .widgets .Control .translateTraversal (Control .java :6703 )
at org .eclipse .swt .widgets .Composite .translateTraversal (Composite .java :1923 )
at org .eclipse .swt .widgets .Control .gtk3_key_press_event (Control .java :4055 )
at org .eclipse .swt .widgets .Composite .gtk3_key_press_event (Composite .java :973 )
at org .eclipse .swt .widgets .Tree .gtk3_key_press_event (Tree .java :2356 )
at org .eclipse .swt .widgets .Widget .windowProc (Widget .java :2657 )
at org .eclipse .swt .widgets .Control .windowProc (Control .java :6900 )
at org .eclipse .swt .widgets .Tree .windowProc (Tree .java :4252 )
at org .eclipse .swt .widgets .Display .windowProc (Display .java :6190 )
at org .eclipse .swt .internal .gtk3 .GTK3 .gtk_main_iteration_do (Native Method )
at org .eclipse .swt .widgets .Display .readAndDispatch (Display .java :4522 )
at org .eclipse .e4 .ui .internal .workbench .swt .PartRenderingEngine$5 .run (PartRenderingEngine .java :1160 )
at org .eclipse .core .databinding .observable .Realm .runWithDefault (Realm .java :339 )
at org .eclipse .e4 .ui .internal .workbench .swt .PartRenderingEngine .run (PartRenderingEngine .java :1051 )
at org .eclipse .e4 .ui .internal .workbench .E4Workbench .createAndRunUI (E4Workbench .java :153 )
at org .eclipse .ui .internal .Workbench .lambda$3 (Workbench .java :680 )
at org .eclipse .core .databinding .observable .Realm .runWithDefault (Realm .java :339 )
at org .eclipse .ui .internal .Workbench .createAndRunWorkbench (Workbench .java :583 )
at org .eclipse .ui .PlatformUI .createAndRunWorkbench (PlatformUI .java :173 )
at org .eclipse .ui .internal .ide .application .IDEApplication .start (IDEApplication .java :193 )
at org .eclipse .equinox .internal .app .EclipseAppHandle .run (EclipseAppHandle .java :219 )
at org .eclipse .core .runtime .internal .adaptor .EclipseAppLauncher .runApplication (EclipseAppLauncher .java :149 )
at org .eclipse .core .runtime .internal .adaptor .EclipseAppLauncher .start (EclipseAppLauncher .java :115 )
at org .eclipse .core .runtime .adaptor .EclipseStarter .run (EclipseStarter .java :467 )
at org .eclipse .core .runtime .adaptor .EclipseStarter .run (EclipseStarter .java :298 )
at java .base /jdk .internal .reflect .DirectMethodHandleAccessor .invoke (DirectMethodHandleAccessor .java :103 )
at java .base /java .lang .reflect .Method .invoke (Method .java :580 )
at org .eclipse .equinox .launcher .Main .invokeFramework (Main .java :615 )
at org .eclipse .equinox .launcher .Main .basicRun (Main .java :563 )
at org .eclipse .equinox .launcher .Main .run (Main .java :1415 )
at org .eclipse .equinox .launcher .Main .main (Main .java :1387 )
Originally posted by @fedejeanne in #4135
The problem
Important
I noticed this while testing for Linux (using WSL on Windows). The problem is not reproducible on Windows. I haven't tested on Mac.
Navigating with the keys
Ctrl + PgUp/Ctrl + PgDnsometimes skips a tab.Here is a video showing the issue in Eclipse 2025-09 / 4.37
The stack traces show that the issue is a duplicated event that reaches the
TraversePageHandler.Stack-trace Nr. 1
Stack-Trace Nr. 2