Bug 472377 - [Gtk3] Replace deprecated gtk_widget_reparent
Summary: [Gtk3] Replace deprecated gtk_widget_reparent
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.4.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: triaged
Depends on:
Blocks: 502193
  Show dependency tree
 
Reported: 2015-07-10 09:55 EDT by Eric Williams CLA
Modified: 2020-09-17 05:48 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Williams CLA 2015-07-10 09:55:19 EDT
Replacement patch for deprecated function gtk_widget_reparent().
Comment 1 Eclipse Genie CLA 2015-07-10 10:32:32 EDT
New Gerrit change created: https://git.eclipse.org/r/51740
Comment 3 Alexander Kurtakov CLA 2015-07-17 12:57:29 EDT
Thanks for the patch. Pushed to master.
Comment 4 Arun Thondapu CLA 2015-07-21 07:53:10 EDT
It appears that this patch has started causing build failures in the last few N-builds due to a crash in SWT (no conclusive proof yet but the failures started happening right after this commit).

In order to confirm whether this really is causing the crashes or not, I've reverted the patch temporarily and we should know either ways after the test results from today's I-build.
Comment 5 Arun Thondapu CLA 2015-07-21 07:56:25 EDT
A sample stack trace from the crashing tests is below:

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [im-xim.so+0x3b04]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.eclipse.swt.internal.gtk.OS._gtk_im_context_reset(J)V+0
j  org.eclipse.swt.internal.gtk.OS.gtk_im_context_reset(J)V+8
j  org.eclipse.swt.widgets.Control.releaseWidget()V+46
j  org.eclipse.swt.widgets.Composite.releaseWidget()V+1
j  org.eclipse.swt.widgets.Widget.release(Z)V+82
j  org.eclipse.swt.widgets.Control.release(Z)V+94
j  org.eclipse.swt.widgets.Composite.releaseChildren(Z)V+31
j  org.eclipse.swt.widgets.Widget.release(Z)V+38
j  org.eclipse.swt.widgets.Control.release(Z)V+94
j  org.eclipse.swt.widgets.Composite.releaseChildren(Z)V+31
j  org.eclipse.swt.widgets.Canvas.releaseChildren(Z)V+42
j  org.eclipse.swt.widgets.Widget.release(Z)V+38
j  org.eclipse.swt.widgets.Control.release(Z)V+94
j  org.eclipse.swt.widgets.Widget.dispose()V+23
j  org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(Lorg/eclipse/e4/ui/model/application/ui/MUIElement;)V+40
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(Lorg/eclipse/e4/ui/model/application/ui/MUIElement;)V+421
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(Lorg/eclipse/e4/ui/internal/workbench/swt/PartRenderingEngine;Lorg/eclipse/e4/ui/model/application/ui/MUIElement;)V+2
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$3.run()V+8
J 3162 C1 org.eclipse.core.runtime.SafeRunner.run(Lorg/eclipse/core/runtime/ISafeRunnable;)V (38 bytes) @ 0x00007f6e8eef4454 [0x00007f6e8eef42a0+0x1b4]
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(Lorg/eclipse/e4/ui/model/application/ui/MUIElement;)V+9
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.subscribeTopicToBeRendered(Lorg/osgi/service/event/Event;)V+180
v  ~StubRoutines::call_stub
J 4461  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007f6e8f529c77 [0x00007f6e8f529c00+0x77]
J 4460 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007f6e8f3e37cc [0x00007f6e8f3e2640+0x118c]
J 786 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00007f6e8ed06704 [0x00007f6e8ed06600+0x104]
J 783 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007f6e8ed04004 [0x00007f6e8ed03c20+0x3e4]
J 3964 C1 org.eclipse.e4.core.internal.di.MethodRequestor.execute()Ljava/lang/Object; (239 bytes) @ 0x00007f6e8ef52f64 [0x00007f6e8ef521e0+0xd84]
j  org.eclipse.e4.core.di.internal.extensions.EventObjectSupplier$DIEventHandler.handleEvent(Lorg/osgi/service/event/Event;)V+61
J 4297 C1 org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(Lorg/osgi/service/event/Event;Ljava/security/Permission;)V (138 bytes) @ 0x00007f6e8f601964 [0x00007f6e8f601080+0x8e4]
J 4295 C1 org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)V (19 bytes) @ 0x00007f6e8f60bd4c [0x00007f6e8f60b9e0+0x36c]
J 3522 C2 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(Ljava/util/Set;Lorg/eclipse/osgi/framework/eventmgr/EventDispatcher;ILjava/lang/Object;)V (69 bytes) @ 0x00007f6e8ed6e874 [0x00007f6e8ed6e620+0x254]
J 3487 C1 org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ILjava/lang/Object;)V (81 bytes) @ 0x00007f6e8eb7222c [0x00007f6e8eb71a20+0x80c]
J 3713 C1 org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(Lorg/osgi/service/event/Event;Z)V (219 bytes) @ 0x00007f6e8f0f0c24 [0x00007f6e8f0ef900+0x1324]
J 3747 C1 org.eclipse.equinox.internal.event.EventComponent.sendEvent(Lorg/osgi/service/event/Event;)V (9 bytes) @ 0x00007f6e8ec8314c [0x00007f6e8ec83080+0xcc]
J 3722 C1 org.eclipse.e4.ui.services.internal.events.EventBroker.send(Ljava/lang/String;Ljava/lang/Object;)Z (56 bytes) @ 0x00007f6e8f126b34 [0x00007f6e8f126700+0x434]
J 3700 C1 org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(Lorg/eclipse/emf/common/notify/Notification;)V (61 bytes) @ 0x00007f6e8ef90d64 [0x00007f6e8ef90180+0xbe4]
J 2989 C1 org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(Lorg/eclipse/emf/common/notify/Notification;)V (44 bytes) @ 0x00007f6e8eb961d4 [0x00007f6e8eb95ec0+0x314]
j  org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setToBeRendered(Z)V+34
j  org.eclipse.ui.internal.WorkbenchWindow.populateStandardTrim(Lorg/eclipse/e4/ui/model/application/ui/basic/MTrimBar;)V+187
j  org.eclipse.ui.internal.WorkbenchWindow.populateBottomTrimContributions()V+19
j  org.eclipse.ui.internal.WorkbenchWindow.setup()V+532
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100
J 786 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00007f6e8ed06704 [0x00007f6e8ed06600+0x104]
J 783 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007f6e8ed04004 [0x00007f6e8ed03c20+0x3e4]
J 3964 C1 org.eclipse.e4.core.internal.di.MethodRequestor.execute()Ljava/lang/Object; (239 bytes) @ 0x00007f6e8ef52f64 [0x00007f6e8ef521e0+0xd84]
j  org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Class;Lorg/eclipse/e4/core/di/suppliers/PrimaryObjectSupplier;Lorg/eclipse/e4/core/di/suppliers/PrimaryObjectSupplier;Ljava/util/ArrayList;)V+184
j  org.eclipse.e4.core.internal.di.InjectorImpl.inject(Ljava/lang/Object;Lorg/eclipse/e4/core/di/suppliers/PrimaryObjectSupplier;Lorg/eclipse/e4/core/di/suppliers/PrimaryObjectSupplier;)V+174
j  org.eclipse.e4.core.internal.di.InjectorImpl.inject(Ljava/lang/Object;Lorg/eclipse/e4/core/di/suppliers/PrimaryObjectSupplier;)V+4
j  org.eclipse.e4.core.contexts.ContextInjectionFactory.inject(Ljava/lang/Object;Lorg/eclipse/e4/core/contexts/IEclipseContext;)V+13
j  org.eclipse.ui.internal.Workbench.createWorkbenchWindow(Lorg/eclipse/core/runtime/IAdaptable;Lorg/eclipse/ui/IPerspectiveDescriptor;Lorg/eclipse/e4/ui/model/application/ui/basic/MWindow;Z)Lorg/eclipse/ui/IWorkbenchWindow;+139
j  org.eclipse.ui.internal.Workbench.getActiveWorkbenchWindow()Lorg/eclipse/ui/IWorkbenchWindow;+158
j  org.eclipse.ui.internal.services.WorkbenchSourceProvider.updateActiveShell(Ljava/util/Map;)V+58
j  org.eclipse.ui.internal.services.WorkbenchSourceProvider.getCurrentState()Ljava/util/Map;+10
j  org.eclipse.ui.internal.services.WorkbenchSourceProvider$6.handleEvent(Lorg/eclipse/swt/widgets/Event;)V+111
j  org.eclipse.swt.widgets.EventTable.sendEvent(Lorg/eclipse/swt/widgets/Event;)V+214
j  org.eclipse.swt.widgets.Display.filterEvent(Lorg/eclipse/swt/widgets/Event;)Z+22
j  org.eclipse.swt.widgets.Widget.sendEvent(Lorg/eclipse/swt/widgets/Event;)V+7
j  org.eclipse.swt.widgets.Widget.sendEvent(ILorg/eclipse/swt/widgets/Event;Z)V+73
j  org.eclipse.swt.widgets.Widget.sendEvent(I)V+4
j  org.eclipse.swt.widgets.Shell.filterProc(JJJ)J+139
j  org.eclipse.swt.widgets.Display.filterProc(JJJ)J+21
v  ~StubRoutines::call_stub
j  org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(JZ)Z+0
j  org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(JZ)Z+9
j  org.eclipse.swt.widgets.Display.readAndDispatch()Z+36
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run()V+626
j  org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(Lorg/eclipse/e4/ui/model/application/MApplicationElement;Lorg/eclipse/e4/core/contexts/IEclipseContext;)Ljava/lang/Object;+57
j  org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(Lorg/eclipse/e4/ui/model/application/MApplicationElement;)V+20
j  org.eclipse.ui.internal.Workbench$5.run()V+310
j  org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j  org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+18
j  org.eclipse.ui.PlatformUI.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+2
j  org.eclipse.ui.internal.ide.application.IDEApplication.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+111
j  org.eclipse.test.UITestApplication.runApplication(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+41
j  org.eclipse.test.UITestApplication.run(Ljava/lang/Object;)Ljava/lang/Object;+43
j  org.eclipse.test.UITestApplication.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+36
j  org.eclipse.equinox.internal.app.EclipseAppHandle.run(Ljava/lang/Object;)Ljava/lang/Object;+135
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ljava/lang/Object;)Ljava/lang/Object;+85
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ljava/lang/Object;)Ljava/lang/Object;+82
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)Ljava/lang/Object;+109
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+132
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+56
j  org.eclipse.equinox.launcher.Main.invokeFramework([Ljava/lang/String;[Ljava/net/URL;)V+265
j  org.eclipse.equinox.launcher.Main.basicRun([Ljava/lang/String;)V+160
j  org.eclipse.equinox.launcher.Main.run([Ljava/lang/String;)I+4
j  org.eclipse.equinox.launcher.Main.main([Ljava/lang/String;)V+10
j  org.eclipse.core.launcher.Main.main([Ljava/lang/String;)V+1
v  ~StubRoutines::call_stub
Comment 6 Eric Williams CLA 2015-07-21 09:03:02 EDT
(In reply to Arun Thondapu from comment #4)
> It appears that this patch has started causing build failures in the last
> few N-builds due to a crash in SWT (no conclusive proof yet but the failures
> started happening right after this commit).
> 
> In order to confirm whether this really is causing the crashes or not, I've
> reverted the patch temporarily and we should know either ways after the test
> results from today's I-build.

Thank you for letting me know, I will investigate. Please let me know if you discover anything else.
Comment 7 Eric Williams CLA 2015-07-27 08:56:38 EDT
@Arun

Any further info from the test results?
Comment 8 Arun Thondapu CLA 2015-07-27 09:05:24 EDT
(In reply to Eric Williams from comment #6)
> (In reply to Arun Thondapu from comment #4)
> > It appears that this patch has started causing build failures in the last
> > few N-builds due to a crash in SWT (no conclusive proof yet but the failures
> > started happening right after this commit).
> > 
> > In order to confirm whether this really is causing the crashes or not, I've
> > reverted the patch temporarily and we should know either ways after the test
> > results from today's I-build.
> 
> Thank you for letting me know, I will investigate. Please let me know if you
> discover anything else.

Hi Eric,

Not sure if this really helps but as I mentioned in bug 473065, it appears that we ran into this exact same crash earlier as well (see bug 387496) and apparently that was also caused by changes in the same location (though the changes are not exactly the same).

If you want to investigate further, one possible way to proceed would be to checkout the UI tests that started failing after this patch and run them in your local workspace and see whether the crash is reproducible or not...
Comment 9 Eric Williams CLA 2015-09-18 08:51:38 EDT
(In reply to Arun Thondapu from comment #8)
> If you want to investigate further, one possible way to proceed would be to
> checkout the UI tests that started failing after this patch and run them in
> your local workspace and see whether the crash is reproducible or not...

Where can I find these UI tests?
Comment 10 Alexander Kurtakov CLA 2015-09-18 09:22:34 EDT
Arun, do you speak for http://git.eclipse.org/c/platform/eclipse.platform.ui.git/tree/tests/org.eclipse.ui.tests ? If yes, which one specifically ?
Comment 11 Sravan Kumar Lakkimsetti CLA 2016-05-04 07:42:14 EDT
Deferring it to 4.7 for the remaining work to be done
Comment 12 Alexander Kurtakov CLA 2017-05-23 03:14:07 EDT
Move out of 4.7.
Comment 13 Niraj Modi CLA 2018-05-14 05:57:39 EDT
Moving to 4.9, please re-target as required.
Comment 14 Eric Williams CLA 2018-05-14 10:27:22 EDT
Probably will have to wait until GTK4.
Comment 15 Eclipse Genie CLA 2020-09-17 05:48:19 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.