Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 320132 - Crash in Eclipse SWT code - kills entire Eclipse process
Summary: Crash in Eclipse SWT code - kills entire Eclipse process
Status: CLOSED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.0   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-16 13:16 EDT by Pawan Singh CLA
Modified: 2016-12-19 14:43 EST (History)
4 users (show)

See Also:


Attachments
JVM crash log (90.74 KB, text/plain)
2010-07-16 13:17 EDT, Pawan Singh CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pawan Singh CLA 2010-07-16 13:16:01 EDT
Build Identifier: M20100211-1343

We have an editor plugin which on Fedora Core 6 is causing SWT crash intermittently. The crash causes JVM to die and consequently Eclipse to die. Here are the top few lines of the crash log (which is also attached):

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x8cfcd731, pid=10622, tid=4160624848
#
# Java VM: Java HotSpot(TM) Client VM (11.3-b02 mixed mode linux-x86)
# Problematic frame:
# C  [libswt-pi-gtk-3557.so+0x40731]  Java_org_eclipse_swt_internal_gtk_OS__1gtk_1style_1get_1base+0x35
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x08053c00):  JavaThread "main" [_thread_in_native, id=10622, stack(0xffcc4000,0xffd14000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000174

Registers:
EAX=0x00000170, EBX=0x8cfe34b8, ECX=0xffd11f60, EDX=0x00000000
ESP=0xffd11f60, EBP=0xffd11f78, ESI=0xffd11fb0, EDI=0x08053c00
EIP=0x8cfcd731, CR2=0x00000174, EFLAGS=0x00210286

Top of Stack: (sp=0xffd11f60)
0xffd11f60:   ffd11f80 8cfd0e7d 096b19f8 00000127
0xffd11f70:   bdf721a0 ffd11f9c ffd11fa8 f67d841c
0xffd11f80:   08053d14 ffd11f9c 00000000 00000000
0xffd11f90:   ffd11fb0 bdf721a0 bdf721a0 ee54b9e8
0xffd11fa0:   f1f81580 f1f815e0 ffd11fe8 f6d7bb83
0xffd11fb0:   8eb134f0 080543b8 080543b4 080543b0
0xffd11fc0:   ffd1205c f5d71e74 096b19f8 ee54ad48
0xffd11fd0:   8eb134f0 00000000 00000001 ee46a990 

Instructions: (pc=0x8cfcd731)
0x8cfcd721:   4a 21 d1 8d 04 40 8b 55 10 8d 84 82 70 01 00 00
0x8cfcd731:   8b 50 04 89 11 8b 50 08 89 51 04 8b 40 0c 89 41 

Stack: [0xffcc4000,0xffd14000],  sp=0xffd11f60,  free space=311k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libswt-pi-gtk-3557.so+0x40731]  Java_org_eclipse_swt_internal_gtk_OS__1gtk_1style_1get_1base+0x35
J  org.eclipse.swt.internal.gtk.OS._gtk_style_get_base(IILorg/eclipse/swt/internal/gtk/GdkColor;)V
J  org.eclipse.swt.widgets.Control.getBaseColor()Lorg/eclipse/swt/internal/gtk/GdkColor;
j  org.eclipse.swt.widgets.Text.getBackgroundColor()Lorg/eclipse/swt/internal/gtk/GdkColor;+1
j  org.eclipse.swt.widgets.Control.setBackground(Lorg/eclipse/swt/graphics/Color;)V+78
j  com.fnfr.svt.ui.common.editors.MessageManager$ControlDecorator.update()V+389
j  com.fnfr.svt.ui.common.editors.MessageManager$ControlDecorator.addMessage(Lcom/fnfr/svt/ui/common/editors/IControlValidator;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;I)V+47
j  com.fnfr.svt.ui.common.editors.MessageManager.addMessage(Lcom/fnfr/svt/ui/common/editors/IControlValidator;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;ILorg/eclipse/swt/widgets/Control;)V+58
j  com.fnfr.svt.ui.common.editors.validators.AbstractControlValidator.addMessage(Ljava/lang/Object;Ljava/lang/String;I)V+47
j  com.fnfr.svt.ui.common.editors.validators.AbstractControlValidator.addMessage(Lcom/fnfr/foundation/markers/IMarker;)V+27
j  com.fnfr.svt.ui.common.editors.validators.MarkerPropertyValidator$1.validateControl()Z+50
j  com.fnfr.svt.ui.common.editors.validators.AbstractControlValidator.validate()Z+28
j  com.fnfr.svt.ui.common.editors.validators.MarkerPropertyValidator.updateMarkers(Lcom/fnfr/documents/interfaces/IMarkerFinder;)[Lcom/fnfr/foundation/markers/IMarker;+350
j  com.fnfr.svt.ui.common.viewers.DocumentPropertyViewer.updateMarkers(Lcom/fnfr/documents/interfaces/IMarkerFinder;)[Lcom/fnfr/foundation/markers/IMarker;+5
j  com.fnfr.svt.ui.common.properties.FanfarePropertyPage.updatePageMarkers(Lcom/fnfr/documents/interfaces/IMarkerFinder;)[Lcom/fnfr/foundation/markers/IMarker;+40
j  com.fnfr.svt.ui.common.viewers.annotatedtree.propertytree.PropertyPageAnnotatedTreeViewer.getMarkersFromIndividualElement(Ljava/lang/Object;)Ljava/util/ArrayList;+53
j  com.fnfr.svt.ui.common.viewers.annotatedtree.propertytree.PropertyPageAnnotatedTreeViewer.getMarkersFromChildern(Ljava/lang/Object;)Ljava/util/ArrayList;+11
j  com.fnfr.svt.ui.common.viewers.annotatedtree.propertytree.PropertyPageAnnotatedTreeViewer.getMarkers(Ljava/lang/Object;Z)Ljava/util/ArrayList;+17
j  com.fnfr.svt.ui.common.viewers.annotatedtree.propertytree.PropertyPageAnnotatedTreeViewer.getAllMarkers()Ljava/util/ArrayList;+49
j  com.fnfr.svt.ui.common.viewers.annotatedtree.propertytree.PropertyPageAnnotatedTreeViewer.updatePageMarkers(Lcom/fnfr/documents/interfaces/IMarkerFinder;)[Lcom/fnfr/foundation/markers/IMarker;+22
j  com.fnfr.svt.ui.common.controls.objectproperty.PropertyTree.updateMarkers(Lcom/fnfr/documents/interfaces/IMarkerFinder;)V+10
j  com.fnfr.svt.ui.common.controls.objectproperty.ObjectPropertyComponent.updateMarkers(Lcom/fnfr/documents/interfaces/IMarkerFinder;)[Lcom/fnfr/foundation/markers/IMarker;+14
j  com.fnfr.svt.editors.testcase.editor.steps.PropertiesSection.updateMarkersInternal(Lcom/fnfr/documents/interfaces/IMarkerFinder;Ljava/util/List;)V+12
j  com.fnfr.svt.ui.common.editors.parts.FanfareFormPart.updateMarkers()V+102
j  com.fnfr.svt.ui.common.editors.FanfareFormPage.updateMarkers(Lorg/eclipse/core/runtime/IProgressMonitor;)V+58
j  com.fnfr.svt.ui.common.editors.FanfareFormEditor$24.runInUIThread(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/IStatus;+42
j  org.eclipse.ui.progress.UIJob$1.run()V+53
J  org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Z)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
j  org.eclipse.ui.internal.Workbench.runUI()I+393
j  org.eclipse.ui.internal.Workbench.access$4(Lorg/eclipse/ui/internal/Workbench;)I+1
j  org.eclipse.ui.internal.Workbench$5.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
j  com.fnfr.svt.rcp.Application.runWorkbench()Ljava/lang/Integer;+13
j  com.fnfr.svt.rcp.Application.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+567
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;+103
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ljava/lang/Object;)Ljava/lang/Object;+29
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)Ljava/lang/Object;+149
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+183
v  ~StubRoutines::call_stub
V  [libjvm.so+0x21b25d]
V  [libjvm.so+0x30f998]
V  [libjvm.so+0x21b0f0]
V  [libjvm.so+0x339955]
V  [libjvm.so+0x33c52c]
V  [libjvm.so+0x2875e5]
C  [libjava.so+0x152e4]  Java_sun_reflect_NativeMethodAccessorImpl_invoke0+0x34
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;+87
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;+161
j  org.eclipse.equinox.launcher.Main.invokeFramework([Ljava/lang/String;[Ljava/net/URL;)V+211
j  org.eclipse.equinox.launcher.Main.basicRun([Ljava/lang/String;)V+114
j  org.eclipse.equinox.launcher.Main.run([Ljava/lang/String;)I+4
v  ~StubRoutines::call_stub
V  [libjvm.so+0x21b25d]
V  [libjvm.so+0x30f998]
V  [libjvm.so+0x21b0f0]
V  [libjvm.so+0x244b17]
V  [libjvm.so+0x22926a]
C  [eclipse_1206.so+0x6cec]  startJavaJNI+0x31d
C  [eclipse_1206.so+0x8226]  startJavaVM+0x24
C  [eclipse_1206.so+0x2dd8]  run+0x502
C  [iTest+0x10aa]  setlocale+0x602
C  [libc.so.6+0x15dec]  __libc_start_main+0xdc


Reproducible: Sometimes

Steps to Reproduce:
1. Start Eclipse or an RCP app with our editor.
2. Open editor.
3. Work in the editor and sometimes the whole RCP/Eclipse would crash.
Comment 1 Pawan Singh CLA 2010-07-16 13:17:10 EDT
Created attachment 174518 [details]
JVM crash log
Comment 2 Pawan Singh CLA 2010-07-26 16:25:31 EDT
Any comments on this from Linux SWT experts?
Comment 3 Felipe Heidrich CLA 2010-07-27 09:15:18 EDT
Are you on KDE or GNOME ?

Have you try using a different theme/engine ?
Comment 4 Pawan Singh CLA 2010-07-27 12:30:57 EDT
(In reply to comment #3)
> Are you on KDE or GNOME ?
> 
> Have you try using a different theme/engine ?

We are on Gnome. We have not tried changing theme. The theme is the default one which comes set up on Fedora Core 6.
Comment 5 Eric Williams CLA 2016-12-19 14:43:53 EST
I can't reproduce this issue.