Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 356199 - Crash in libgobject-2.0.so.0 g_object_get_qdata
Summary: Crash in libgobject-2.0.so.0 g_object_get_qdata
Status: CLOSED DUPLICATE of bug 383189
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.6.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-30 09:49 EDT by Troy Bishop CLA
Modified: 2012-08-31 13:35 EDT (History)
6 users (show)

See Also:


Attachments
javacore of the crash (360.25 KB, application/octet-stream)
2011-08-30 09:51 EDT, Troy Bishop CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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 ***