From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3523 invoked by alias); 9 Jun 2005 02:45:12 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 3506 invoked by uid 48); 9 Jun 2005 02:45:05 -0000 Date: Thu, 09 Jun 2005 02:45:00 -0000 From: "vektor at dumbterm dot net" To: gcc-bugs@gcc.gnu.org Message-ID: <20050609024502.21973.vektor@dumbterm.net> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c/21973] New: Segfault in GTK+ compiled with -march=pentium4 when used through JNI X-Bugzilla-Reason: CC X-SW-Source: 2005-06/txt/msg01276.txt.bz2 List-Id: I have discussed this issue with Andrew Pinski on IRC, but I figured it should be logged here as well. I have been investigating some crashes in Eclipse, a Java application which uses GTK+. The crashes are reproducable using the Sun 1.5 VM when GTK+ is compiled with -march=pentium4, and go away with -march=pentium3 or -march=pentium4 -mno-sse2. gcc 3.4.x. Below are the registers and a disassembly I extracted from the bytes of the code at the current PC (this information is included in the VM crash logs). Note that ESP is not properly aligned. Andrew's theory on IRC was that this is a duplicate of bug 10395, and may be caused by the Sun VM not aligning its stack when calling into JNI code. Are there any other options? Does the disassembly of the instructions below provide any further insight or help to confirm this theory? Crash 1: EAX=0x00000001, EBX=0x4e4888e4, ECX=0x0859fb38, EDX=0x0859eda8 ESP=0xbfffb32c, EBP=0x083b2270, ESI=0x0859fae8, EDI=0x4e3a2cd6 EIP=0x4e3a2b3d, CR2=0x00000000, EFLAGS=0x00210202 00894424 add [bx+di+2444],cl 08F2 or dl,dh 0F108B6C6F movups xmm1,[bp+di+6F6C] F6FF idiv (b) bh 8B5124 mov dx,[bx+di+24] 660F294C24 movapd [si+24],xmm1 10F2 adc dl,dh 0F105220 movups xmm2,[bp+si+20] 660F57D1 xorpd xmm2,xmm1 F2 ... Crash 2: EAX=0x08486ef8, EBX=0x4e454880, ECX=0x4e577bd5, EDX=0x08480f70 ESP=0xbfffaddc, EBP=0x08480da0, ESI=0x08480df0, EDI=0x08480da0 EIP=0x4e373c03, CR2=0x00000000, EFLAGS=0x00210202 00894424 add [bx+di+2444],cl 08F2 or dl,dh 0F108B5063 movups xmm1,[bp+di+6350] F6FF idiv (b) bh 8B4624 mov ax,[bp+24] 660F294C24 movapd [si+24],xmm1 10F2 adc dl,dh 0F105020 movups xmm2,[bx+si+20] 660F57D1 xorpd xmm2,xmm1 F2 ... Crash 3 and 4: EAX=0x00000017, EBX=0xb14bd1d8, ECX=0x086c3db8, EDX=0x086c9860 ESP=0xbfffbb24, EBP=0xbfffbb9c, ESI=0x086c99d0, EDI=0x086c3db8 EIP=0xb13c7b4d, CR2=0x00000008, EFLAGS=0x00010202 00894424 add [bx+di+2444],cl 08F2 or dl,dh 0F108B283E movups xmm1,[bp+di+3E28] F6FF idiv (b) bh 8B4A24 mov cx,[bp+si+24] 660F294DA8 movapd [di-58],xmm1 F20F105120 movsd xmm2,[bx+di+20] 660F57D1 xorpd xmm2,xmm1 F20F ... The Eclipse bug is here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=79618 -- Summary: Segfault in GTK+ compiled with -march=pentium4 when used through JNI Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: vektor at dumbterm dot net CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21973