Bug 218877 - (Gtk) JVM Crashs during resizing Composite
Summary: (Gtk) JVM Crashs during resizing Composite
Status: CLOSED DUPLICATE of bug 182598
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.3.1   Edit
Hardware: PC Linux-GTK
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Bogdan Gheorghe CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-13 16:21 EST by Steffen Klössel CLA
Modified: 2016-08-17 14:10 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steffen Klössel CLA 2008-02-13 16:21:40 EST
Build ID: M20071023-1652

Steps To Reproduce:
not available .. this happens on a large project which has been written on win32 and should be executed on linux .. 
- ubuntu linux 7.10
- java 6u3
- crashs as with the actual swt3311 well as with older versions or the swt libriary distributed by synaptics of ubuntu.

i suppose that anything goes wrong with a TreeView embetted within the Composite that should resized

More information:
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xb7df378d, pid=10744, tid=3084237712
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode)
# Problematic frame:
# C  [libc.so.6+0x7178d]  memmove+0x4d
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

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

Current thread (0x08060800):  JavaThread "arcHive" [_thread_in_native, id=10750]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000

Registers:
EAX=0xadb36a34, EBX=0xad35d0f4, ECX=0x00000001, EDX=0xadb36a34
ESP=0xb7d57d18, EBP=0xb7d57d48, ESI=0x00000000, EDI=0xadb36a34
EIP=0xb7df378d, CR2=0x00000000, EFLAGS=0x00010646

Top of Stack: (sp=0xb7d57d18)
0xb7d57d18:   b7d57d9c ad35bae3 adb36a34 00000000
0xb7d57d28:   00000004 ad35ba83 b7d57d30 00000000
0xb7d57d38:   08060805 b2213310 b221330c 08060800
0xb7d57d48:   b7d57d84 b5b225de 080608ec b7d57d8c
0xb7d57d58:   b7d57d9c 00000000 00000004 b7d57d64
0xb7d57d68:   00000000 b7d57d9c b2216898 00000000
0xb7d57d78:   b2213310 00000000 b7d57d94 b7d57dc0
0xb7d57d88:   b5b15edd b2213b18 b5b1eeb9 00000004 

Instructions: (pc=0xb7df378d)
0xb7df377d:   01 83 ee 01 d1 e9 73 02 66 a5 83 ef 02 83 ee 02
0xb7df378d:   f3 a5 89 d6 8b 44 24 08 fc 5f c3 90 90 90 90 90 

