Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 356199

Summary: Crash in libgobject-2.0.so.0 g_object_get_qdata
Product: [Eclipse Project] Platform Reporter: Troy Bishop <tjbishop>
Component: SWTAssignee: Platform-SWT-Inbox <platform-swt-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: arunkumar.thondapu, eclipse.felipe, helmut.haigermoser, melickm, remy.suen, Silenio_Quarti
Version: 3.6.2   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
javacore of the crash none

Description Troy Bishop CLA 2011-08-30 09:49:29 EDT
Build Identifier: Eclipse 3.6.2

Within a product that consumes Eclipse 3.6.2 we provide the ability for our clients to submit any crashes that occur back to us.  One such crash is the following (using the IBM JVM):

0SECTION       TITLE subcomponent dump routine
NULL           ===============================
1TISIGINFO     Dump Event "gpf" (00002000) received 
...
1XHEXCPMODULE  Module: /usr/lib32/libgobject-2.0.so.0
1XHEXCPMODULE  Module_base_address: B1D2E000
1XHEXCPMODULE  Symbol: g_object_get_qdata
1XHEXCPMODULE  Symbol_address: B1D3AFE0
...
3XMTHREADINFO3           Java callstack:
4XESTACKTRACE                at org/eclipse/swt/internal/gtk/OS._g_object_get_qdata(Native Method)
4XESTACKTRACE                at org/eclipse/swt/internal/gtk/OS.g_object_get_qdata(Bytecode PC:9(Compiled Code))
4XESTACKTRACE                at org/eclipse/swt/widgets/Display.removeWidget(Bytecode PC:17(Compiled Code))
4XESTACKTRACE                at org/eclipse/swt/widgets/Combo.deregister(Bytecode PC:19)
...


Below is some environment information that we also capture:

<virtualMachine info="JRE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260sr9-20110324_78506 (JIT enabled, AOT enabled)&#x0A;J9VM - 20110324_078506&#x0A;JIT  - r9_20101028_17488ifx3&#x0A;GC   - 20101027_AA" javaVersion="1.6.0" name="IBM J9 VM" provider="IBM Corporation" uptime="3183.342" version="2.4">

<operatingSystem arch="x86" cpus="2" name="Linux" version="2.6.32-33-generic"/>

<bundle id="org.eclipse.swt" location="reference:file:../SDPShared/plugins/org.eclipse.swt_3.6.3.v3659d.jar" state="resolved" version="3.6.3.v3659d"/>
<bundle id="org.eclipse.swt.gtk.linux.x86" location="reference:file:../SDPShared/plugins/org.eclipse.swt.gtk.linux.x86_3.6.3.v3659d.jar" state="resolved" version="3.6.3.v3659d"/>

Reproducible: Didn't try
Comment 1 Troy Bishop CLA 2011-08-30 09:51:57 EDT
Created attachment 202419 [details]
javacore of the crash