Stack: [0xb7d0b000,0xb7d5c000),  sp=0xb7d57d18,  free space=307k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x7178d]  memmove+0x4d
j  org.eclipse.swt.internal.C.memmove([III)V+0
j  org.eclipse.swt.widgets.Table.cellDataProc(IIIII)I+31
j  org.eclipse.swt.widgets.Display.cellDataProc(IIIII)I+24
v  ~StubRoutines::call_stub
V  [libjvm.so+0x20bc6d]
V  [libjvm.so+0x30a828]
V  [libjvm.so+0x20bb00]
V  [libjvm.so+0x235197]
V  [libjvm.so+0x219a7d]
C  [libswt-gtk-3347.so+0x2416]  callback+0x1e4
C  0xad1fe55b
C  [libgtk-x11-2.0.so.0+0x268ec1]  gtk_tree_view_column_cell_set_cell_data+0x191
C  [libgtk-x11-2.0.so.0+0x260acf]
C  [libgtk-x11-2.0.so.0+0x261386]
C  [libgtk-x11-2.0.so.0+0x261a46]
C  [libgtk-x11-2.0.so.0+0x261c4e]
C  [libgobject-2.0.so.0+0x17279]  g_cclosure_marshal_VOID__BOXED+0x59
C  [libgobject-2.0.so.0+0x8f89]
C  [libgobject-2.0.so.0+0xa85c]  g_closure_invoke+0x20c
C  [libgobject-2.0.so.0+0x1b7ba]
C  [libgobject-2.0.so.0+0x1c847]  g_signal_emit_valist+0x8c7
C  [libgobject-2.0.so.0+0x1ef3e]  g_signal_emit_by_name+0xee
C  [libgtk-x11-2.0.so.0+0x1c35b6]
C  [libgtk-x11-2.0.so.0+0x1c380a]  _gtk_size_group_compute_requisition+0x5a
C  [libgtk-x11-2.0.so.0+0x27e20c]  gtk_widget_size_request+0x4c
C  [libgtk-x11-2.0.so.0+0x1b8e24]
C  [libgobject-2.0.so.0+0x17279]  g_cclosure_marshal_VOID__BOXED+0x59
C  [libgobject-2.0.so.0+0x8f89]
C  [libgobject-2.0.so.0+0xa85c]  g_closure_invoke+0x20c
C  [libgobject-2.0.so.0+0x1b7ba]
C  [libgobject-2.0.so.0+0x1c847]  g_signal_emit_valist+0x8c7
C  [libgobject-2.0.so.0+0x1ef3e]  g_signal_emit_by_name+0xee
C  [libgtk-x11-2.0.so.0+0x1c35b6]
C  [libgtk-x11-2.0.so.0+0x1c380a]  _gtk_size_group_compute_requisition+0x5a
C  [libgtk-x11-2.0.so.0+0x27e20c]  gtk_widget_size_request+0x4c
...<more frames>...

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.eclipse.swt.internal.C.memmove([III)V+0
j  org.eclipse.swt.widgets.Table.cellDataProc(IIIII)I+31
j  org.eclipse.swt.widgets.Display.cellDataProc(IIIII)I+24
v  ~StubRoutines::call_stub
j  org.eclipse.swt.internal.gtk.OS._gtk_widget_size_request(ILorg/eclipse/swt/internal/gtk/GtkRequisition;)V+0
j  org.eclipse.swt.internal.gtk.OS.gtk_widget_size_request(ILorg/eclipse/swt/internal/gtk/GtkRequisition;)V+9
j  org.eclipse.swt.widgets.Control.gtk_widget_size_request(ILorg/eclipse/swt/internal/gtk/GtkRequisition;)V+2
j  org.eclipse.swt.widgets.Control.setBounds(IIIIZZ)I+243
j  org.eclipse.swt.widgets.Composite.setBounds(IIIIZZ)I+10
j  org.eclipse.swt.widgets.Control.setBounds(Lorg/eclipse/swt/graphics/Rectangle;)V+40
j  de.zeroware.ui.controls.swt.ControlSWTCompositeAbstract.setWidgetBoundsSWT(Lorg/eclipse/swt/graphics/Rectangle;)V+10
j  de.zeroware.ui.controls.swt.ControlSWTAbstract.setBounds(Lde/zeroware/ui/layout/Bounds;)V+92
j  de.zeroware.ui.controls.ControlAbstract.setBoundsContent(Lde/zeroware/ui/layout/Bounds;)V+265
j  de.zeroware.ui.controls.ControlAbstract.initializeBounds(Lde/zeroware/ui/controls/Control;)V+17
j  de.zeroware.ui.controls.ControlAbstract.doOpen()V+158
j  de.zeroware.ui.controls.ControlAbstract.open()V+1
j  

..... cut .....

You will find the complete VM crash dump attached to this bug-report
Comment 1 Steve Northover CLA 2008-02-21 16:36:15 EST
Does it crash every time?  Does Eclipse run on the machine?  If Eclipse runs, let's get SWT from HEAD (http://www.eclipse.org/swt/cvs.php) and print out the arguments to C.memmove().
Comment 2 Steffen Klössel CLA 2008-03-06 18:05:21 EST
(In reply to comment #1)
> Does it crash every time?  Does Eclipse run on the machine?  If Eclipse runs,
> let's get SWT from HEAD (http://www.eclipse.org/swt/cvs.php) and print out the
> arguments to C.memmove().

how explained to you .. The bug reported by me is probably a known bug - but the cause i give isnt correctly. 

On Gtk plattform, the VM crashs every time if you do the following:
^^^^^^

- create a org.swt.eclipse.widgets.Table instance with SWT.VIRTUAL 
- implement a listener that receives SWT.SetData events
- in that listener adjust the itemcount of the Table
                              ^^^^^^^^^^^^^^^^^^^^^^ 
... the VM will crash

I hope you will consider this use-case as necessary - for me it is important to be able to change the tables capacity. Outside that listener you can change the itemcount wihout any problem. If there is a general problem to do this on Gtk (or other plattforms except Win32) it would be nice if you find another way to do that
Comment 3 Eric Williams CLA 2016-08-17 14:10:39 EDT

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