Here's the javacore for the crash.
Comment 2 Remy Suen CLA 2011-08-30 10:01:41 EDT
Won't be the first time something happened in the qdata code, also see bug 330476.
Comment 3 Helmut J. Haigermoser CLA 2011-10-06 10:48:40 EDT
CQ:WIND00303151
(In reply to comment #0)

I've seen a similar crash on ubuntu 10.04LTS where a combobox deregistering causes a segfault around g_object_get_qdata:

Stack: [0xb6c5c000,0xb6cad000],  sp=0xb6caa7c0,  free space=139b6caa100k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libgobject-2.0.so.0+0xd00a]  g_object_get_qdata+0x2a
C  [libswt-pi-gtk-3737.so+0x379b3]  Java_org_eclipse_swt_internal_gtk_OS__1g_1object_1get_1qdata+0x1e
J  org.eclipse.swt.internal.gtk.OS._g_object_get_qdata(II)I
J  org.eclipse.swt.internal.gtk.OS.g_object_get_qdata(II)I
j  org.eclipse.swt.widgets.Display.removeWidget(I)Lorg/eclipse/swt/widgets/Widget;+17
j  org.eclipse.swt.widgets.Combo.deregister()V+19
j  org.eclipse.swt.widgets.Widget.releaseWidget()V+1
j  org.eclipse.swt.widgets.Control.releaseWidget()V+1
j  org.eclipse.swt.widgets.Composite.releaseWidget()V+1
j  org.eclipse.swt.widgets.Combo.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.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.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.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.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.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.Decorations.releaseChildren(Z)V+22
j  org.eclipse.swt.widgets.Shell.releaseChildren(Z)V+100
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.swt.widgets.Shell.dispose()V+20
j  org.eclipse.jface.window.Window.close()Z+65
j  org.eclipse.jface.dialogs.Dialog.close()Z+26
j  org.eclipse.jface.dialogs.TrayDialog.close()Z+12
j  org.eclipse.jface.wizard.WizardDialog.hardClose()Z+83
j  org.eclipse.jface.wizard.WizardDialog.finishPressed()V+56
j  org.eclipse.jface.wizard.WizardDialog.buttonPressed(I)V+54
j  org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Lorg/eclipse/swt/events/SelectionEvent;)V+17
j  org.eclipse.swt.widgets.TypedListener.handleEvent(Lorg/eclipse/swt/widgets/Event;)V+1080
J  org.eclipse.swt.widgets.EventTable.sendEvent(Lorg/eclipse/swt/widgets/Event;)V
J  org.eclipse.swt.widgets.Display.runDeferredEvents()Z
J  org.eclipse.swt.widgets.Display.readAndDispatch()Z
J  org.eclipse.jface.window.Window.runEventLoop(Lorg/eclipse/swt/widgets/Shell;)V
j  org.eclipse.jface.window.Window.open()I+49
j  org.eclipse.ui.internal.handlers.WizardHandler$Import.executeHandler(Lorg/eclipse/core/commands/ExecutionEvent;)V+163
j  org.eclipse.ui.internal.handlers.WizardHandler.execute(Lorg/eclipse/core/commands/ExecutionEvent;)Ljava/lang/Object;+20
j  org.eclipse.ui.internal.handlers.HandlerProxy.execute(Lorg/eclipse/core/commands/ExecutionEvent;)Ljava/lang/Object;+33
j  org.eclipse.core.commands.Command.executeWithChecks(Lorg/eclipse/core/commands/ExecutionEvent;)Ljava/lang/Object;+115
j  org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+21
j  org.eclipse.ui.internal.handlers.HandlerService.executeCommand(Lorg/eclipse/core/commands/ParameterizedCommand;Lorg/eclipse/swt/widgets/Event;)Ljava/lang/Object;+6
j  org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(Lorg/eclipse/core/commands/ParameterizedCommand;Lorg/eclipse/swt/widgets/Event;)Ljava/lang/Object;+6
j  org.eclipse.ui.internal.actions.CommandAction.runWithEvent(Lorg/eclipse/swt/widgets/Event;)V+68
j  org.eclipse.ui.internal.actions.CommandAction.run()V+2
j  org.eclipse.ui.actions.ImportResourcesAction.run()V+12
j  org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(Lorg/eclipse/swt/widgets/Event;)V+6
j  org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Lorg/eclipse/swt/widgets/Event;Z)V+354
j  org.eclipse.jface.action.ActionContributionItem.access$2(Lorg/eclipse/jface/action/ActionContributionItem;Lorg/eclipse/swt/widgets/Event;Z)V+3
j  org.eclipse.jface.action.ActionContributionItem$5.handleEvent(Lorg/eclipse/swt/widgets/Event;)V+60
J  org.eclipse.swt.widgets.EventTable.sendEvent(Lorg/eclipse/swt/widgets/Event;)V
J  org.eclipse.swt.widgets.Display.runDeferredEvents()Z
J  org.eclipse.swt.widgets.Display.readAndDispatch()Z
j  org.eclipse.ui.internal.Workbench.runEventLoop(Lorg/eclipse/jface/window/Window$IExceptionHandler;Lorg/eclipse/swt/widgets/Display;)V+9
j  org.eclipse.ui.internal.Workbench.runUI()I+555
j  org.eclipse.ui.internal.Workbench.access$4(Lorg/eclipse/ui/internal/Workbench;)I+1
j  org.eclipse.ui.internal.Workbench$7.run()V+55
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
Comment 4 Helmut J. Haigermoser CLA 2011-11-14 10:26:54 EST
Any chance we can get this addressed in the 3.8 time frame?
TIA,
Ciao, hh
Comment 5 Felipe Heidrich CLA 2011-11-14 11:38:45 EST
(In reply to comment #4)
> Any chance we can get this addressed in the 3.8 time frame?
> TIA,
> Ciao, hh

without a reproducible case it is hard to say (sorry)
Comment 6 Silenio Quarti CLA 2012-08-31 13:35:06 EDT

*** This bug has been marked as a duplicate of bug 383189 ***