<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1163</id>
	<title>Nabble - gcc - java</title>
	<updated>2009-12-09T10:55:03Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/gcc---java-f1163.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gcc---java-f1163.html" />
	<subtitle type="html">Discussion and development list for the Java language front end of GCC, and the corresponding runtime library.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26715625</id>
	<title>FYI Patch: java/41991: Use -allow_stack_execute on Darwin</title>
	<published>2009-12-09T10:55:03Z</published>
	<updated>2009-12-09T10:55:03Z</updated>
	<author>
		<name>Bryce McKinlay-3</name>
	</author>
	<content type="html">On Sat, Dec 5, 2009 at 6:54 AM, Jack Howarth &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26715625&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howarth@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Bryce,
&lt;br&gt;&amp;gt;    Your patch eliminates the crashes in gcj completely for gcc trunk
&lt;br&gt;&amp;gt; on x86_64-apple-darwin9 if I also regress out r154282 and r154283
&lt;br&gt;&amp;gt; so that the FSF libgcc's unwinder is used again. So we are starting
&lt;br&gt;&amp;gt; to peel the layers off of the problem. Your patch definitely should
&lt;br&gt;&amp;gt; go into gcc trunk and gcc 4.4 branch (where it will be immediately
&lt;br&gt;&amp;gt; useful on darwin9 since the libgcc_ext changes don't exist there).
&lt;br&gt;&lt;br&gt;Thanks for testing, Jack. I have checked this patch in to both trunk
&lt;br&gt;and 4.4 branch.
&lt;br&gt;&lt;br&gt;2009-12-09 &amp;nbsp;Bryce McKinlay &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26715625&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bmckinlay@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PR java/41991
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure.ac (SYSTEMSPEC): Pass -allow_stack_execute to Darwin
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; linker.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Makefile.am (gij_LDFLAGS): Remove extra_gij_ldflags.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure: Regenerate.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Makefile.in: Regenerate.
&lt;br&gt;&lt;br&gt;Bryce
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;libjava-darwin-stack.patch&lt;/strong&gt; (7K) &lt;a href=&quot;http://old.nabble.com/attachment/26715625/0/libjava-darwin-stack.patch&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI-Patch%3A-java-41991%3A-Use--allow_stack_execute-on-Darwin-tp26715625p26715625.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26709548</id>
	<title>Re: GC symbols no longer exported (on Debian) from libgcj 8 and up</title>
	<published>2009-12-09T04:39:29Z</published>
	<updated>2009-12-09T04:39:29Z</updated>
	<author>
		<name>Erik Groeneveld (CQ2)</name>
	</author>
	<content type="html">On Fri, Nov 27, 2009 at 10:25, Andrew Haley &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26709548&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aph@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; If it was intentional, my question is how I can get access to the GC?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The symbols exported are controlled by:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; if ANONVERSCRIPT
&lt;br&gt;&amp;gt; extra_ldflags_libjava += -Wl,--version-script=$(srcdir)/libgcj.ver
&lt;br&gt;&amp;gt; endif
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Which is:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; # Anonymous GNU ld version script to hide boehm-gc, libffi and fdlibm
&lt;br&gt;&amp;gt; # symbols in libgcj.so.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt;  global: Jv*; _Jv_*; __gcj_personality_v0; __gcj_personality_sj0; _Z*;
&lt;br&gt;&amp;gt;  local: *;
&lt;br&gt;&amp;gt; };
&lt;/div&gt;&lt;br&gt;Adding GC_*; to gloca
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GC-symbols-no-longer-exported-%28on-Debian%29-from-libgcj-8-and-up-tp26539602p26709548.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26653387</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T22:54:31Z</published>
	<updated>2009-12-04T22:54:31Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Fri, Dec 04, 2009 at 03:57:11PM +0000, Bryce McKinlay wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, Dec 4, 2009 at 3:48 PM, Andrew Haley &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26653387&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aph@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Yes, which is why I suggested you use SYSTEMSPEC.  (Twice now, I think.  :-)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; SYSTEMSPEC should pass that flag to everything liked with gcj.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Jack,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here's a patch that adds the allow_stack_execute flag to SYSTEMSPEC as
&lt;br&gt;&amp;gt; suggested by Andrew.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It does not fix the problem with ecj, but I agree it's a good idea.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Bryce
&lt;/div&gt;&lt;br&gt;Bryce,
&lt;br&gt;&amp;nbsp; &amp;nbsp; Your patch eliminates the crashes in gcj completely for gcc trunk
&lt;br&gt;on x86_64-apple-darwin9 if I also regress out r154282 and r154283
&lt;br&gt;so that the FSF libgcc's unwinder is used again. So we are starting
&lt;br&gt;to peel the layers off of the problem. Your patch definitely should
&lt;br&gt;go into gcc trunk and gcc 4.4 branch (where it will be immediately
&lt;br&gt;useful on darwin9 since the libgcc_ext changes don't exist there).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;In case you are unaware, the r154282 and r154283 commits
&lt;br&gt;introduced a new libgcc_ext shared library on darwin to provide
&lt;br&gt;the additional symbols that have been added to libgcc since the
&lt;br&gt;libgcc 10.4 and 10.5 stubs were defined. One 'feature' of this
&lt;br&gt;change is that both the system libgcc and the FSF libgcc are linked
&lt;br&gt;in. The logic is that since the 10.4/10.5 stubs are no longer built
&lt;br&gt;on FSF gcc trunk, those symbols will be provided by the first 
&lt;br&gt;libgcc to be linked in (which is the system's). The second libgcc_s
&lt;br&gt;linked in comes from FSF gcc and provides the additional symbols
&lt;br&gt;via the 10.4/10.5 libgcc_ext stubs. Mike Stump approved the logic
&lt;br&gt;of all of this.
&lt;br&gt;&amp;nbsp; &amp;nbsp; I will revert back to the r154282 and r154283 commits being
&lt;br&gt;in place under darwin9. When the system libgcc is used under
&lt;br&gt;darwin9 (which is now the default behavior in gcc trunk for
&lt;br&gt;darwin), gcj crashes with your patch in place when compiling
&lt;br&gt;java code...
&lt;br&gt;&lt;br&gt;Breakpoint 1 (./../../gcc-4.5-20091204/libjava/exception.cc:128) pending.
&lt;br&gt;(gdb) r testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccamdOl5.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccaNqaGi.jar
&lt;br&gt;Starting program: /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin9.8.0/4.5.0/ecj1 testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccamdOl5.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccaNqaGi.jar
&lt;br&gt;warning: posix_spawn failed, trying execvp, error: 86
&lt;br&gt;Reading symbols for shared libraries ++++.+. done
&lt;br&gt;&lt;br&gt;Program received signal SIGABRT, Aborted.
&lt;br&gt;0x00007fff810c3f16 in __kill ()
&lt;br&gt;(gdb) bt
&lt;br&gt;#0 &amp;nbsp;0x00007fff810c3f16 in __kill ()
&lt;br&gt;#1 &amp;nbsp;0x00007fff81134f6d in abort ()
&lt;br&gt;#2 &amp;nbsp;0x000000010001342b in _Jv_Throw (value=0x10483e6c0) at ../../../gcc-4.5-20091204/libjava/exception.cc:128
&lt;br&gt;Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&lt;br&gt;This crash appears to be different from that seen under darwin10. That might not be surprising as the
&lt;br&gt;unwinder is a different one subsumed into libSystem in that case. Unfortunately it won't be trivial
&lt;br&gt;to get debug code for the system unwinder. Hopefully, I can just use the approach of examining the
&lt;br&gt;assembly at the address of the crash to define the scope of the problem in both darwin9 and darwin10.
&lt;br&gt;In any case, we have made significant progress towards solving PR41991. Thanks in advance for
&lt;br&gt;any help in getting your patch into gcc trunk and 4.4 branch as an obvious fix.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jack
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26653387.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26652966</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T20:37:24Z</published>
	<updated>2009-12-04T20:37:24Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Fri, Dec 04, 2009 at 03:57:11PM +0000, Bryce McKinlay wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, Dec 4, 2009 at 3:48 PM, Andrew Haley &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26652966&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aph@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Yes, which is why I suggested you use SYSTEMSPEC.  (Twice now, I think.  :-)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; SYSTEMSPEC should pass that flag to everything liked with gcj.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Jack,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here's a patch that adds the allow_stack_execute flag to SYSTEMSPEC as
&lt;br&gt;&amp;gt; suggested by Andrew.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It does not fix the problem with ecj, but I agree it's a good idea.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Bryce
&lt;/div&gt;&lt;br&gt;Bryce,
&lt;br&gt;&amp;nbsp; &amp;nbsp;Your proposed patch builds libjava normally on x86_64-apple-darwin10
&lt;br&gt;and I now see...
&lt;br&gt;&lt;br&gt;#
&lt;br&gt;# This spec file is read by gcj when linking.
&lt;br&gt;# It is used to specify the standard libraries we need in order
&lt;br&gt;# to link with libgcj.
&lt;br&gt;#
&lt;br&gt;%rename startfile startfileorig
&lt;br&gt;*startfile: &amp;nbsp;%(startfileorig)
&lt;br&gt;&lt;br&gt;%rename lib liborig
&lt;br&gt;*lib: &amp;nbsp;%{s-bc-abi:} -lgcj &amp;nbsp;-lm -L/sw/lib -liconv &amp;nbsp;-lpthread -lz -allow_stack_execute &amp;nbsp;-ldl %(libgcc) &amp;nbsp;%(liborig)
&lt;br&gt;&lt;br&gt;*jc1: -fhash-synchronization -fuse-divide-subroutine -fcheck-references -fuse-boehm-gc -fnon-call-exceptions &amp;nbsp; &amp;nbsp; -fkeep-inline-functions
&lt;br&gt;&lt;br&gt;in /sw/lib/gcc4.5/lib/gcc/x86_64-apple-darwin10.2.0/4.5.0/../../../libgcj.spec instead of...
&lt;br&gt;&lt;br&gt;#
&lt;br&gt;# This spec file is read by gcj when linking.
&lt;br&gt;# It is used to specify the standard libraries we need in order
&lt;br&gt;# to link with libgcj.
&lt;br&gt;#
&lt;br&gt;%rename startfile startfileorig
&lt;br&gt;*startfile: &amp;nbsp;%(startfileorig)
&lt;br&gt;&lt;br&gt;%rename lib liborig
&lt;br&gt;*lib: &amp;nbsp;%{s-bc-abi:} -lgcj &amp;nbsp;-lm -L/sw/lib -liconv &amp;nbsp;-lpthread -lz &amp;nbsp; -ldl %(libgcc) &amp;nbsp;%(liborig)
&lt;br&gt;&lt;br&gt;*jc1: -fhash-synchronization -fuse-divide-subroutine -fcheck-references -fuse-boehm-gc -fnon-call-exceptions &amp;nbsp; &amp;nbsp; -fkeep-inline-functions
&lt;br&gt;&lt;br&gt;Linking with gcj -v also reveals that -allow_stack_execute is being passed to collect2
&lt;br&gt;as expected. Can we get this in to gcc trunk as an obvious change?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jack
&lt;br&gt;ps Gcj still crashes compiling java as I saw yesterday with the alternative approach to passing -stack_allow_execute...
&lt;br&gt;&lt;br&gt;[MacPro:~] howarth% gdb /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin10.2.0/4.5.0/ecj1
&lt;br&gt;GNU gdb 6.3.50-20050815 (Apple version gdb-1346) (Fri Sep 18 20:40:51 UTC 2009)
&lt;br&gt;Copyright 2004 Free Software Foundation, Inc.
&lt;br&gt;GDB is free software, covered by the GNU General Public License, and you are
&lt;br&gt;welcome to change it and/or distribute copies of it under certain conditions.
&lt;br&gt;Type &amp;quot;show copying&amp;quot; to see the conditions.
&lt;br&gt;There is absolutely no warranty for GDB. &amp;nbsp;Type &amp;quot;show warranty&amp;quot; for details.
&lt;br&gt;This GDB was configured as &amp;quot;x86_64-apple-darwin&amp;quot;...Reading symbols for shared libraries ...... done
&lt;br&gt;&lt;br&gt;warning: Could not find object file &amp;quot;/var/tmp//cckmtKiq.o&amp;quot; - no debug information available for &amp;quot;/var/tmp//cc4vWuF2.i&amp;quot;.
&lt;br&gt;&lt;br&gt;&lt;br&gt;(gdb) break ../../../gcc-4.5-20091204/libjava/gnu/classpath/natVMStackWalker.cc:104
&lt;br&gt;Breakpoint 1 at 0x20c49ba4ad2864: file ../../../gcc-4.5-20091204/libjava/gnu/classpath/natVMStackWalker.cc, line 104.
&lt;br&gt;Breakpoint 2 at 0x20c49ba4ad28a0: file ../../../gcc-4.5-20091204/libjava/gnu/classpath/natVMStackWalker.cc, line 104.
&lt;br&gt;warning: Multiple breakpoints were set.
&lt;br&gt;Use the &amp;quot;delete&amp;quot; command to delete unwanted breakpoints.
&lt;br&gt;(gdb) r testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/share/xtal/ccp4-6.1.2/bin/:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccf5cqZS.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccK4ZxH8.jar
&lt;br&gt;Starting program: /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin10.2.0/4.5.0/ecj1 testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/share/xtal/ccp4-6.1.2/bin/:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccf5cqZS.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccK4ZxH8.jar
&lt;br&gt;Reading symbols for shared libraries +++++. done
&lt;br&gt;&lt;br&gt;Breakpoint 1, gnu::classpath::VMStackWalker::getCallingClassLoader (pc=0x10098d774) at ../../../gcc-4.5-20091204/libjava/gnu/classpath/natVMStackWalker.cc:104
&lt;br&gt;104	 &amp;nbsp;jclass klass = GET_CALLING_CLASS(pc);
&lt;br&gt;(gdb) s
&lt;br&gt;Current language: &amp;nbsp;auto; currently c++
&lt;br&gt;0x0000000100994db2 in dyld_stub__Unwind_FindEnclosingFunction ()
&lt;br&gt;(gdb) s
&lt;br&gt;Single stepping until exit from function dyld_stub__Unwind_FindEnclosingFunction, 
&lt;br&gt;which has no line number information.
&lt;br&gt;0x00007fff844bffc0 in _Unwind_FindEnclosingFunction ()
&lt;br&gt;(gdb) s
&lt;br&gt;Single stepping until exit from function _Unwind_FindEnclosingFunction, 
&lt;br&gt;which has no line number information.
&lt;br&gt;&lt;br&gt;Program received signal SIGABRT, Aborted.
&lt;br&gt;0x00007fff843d4fe6 in __kill ()
&lt;br&gt;(gdb) 
&lt;br&gt;&lt;br&gt;I'll repeat this build on x86_64-apple-darwin9 tomorrow to verify that in both darwin9 and
&lt;br&gt;darwin10 (with the proper passing of -allow_stack_execute) that the crash has moved to the
&lt;br&gt;same location and update the PR. Thanks again for the patch.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jack
&lt;br&gt;ps After I verify that stock gcc trunk behaves the same under darwin9 with the above patch,
&lt;br&gt;I'll rebuild gcc trunk with the libgcc_ext changes regressed out to verify that the FSF libgcc
&lt;br&gt;and the system libgcc unwinder are both failing in the same manner on darwin9. This will also
&lt;br&gt;allow me to walk the unwinder (as unfortunately Apple's libgcc and libSystem unwinders don't
&lt;br&gt;ship with debug code...sigh). 
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26652966.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26646732</id>
	<title>Re: java.lang.NoClassDefFoundError: java.text.DecimalFormat</title>
	<published>2009-12-04T10:10:29Z</published>
	<updated>2009-12-04T10:10:29Z</updated>
	<author>
		<name>Keith Boynton</name>
	</author>
	<content type="html">Oh my, how embarrassing, that does make sense though, appreciate it :)
&lt;br&gt;&lt;br&gt;I'll update the thread with my progress....
&lt;br&gt;&lt;br&gt;Keith 
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.NoClassDefFoundError%3A-java.text.DecimalFormat-tp26576669p26646732.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26644765</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T08:06:39Z</published>
	<updated>2009-12-04T08:06:39Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, Dec 04, 2009 at 03:48:03PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Fri, Dec 04, 2009 at 02:59:43PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;I suspect we may have a layered problem here and need
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; to work through each section. This weekend, I do some additional
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; builds to verify that the crash debugs to the same locations
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; in both darwin9 and darwin10 with and without the proposed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; patch to pass -Wl,-allow_stack_execute on GCJLINK.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Right.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;Just to double check, you do agree that everything linked with 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; GCJLINK should be passed -Wl,-allow_stack_execute on darwin9/darwin10?
&lt;br&gt;&amp;gt;&amp;gt; I think so.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I am a bit confused by the criteria used to determine which java binaries
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; need the ld flag for -allow_stack_execute. If the a shared library contains
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; code that needs to execute on the stack
&lt;br&gt;&amp;gt;&amp;gt; No gcj library needs to execute on the stack, only the heap. &amp;nbsp;I think the flag
&lt;br&gt;&amp;gt;&amp;gt; is misnamed.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (libgcj) shouldn't any executable
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that links in that shared lib use the -allow_stack_execute ld flag?
&lt;br&gt;&amp;gt;&amp;gt; Yes, which is why I suggested you use SYSTEMSPEC. &amp;nbsp;(Twice now, I think. &amp;nbsp;:-)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; SYSTEMSPEC should pass that flag to everything liked with gcj.
&lt;/div&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; I tried SYSTEMSPEC last night and it didn't eliminate the crashes in gcj. I'll double
&lt;br&gt;&amp;gt; check that tonight and specifically look for when libtool is using gcj to link to make
&lt;br&gt;&amp;gt; sure the -allow_stack_execute flag is invoked. If so, I'll make sure that the location of
&lt;br&gt;&amp;gt; the crash in gcj has shifted as it did when passing -Wl,-allow_stack_execute on GCJLINK.
&lt;br&gt;&lt;br&gt;OK.
&lt;br&gt;&lt;br&gt;&amp;gt; ps Should I take this to mean that SYSTEMSPEC will cause gcj to automatically pass
&lt;br&gt;&amp;gt; -Wl,-allow_stack_execute when it links code? I assume I should be able to see that with
&lt;br&gt;&amp;gt; -v being pased to gcj.
&lt;br&gt;&lt;br&gt;Yes. &amp;nbsp;This should work everywhere, all the time.
&lt;br&gt;&lt;br&gt;&amp;gt; What confuses me is that gcj -v shows ejc1 being invoked.
&lt;br&gt;&lt;br&gt;Yes.
&lt;br&gt;&lt;br&gt;&amp;gt; So does ecj1 get the -Wl,-allow_stack_execute passed on from gcj or should it be invoking
&lt;br&gt;&amp;gt; -Wl,-allow_stack_execute on its own from SYSTEMSPEC?
&lt;br&gt;&lt;br&gt;ecj1 doesn't get passed -allow_stack_execute, the linker does. &amp;nbsp;Adding -allow_stack_execute
&lt;br&gt;to SYSTEMSPEC will make sure that the linker is always passed this command.
&lt;br&gt;&lt;br&gt;Bryce's patch is right, I think.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26644765.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26644654</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T07:59:15Z</published>
	<updated>2009-12-04T07:59:15Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Fri, Dec 04, 2009 at 03:48:03PM +0000, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Fri, Dec 04, 2009 at 02:59:43PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;I suspect we may have a layered problem here and need
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; to work through each section. This weekend, I do some additional
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; builds to verify that the crash debugs to the same locations
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; in both darwin9 and darwin10 with and without the proposed
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; patch to pass -Wl,-allow_stack_execute on GCJLINK.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Right.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;Just to double check, you do agree that everything linked with 
&lt;br&gt;&amp;gt; &amp;gt; GCJLINK should be passed -Wl,-allow_stack_execute on darwin9/darwin10?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I think so.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I am a bit confused by the criteria used to determine which java binaries
&lt;br&gt;&amp;gt; &amp;gt; need the ld flag for -allow_stack_execute. If the a shared library contains
&lt;br&gt;&amp;gt; &amp;gt; code that needs to execute on the stack
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; No gcj library needs to execute on the stack, only the heap. &amp;nbsp;I think the flag
&lt;br&gt;&amp;gt; is misnamed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; (libgcj) shouldn't any executable
&lt;br&gt;&amp;gt; &amp;gt; that links in that shared lib use the -allow_stack_execute ld flag?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yes, which is why I suggested you use SYSTEMSPEC. &amp;nbsp;(Twice now, I think. &amp;nbsp;:-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; SYSTEMSPEC should pass that flag to everything liked with gcj.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew.
&lt;/div&gt;&lt;br&gt;Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp; I tried SYSTEMSPEC last night and it didn't eliminate the crashes in gcj. I'll double
&lt;br&gt;check that tonight and specifically look for when libtool is using gcj to link to make
&lt;br&gt;sure the -allow_stack_execute flag is invoked. If so, I'll make sure that the location of
&lt;br&gt;the crash in gcj has shifted as it did when passing -Wl,-allow_stack_execute on GCJLINK.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jack
&lt;br&gt;ps Should I take this to mean that SYSTEMSPEC will cause gcj to automatically pass
&lt;br&gt;-Wl,-allow_stack_execute when it links code? I assume I should be able to see that with
&lt;br&gt;-v being pased to gcj. What confuses me is that gcj -v shows ejc1 being invoked. So
&lt;br&gt;does ecj1 get the -Wl,-allow_stack_execute passed on from gcj or should it be invoking
&lt;br&gt;-Wl,-allow_stack_execute on its own from SYSTEMSPEC?
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26644654.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26644636</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T07:57:11Z</published>
	<updated>2009-12-04T07:57:11Z</updated>
	<author>
		<name>Bryce McKinlay-3</name>
	</author>
	<content type="html">On Fri, Dec 4, 2009 at 3:48 PM, Andrew Haley &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26644636&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aph@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Yes, which is why I suggested you use SYSTEMSPEC.  (Twice now, I think.  :-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; SYSTEMSPEC should pass that flag to everything liked with gcj.
&lt;br&gt;&lt;br&gt;Jack,
&lt;br&gt;&lt;br&gt;Here's a patch that adds the allow_stack_execute flag to SYSTEMSPEC as
&lt;br&gt;suggested by Andrew.
&lt;br&gt;&lt;br&gt;It does not fix the problem with ecj, but I agree it's a good idea.
&lt;br&gt;&lt;br&gt;Bryce
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;libgcj-darwin-systemspec.patch&lt;/strong&gt; (15K) &lt;a href=&quot;http://old.nabble.com/attachment/26644636/0/libgcj-darwin-systemspec.patch&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26644636.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26644477</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T07:48:03Z</published>
	<updated>2009-12-04T07:48:03Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, Dec 04, 2009 at 02:59:43PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;I suspect we may have a layered problem here and need
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to work through each section. This weekend, I do some additional
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; builds to verify that the crash debugs to the same locations
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; in both darwin9 and darwin10 with and without the proposed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; patch to pass -Wl,-allow_stack_execute on GCJLINK.
&lt;br&gt;&amp;gt;&amp;gt; Right.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Just to double check, you do agree that everything linked with 
&lt;br&gt;&amp;gt; GCJLINK should be passed -Wl,-allow_stack_execute on darwin9/darwin10?
&lt;/div&gt;&lt;br&gt;I think so.
&lt;br&gt;&lt;br&gt;&amp;gt; I am a bit confused by the criteria used to determine which java binaries
&lt;br&gt;&amp;gt; need the ld flag for -allow_stack_execute. If the a shared library contains
&lt;br&gt;&amp;gt; code that needs to execute on the stack
&lt;br&gt;&lt;br&gt;No gcj library needs to execute on the stack, only the heap. &amp;nbsp;I think the flag
&lt;br&gt;is misnamed.
&lt;br&gt;&lt;br&gt;&amp;gt; (libgcj) shouldn't any executable
&lt;br&gt;&amp;gt; that links in that shared lib use the -allow_stack_execute ld flag?
&lt;br&gt;&lt;br&gt;Yes, which is why I suggested you use SYSTEMSPEC. &amp;nbsp;(Twice now, I think. &amp;nbsp;:-)
&lt;br&gt;&lt;br&gt;SYSTEMSPEC should pass that flag to everything liked with gcj.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26644477.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26644084</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T07:23:47Z</published>
	<updated>2009-12-04T07:23:47Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Fri, Dec 04, 2009 at 02:59:43PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;I suspect we may have a layered problem here and need
&lt;br&gt;&amp;gt; &amp;gt; to work through each section. This weekend, I do some additional
&lt;br&gt;&amp;gt; &amp;gt; builds to verify that the crash debugs to the same locations
&lt;br&gt;&amp;gt; &amp;gt; in both darwin9 and darwin10 with and without the proposed
&lt;br&gt;&amp;gt; &amp;gt; patch to pass -Wl,-allow_stack_execute on GCJLINK.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Right.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp;Just to double check, you do agree that everything linked with 
&lt;br&gt;GCJLINK should be passed -Wl,-allow_stack_execute on darwin9/darwin10?
&lt;br&gt;I am a bit confused by the criteria used to determine which java binaries
&lt;br&gt;need the ld flag for -allow_stack_execute. If the a shared library contains
&lt;br&gt;code that needs to execute on the stack (libgcj) shouldn't any executable
&lt;br&gt;that links in that shared lib use the -allow_stack_execute ld flag?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jack
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26644084.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26643751</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T06:59:43Z</published>
	<updated>2009-12-04T06:59:43Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, Dec 04, 2009 at 09:44:29AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Using the patch...
&lt;br&gt;&amp;gt;&amp;gt; Let's see the compile time output, when the executables were linked.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; This is interesting since on x86_64-apple-darwin10, we have been failing...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; FAIL: WalkerTest execution - source compiled test
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; FAIL: WalkerTest -findirect-dispatch execution - source compiled test
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; FAIL: WalkerTest -O3 execution - source compiled test
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; FAIL: WalkerTest -O3 -findirect-dispatch execution - source compiled test
&lt;br&gt;&amp;gt;&amp;gt; Since when? &amp;nbsp;You didn't mention this before.
&lt;/div&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; I believe we have been seeing the additional WalkerTest
&lt;br&gt;&amp;gt; failures under darwin10 ever since gcc trunk was fixed so
&lt;br&gt;&amp;gt; that darwin10 built with stack execution like darwin9...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01532.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01532.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;OK. &amp;nbsp;I'm pretty sure this is a different failure.
&lt;br&gt;&lt;br&gt;&amp;gt; However this may all be a red herring because x86_64-apple-darwin9
&lt;br&gt;&amp;gt; (which doesn't show these WalkerTest failures) shows the
&lt;br&gt;&amp;gt; same issue with gcj crashing when compiling java code.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;I suspect we may have a layered problem here and need
&lt;br&gt;&amp;gt; to work through each section. This weekend, I do some additional
&lt;br&gt;&amp;gt; builds to verify that the crash debugs to the same locations
&lt;br&gt;&amp;gt; in both darwin9 and darwin10 with and without the proposed
&lt;br&gt;&amp;gt; patch to pass -Wl,-allow_stack_execute on GCJLINK.
&lt;br&gt;&lt;br&gt;Right.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;The WalkerTest failures in darwin10 may be orthogonal to
&lt;br&gt;&amp;gt; the issue of gcj crashing since they don't occur in darwin9
&lt;br&gt;&amp;gt; and darwin9 has the gcj issue as well. I'll do some builds this
&lt;br&gt;&amp;gt; weekend to verify that...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1) x86_64-apple-darwin9 still passes the WalkerTests
&lt;br&gt;&amp;gt; 2) x86_64-apple-darwin9 and x86_64-apple-darwin10 both backtrace
&lt;br&gt;&amp;gt; to the same place when gcj crashes compiling java code.
&lt;br&gt;&amp;gt; 3) When the GCJLINK to patched to always pass -Wl,-allow_stack_execute
&lt;br&gt;&amp;gt; that the backtrace moves to the same place in both x86_64-apple-darwin9
&lt;br&gt;&amp;gt; and x86_64-apple-darwin10.
&lt;/div&gt;&lt;br&gt;Do you see the same page fault once -Wl,-allow_stack_execute is used?
&lt;br&gt;If not, this one is fixed, and we can look at the unwinder fproblem.
&lt;br&gt;&lt;br&gt;&amp;gt; 4) I'll also back out the libgcc-ext patch completely and verify that
&lt;br&gt;&amp;gt; x86_64-apple-darwin9 crashes at the same locations for step 2 and 3.
&lt;br&gt;&amp;gt; This will verify that the system unwinder and the FSF libgcc unwinder
&lt;br&gt;&amp;gt; both behave the same in these gcj crashes.
&lt;br&gt;&lt;br&gt;&amp;gt; ps As I mentioned before, darwin10 uses an unwinder in libSystem which
&lt;br&gt;&amp;gt; is derived from that in gcc 4.2.1. Also, since the libgcc_ext patch
&lt;br&gt;&amp;gt; went into gcc trunk, darwin9 also links in the system libgcc_s.10.5
&lt;br&gt;&amp;gt; before the FSF libgcc_s so that it also now uses the system unwinder
&lt;br&gt;&amp;gt; (from libgcc). However note that thse gcj crashes predate all of this.
&lt;br&gt;&amp;gt; I have verified that they go as far back as gcc 4.3.4.
&lt;br&gt;&lt;br&gt;OK. &amp;nbsp;So, we may have just one bug left rather than two. &amp;nbsp;Here's hoping.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26643751.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26643633</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T06:51:45Z</published>
	<updated>2009-12-04T06:51:45Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Fri, Dec 04, 2009 at 09:44:29AM +0000, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt; Using the patch...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Let's see the compile time output, when the executables were linked.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; This is interesting since on x86_64-apple-darwin10, we have been failing...
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; FAIL: WalkerTest execution - source compiled test
&lt;br&gt;&amp;gt; &amp;gt; FAIL: WalkerTest -findirect-dispatch execution - source compiled test
&lt;br&gt;&amp;gt; &amp;gt; FAIL: WalkerTest -O3 execution - source compiled test
&lt;br&gt;&amp;gt; &amp;gt; FAIL: WalkerTest -O3 -findirect-dispatch execution - source compiled test
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Since when? &amp;nbsp;You didn't mention this before.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew.
&lt;/div&gt;&lt;br&gt;Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp; I believe we have been seeing the additional WalkerTest
&lt;br&gt;failures under darwin10 ever since gcc trunk was fixed so
&lt;br&gt;that darwin10 built with stack execution like darwin9...
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01532.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01532.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;However this may all be a red herring because x86_64-apple-darwin9
&lt;br&gt;(which doesn't show these WalkerTest failures) shows the
&lt;br&gt;same issue with gcj crashing when compiling java code.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;I suspect we may have a layered problem here and need
&lt;br&gt;to work through each section. This weekend, I do some additional
&lt;br&gt;builds to verify that the crash debugs to the same locations
&lt;br&gt;in both darwin9 and darwin10 with and without the proposed
&lt;br&gt;patch to pass -Wl,-allow_stack_execute on GCJLINK. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;The WalkerTest failures in darwin10 may be orthogonal to
&lt;br&gt;the issue of gcj crashing since they don't occur in darwin9
&lt;br&gt;and darwin9 has the gcj issue as well. I'll do some builds this
&lt;br&gt;weekend to verify that...
&lt;br&gt;&lt;br&gt;1) x86_64-apple-darwin9 still passes the WalkerTests
&lt;br&gt;2) x86_64-apple-darwin9 and x86_64-apple-darwin10 both backtrace
&lt;br&gt;to the same place when gcj crashes compiling java code.
&lt;br&gt;3) When the GCJLINK to patched to always pass -Wl,-allow_stack_execute
&lt;br&gt;that the backtrace moves to the same place in both x86_64-apple-darwin9
&lt;br&gt;and x86_64-apple-darwin10.
&lt;br&gt;4) I'll also back out the libgcc-ext patch completely and verify that
&lt;br&gt;x86_64-apple-darwin9 crashes at the same locations for step 2 and 3.
&lt;br&gt;This will verify that the system unwinder and the FSF libgcc unwinder
&lt;br&gt;both behave the same in these gcj crashes.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jack
&lt;br&gt;ps As I mentioned before, darwin10 uses an unwinder in libSystem which
&lt;br&gt;is derived from that in gcc 4.2.1. Also, since the libgcc_ext patch
&lt;br&gt;went into gcc trunk, darwin9 also links in the system libgcc_s.10.5
&lt;br&gt;before the FSF libgcc_s so that it also now uses the system unwinder
&lt;br&gt;(from libgcc). However note that thse gcj crashes predate all of this.
&lt;br&gt;I have verified that they go as far back as gcc 4.3.4.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26643633.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26640081</id>
	<title>Re: java.lang.NoClassDefFoundError: java.text.DecimalFormat</title>
	<published>2009-12-04T01:46:52Z</published>
	<updated>2009-12-04T01:46:52Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Keith Boynton wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi guys,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sorry for the delay in providing some feedback, I was trying to resolve some 
&lt;br&gt;&amp;gt; nuances in the Java Native Compiler that were making it difficult to specify 
&lt;br&gt;&amp;gt; the flags in the correct order. I was unable to resolve that, so I switched 
&lt;br&gt;&amp;gt; to straight command line entry.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I tried your suggestion, here's the full command:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1. cd to src tree containing the .java source
&lt;br&gt;&amp;gt; 2. Execute the following: C:\JavaNC\gcc-122233-win\bin\gcj -o 
&lt;br&gt;&amp;gt; C:\JavaNC\projects\Test\compiled\test.exe -Wl,--whole-archive -lgcj_properties 
&lt;br&gt;&amp;gt; &amp;nbsp;-Wl,--no-whole-archive -static-libgcj --main=Test
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This gives me the following error at compile time:
&lt;br&gt;&amp;gt; C:\Users\KEITHB~1\AppData\Local\Temp/ccw9aaaa.o: In function 
&lt;br&gt;&amp;gt; `main':C:/Users/KEITHB~1/AppData/Local/Temp/ccCuaaaa.i:(.text+0x25): 
&lt;br&gt;&amp;gt; undefined reference to `Test::class$$'
&lt;br&gt;&amp;gt; collect2: ld returned 1 exit status
&lt;/div&gt;&lt;br&gt;You haven't given gcj anything to compile. &amp;nbsp;:-)
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.NoClassDefFoundError%3A-java.text.DecimalFormat-tp26576669p26640081.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26640059</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T01:45:04Z</published>
	<updated>2009-12-04T01:45:04Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Thu, Dec 03, 2009 at 09:25:11PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Boehm, Hans wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; From: &amp;nbsp;Jack Howarth
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Do you think that &amp;nbsp;-Wl,-allow_stack_execute needs to be 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; passed even more widely than on just ecjx_LDFLAGS? Any 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; suggestions as to where I should be passing it? Perhaps on 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; something like LIBJAVA_LDFLAGS_NOUNDEF at the toplevel of 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; libjava? Or should we even be building libffi and boehm-gc 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; with that as well?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I haven't been following this completely, but:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The GC also has a compile-time flag NO_EXECUTE_PERMISSION, which affects heap executability.
&lt;br&gt;&amp;gt;&amp;gt; I think that's probably not the cause, since libffi allocates memory itself.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;On reflection, shouldn't something like...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Index: libjava/Makefile.in
&lt;br&gt;&amp;gt; ===================================================================
&lt;br&gt;&amp;gt; --- libjava/Makefile.in	(revision 154965)
&lt;br&gt;&amp;gt; +++ libjava/Makefile.in	(working copy)
&lt;br&gt;&amp;gt; @@ -8500,8 +8500,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	$(am__append_28)
&lt;br&gt;&amp;gt; &amp;nbsp;gij_SOURCES = 
&lt;br&gt;&amp;gt; &amp;nbsp;gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \
&lt;br&gt;&amp;gt; -	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) \
&lt;br&gt;&amp;gt; -	$(extra_gij_ldflags) 
&lt;br&gt;&amp;gt; +	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;gij_LINK = $(GCJLINK) $(gij_LDFLAGS)
&lt;br&gt;&amp;gt; &amp;nbsp;gij_LDADD = -L$(here)/.libs libgij.la
&lt;br&gt;&amp;gt; Index: libjava/Makefile.am
&lt;br&gt;&amp;gt; ===================================================================
&lt;br&gt;&amp;gt; --- libjava/Makefile.am	(revision 154965)
&lt;br&gt;&amp;gt; +++ libjava/Makefile.am	(working copy)
&lt;br&gt;&amp;gt; @@ -294,7 +294,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;LTLDFLAGS = $(shell $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
&lt;br&gt;&amp;gt; &amp;nbsp;GCJLINK = $(LIBTOOL) --tag=GCJ $(LIBTOOLFLAGS) --mode=link $(GCJ) -L$(here) \
&lt;br&gt;&amp;gt; -	 &amp;nbsp;$(JC1FLAGS) $(LTLDFLAGS) -o $@
&lt;br&gt;&amp;gt; +	 &amp;nbsp; $(extra_gij_ldflags) $(JC1FLAGS) $(LTLDFLAGS) -o $@
&lt;br&gt;&amp;gt; &amp;nbsp;GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
&lt;br&gt;&amp;gt; &amp;nbsp;GCJ_FOR_ECJX_LINK = $(GCJ_FOR_ECJX) -o $@
&lt;br&gt;&amp;gt; &amp;nbsp;LIBLINK = $(LIBTOOL) --tag=CXX $(LIBTOOLFLAGS) --mode=link $(CXX) -L$(here) \
&lt;br&gt;&amp;gt; @@ -1065,8 +1065,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;## need this because we are explicitly using libtool to link using the
&lt;br&gt;&amp;gt; &amp;nbsp;## `.la' file.
&lt;br&gt;&amp;gt; &amp;nbsp;gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \
&lt;br&gt;&amp;gt; -	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) \
&lt;br&gt;&amp;gt; -	$(extra_gij_ldflags) 
&lt;br&gt;&amp;gt; +	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
&lt;br&gt;&amp;gt; &amp;nbsp;gij_LINK = $(GCJLINK) $(gij_LDFLAGS)
&lt;br&gt;&amp;gt; &amp;nbsp;## See jv_convert_LDADD.
&lt;br&gt;&amp;gt; &amp;nbsp;gij_LDADD = -L$(here)/.libs libgij.la
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ...be appropriate to make sure that all java executables on darwin are linked with
&lt;br&gt;&amp;gt; -Wl,-allow_stack_execute?
&lt;/div&gt;&lt;br&gt;No, because it will only affect the binaries in gcj, not things the
&lt;br&gt;user compiles. &amp;nbsp;That's why I suggested SYSTEMSPEC.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26640059.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26640050</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-04T01:44:29Z</published>
	<updated>2009-12-04T01:44:29Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;br&gt;&amp;gt; Using the patch...
&lt;br&gt;&lt;br&gt;Let's see the compile time output, when the executables were linked.
&lt;br&gt;&lt;br&gt;&amp;gt; This is interesting since on x86_64-apple-darwin10, we have been failing...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; FAIL: WalkerTest execution - source compiled test
&lt;br&gt;&amp;gt; FAIL: WalkerTest -findirect-dispatch execution - source compiled test
&lt;br&gt;&amp;gt; FAIL: WalkerTest -O3 execution - source compiled test
&lt;br&gt;&amp;gt; FAIL: WalkerTest -O3 -findirect-dispatch execution - source compiled test
&lt;br&gt;&lt;br&gt;Since when? &amp;nbsp;You didn't mention this before.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26640050.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26639247</id>
	<title>Re: java.lang.NoClassDefFoundError: java.text.DecimalFormat</title>
	<published>2009-12-04T00:34:10Z</published>
	<updated>2009-12-04T00:34:10Z</updated>
	<author>
		<name>Keith Boynton</name>
	</author>
	<content type="html">Hi guys,
&lt;br&gt;&lt;br&gt;Sorry for the delay in providing some feedback, I was trying to resolve some 
&lt;br&gt;nuances in the Java Native Compiler that were making it difficult to specify 
&lt;br&gt;the flags in the correct order. I was unable to resolve that, so I switched 
&lt;br&gt;to straight command line entry.
&lt;br&gt;&lt;br&gt;I tried your suggestion, here's the full command:
&lt;br&gt;&lt;br&gt;1. cd to src tree containing the .java source
&lt;br&gt;2. Execute the following: C:\JavaNC\gcc-122233-win\bin\gcj -o 
&lt;br&gt;C:\JavaNC\projects\Test\compiled\test.exe -Wl,--whole-archive -lgcj_properties 
&lt;br&gt;&amp;nbsp;-Wl,--no-whole-archive -static-libgcj --main=Test
&lt;br&gt;&lt;br&gt;This gives me the following error at compile time:
&lt;br&gt;C:\Users\KEITHB~1\AppData\Local\Temp/ccw9aaaa.o: In function 
&lt;br&gt;`main':C:/Users/KEITHB~1/AppData/Local/Temp/ccCuaaaa.i:(.text+0x25): 
&lt;br&gt;undefined reference to `Test::class$$'
&lt;br&gt;collect2: ld returned 1 exit status
&lt;br&gt;&lt;br&gt;Any help would be greatly appreciated
&lt;br&gt;&lt;br&gt;Keith 
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.NoClassDefFoundError%3A-java.text.DecimalFormat-tp26576669p26639247.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26637662</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-03T20:12:38Z</published>
	<updated>2009-12-03T20:12:38Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">Using the patch...
&lt;br&gt;&lt;br&gt;Index: libjava/Makefile.in
&lt;br&gt;===================================================================
&lt;br&gt;--- libjava/Makefile.in	(revision 154965)
&lt;br&gt;+++ libjava/Makefile.in	(working copy)
&lt;br&gt;@@ -1070,7 +1070,7 @@
&lt;br&gt;&amp;nbsp;GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated
&lt;br&gt;&amp;nbsp;LTLDFLAGS = $(shell $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
&lt;br&gt;&amp;nbsp;GCJLINK = $(LIBTOOL) --tag=GCJ $(LIBTOOLFLAGS) --mode=link $(GCJ) -L$(here) \
&lt;br&gt;-	 &amp;nbsp;$(JC1FLAGS) $(LTLDFLAGS) -o $@
&lt;br&gt;+	 $(extra_gij_ldflags) $(JC1FLAGS) $(LTLDFLAGS) -o $@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;GCJ_FOR_ECJX_LINK = $(GCJ_FOR_ECJX) -o $@
&lt;br&gt;&amp;nbsp;LIBLINK = $(LIBTOOL) --tag=CXX $(LIBTOOLFLAGS) --mode=link $(CXX) -L$(here) \
&lt;br&gt;@@ -8500,8 +8500,7 @@
&lt;br&gt;&amp;nbsp;	$(am__append_28)
&lt;br&gt;&amp;nbsp;gij_SOURCES = 
&lt;br&gt;&amp;nbsp;gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \
&lt;br&gt;-	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) \
&lt;br&gt;-	$(extra_gij_ldflags) 
&lt;br&gt;+	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;gij_LINK = $(GCJLINK) $(gij_LDFLAGS)
&lt;br&gt;&amp;nbsp;gij_LDADD = -L$(here)/.libs libgij.la
&lt;br&gt;Index: libjava/Makefile.am
&lt;br&gt;===================================================================
&lt;br&gt;--- libjava/Makefile.am	(revision 154965)
&lt;br&gt;+++ libjava/Makefile.am	(working copy)
&lt;br&gt;@@ -294,7 +294,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;LTLDFLAGS = $(shell $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
&lt;br&gt;&amp;nbsp;GCJLINK = $(LIBTOOL) --tag=GCJ $(LIBTOOLFLAGS) --mode=link $(GCJ) -L$(here) \
&lt;br&gt;-	 &amp;nbsp;$(JC1FLAGS) $(LTLDFLAGS) -o $@
&lt;br&gt;+	 &amp;nbsp; $(extra_gij_ldflags) $(JC1FLAGS) $(LTLDFLAGS) -o $@
&lt;br&gt;&amp;nbsp;GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
&lt;br&gt;&amp;nbsp;GCJ_FOR_ECJX_LINK = $(GCJ_FOR_ECJX) -o $@
&lt;br&gt;&amp;nbsp;LIBLINK = $(LIBTOOL) --tag=CXX $(LIBTOOLFLAGS) --mode=link $(CXX) -L$(here) \
&lt;br&gt;@@ -1065,8 +1065,7 @@
&lt;br&gt;&amp;nbsp;## need this because we are explicitly using libtool to link using the
&lt;br&gt;&amp;nbsp;## `.la' file.
&lt;br&gt;&amp;nbsp;gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \
&lt;br&gt;-	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) \
&lt;br&gt;-	$(extra_gij_ldflags) 
&lt;br&gt;+	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
&lt;br&gt;&amp;nbsp;gij_LINK = $(GCJLINK) $(gij_LDFLAGS)
&lt;br&gt;&amp;nbsp;## See jv_convert_LDADD.
&lt;br&gt;&amp;nbsp;gij_LDADD = -L$(here)/.libs libgij.la
&lt;br&gt;&lt;br&gt;The crash in gcj still occurs but it may have moved location (I am under darwin10
&lt;br&gt;at the moment). I see...
&lt;br&gt;&lt;br&gt;gdb /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin10.2.0/4.5.0/ecj1
&lt;br&gt;(gdb) r testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/share/xtal/ccp4-6.1.2/bin/:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc3tiRxo.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccsmjxPB.jar
&lt;br&gt;Starting program: /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin10.2.0/4.5.0/ecj1 testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/share/xtal/ccp4-6.1.2/bin/:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc3tiRxo.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccsmjxPB.jar
&lt;br&gt;Reading symbols for shared libraries +++++. done
&lt;br&gt;&lt;br&gt;Program received signal SIGABRT, Aborted.
&lt;br&gt;0x00007fff843d4fe6 in __kill ()
&lt;br&gt;(gdb) bt
&lt;br&gt;#0 &amp;nbsp;0x00007fff843d4fe6 in __kill ()
&lt;br&gt;#1 &amp;nbsp;0x00007fff84475e32 in abort ()
&lt;br&gt;#2 &amp;nbsp;0x00007fff844bffc9 in _Unwind_FindEnclosingFunction ()
&lt;br&gt;#3 &amp;nbsp;0x000000010001091c in gnu::classpath::VMStackWalker::getCallingClassLoader (pc=0x10098c8ac) at ../../../gcc-4.5-20091203/libjava/gnu/classpath/natVMStackWalker.cc:104
&lt;br&gt;Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;(gdb) x/10i 0x000000010001091c
&lt;br&gt;0x10001091c &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+28&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rax,%rbx
&lt;br&gt;0x10001091f &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+31&amp;gt;:	callq &amp;nbsp;0x100005cd0 &amp;lt;_ZN14_Jv_StackTrace14UpdateNCodeMapEv&amp;gt;
&lt;br&gt;0x100010924 &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+36&amp;gt;:	lea &amp;nbsp; &amp;nbsp;0x1c7b4b5(%rip),%rax &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x101c8bde0 &amp;lt;_ZN14_Jv_StackTrace8ncodeMapE&amp;gt;
&lt;br&gt;0x10001092b &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+43&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rbx,%rsi
&lt;br&gt;0x10001092e &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+46&amp;gt;:	mov &amp;nbsp; &amp;nbsp;(%rax),%rdi
&lt;br&gt;0x100010931 &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+49&amp;gt;:	mov &amp;nbsp; &amp;nbsp;(%rdi),%rdx
&lt;br&gt;0x100010934 &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+52&amp;gt;:	callq &amp;nbsp;*0x60(%rdx)
&lt;br&gt;0x100010937 &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+55&amp;gt;:	test &amp;nbsp; %rax,%rax
&lt;br&gt;0x10001093a &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+58&amp;gt;:	je &amp;nbsp; &amp;nbsp; 0x100010950 &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+80&amp;gt;
&lt;br&gt;0x10001093c &amp;lt;_ZN3gnu9classpath13VMStackWalker21getCallingClassLoaderEJPN4java4lang11ClassLoaderEPNS_3gcj7RawDataE+60&amp;gt;:	mov &amp;nbsp; &amp;nbsp;0xa8(%rax),%rax
&lt;br&gt;&lt;br&gt;This is interesting since on x86_64-apple-darwin10, we have been failing...
&lt;br&gt;&lt;br&gt;FAIL: WalkerTest execution - source compiled test
&lt;br&gt;FAIL: WalkerTest -findirect-dispatch execution - source compiled test
&lt;br&gt;FAIL: WalkerTest -O3 execution - source compiled test
&lt;br&gt;FAIL: WalkerTest -O3 -findirect-dispatch execution - source compiled test
&lt;br&gt;&lt;br&gt;in the libjava testsuite.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jack
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26637662.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26637238</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-03T18:59:43Z</published>
	<updated>2009-12-03T18:59:43Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Thu, Dec 03, 2009 at 09:25:11PM +0000, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Boehm, Hans wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; From: &amp;nbsp;Jack Howarth
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Do you think that &amp;nbsp;-Wl,-allow_stack_execute needs to be 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; passed even more widely than on just ecjx_LDFLAGS? Any 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; suggestions as to where I should be passing it? Perhaps on 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; something like LIBJAVA_LDFLAGS_NOUNDEF at the toplevel of 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; libjava? Or should we even be building libffi and boehm-gc 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; with that as well?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I haven't been following this completely, but:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; The GC also has a compile-time flag NO_EXECUTE_PERMISSION, which affects heap executability.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I think that's probably not the cause, since libffi allocates memory itself.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew.
&lt;/div&gt;&lt;br&gt;Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp;On reflection, shouldn't something like...
&lt;br&gt;&lt;br&gt;Index: libjava/Makefile.in
&lt;br&gt;===================================================================
&lt;br&gt;--- libjava/Makefile.in	(revision 154965)
&lt;br&gt;+++ libjava/Makefile.in	(working copy)
&lt;br&gt;@@ -8500,8 +8500,7 @@
&lt;br&gt;&amp;nbsp;	$(am__append_28)
&lt;br&gt;&amp;nbsp;gij_SOURCES = 
&lt;br&gt;&amp;nbsp;gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \
&lt;br&gt;-	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) \
&lt;br&gt;-	$(extra_gij_ldflags) 
&lt;br&gt;+	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;gij_LINK = $(GCJLINK) $(gij_LDFLAGS)
&lt;br&gt;&amp;nbsp;gij_LDADD = -L$(here)/.libs libgij.la
&lt;br&gt;Index: libjava/Makefile.am
&lt;br&gt;===================================================================
&lt;br&gt;--- libjava/Makefile.am	(revision 154965)
&lt;br&gt;+++ libjava/Makefile.am	(working copy)
&lt;br&gt;@@ -294,7 +294,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;LTLDFLAGS = $(shell $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
&lt;br&gt;&amp;nbsp;GCJLINK = $(LIBTOOL) --tag=GCJ $(LIBTOOLFLAGS) --mode=link $(GCJ) -L$(here) \
&lt;br&gt;-	 &amp;nbsp;$(JC1FLAGS) $(LTLDFLAGS) -o $@
&lt;br&gt;+	 &amp;nbsp; $(extra_gij_ldflags) $(JC1FLAGS) $(LTLDFLAGS) -o $@
&lt;br&gt;&amp;nbsp;GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
&lt;br&gt;&amp;nbsp;GCJ_FOR_ECJX_LINK = $(GCJ_FOR_ECJX) -o $@
&lt;br&gt;&amp;nbsp;LIBLINK = $(LIBTOOL) --tag=CXX $(LIBTOOLFLAGS) --mode=link $(CXX) -L$(here) \
&lt;br&gt;@@ -1065,8 +1065,7 @@
&lt;br&gt;&amp;nbsp;## need this because we are explicitly using libtool to link using the
&lt;br&gt;&amp;nbsp;## `.la' file.
&lt;br&gt;&amp;nbsp;gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \
&lt;br&gt;-	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) \
&lt;br&gt;-	$(extra_gij_ldflags) 
&lt;br&gt;+	-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
&lt;br&gt;&amp;nbsp;gij_LINK = $(GCJLINK) $(gij_LDFLAGS)
&lt;br&gt;&amp;nbsp;## See jv_convert_LDADD.
&lt;br&gt;&amp;nbsp;gij_LDADD = -L$(here)/.libs libgij.la
&lt;br&gt;&lt;br&gt;...be appropriate to make sure that all java executables on darwin are linked with
&lt;br&gt;-Wl,-allow_stack_execute? However, this raises the question of why the gcj and ecj1
&lt;br&gt;compilers aren't doing the same? As I understand this, any executables created
&lt;br&gt;with libraries containing code that executes on the stack (like libgcj) needs
&lt;br&gt;to link the binaries with -Wl,-allow_stack_execute. Shouldn't this apply to
&lt;br&gt;gcj and ecj1 as well since they create executables which are linked against
&lt;br&gt;libgcj? Wouldn't we have to do this by adding the missing -allow_stack_execute flag
&lt;br&gt;to libjava/libgcj.spec.in?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jack
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26637238.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26633444</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-03T13:25:11Z</published>
	<updated>2009-12-03T13:25:11Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Boehm, Hans wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; From: &amp;nbsp;Jack Howarth
&lt;br&gt;&amp;gt;&amp;gt; Do you think that &amp;nbsp;-Wl,-allow_stack_execute needs to be 
&lt;br&gt;&amp;gt;&amp;gt; passed even more widely than on just ecjx_LDFLAGS? Any 
&lt;br&gt;&amp;gt;&amp;gt; suggestions as to where I should be passing it? Perhaps on 
&lt;br&gt;&amp;gt;&amp;gt; something like LIBJAVA_LDFLAGS_NOUNDEF at the toplevel of 
&lt;br&gt;&amp;gt;&amp;gt; libjava? Or should we even be building libffi and boehm-gc 
&lt;br&gt;&amp;gt;&amp;gt; with that as well?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; I haven't been following this completely, but:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The GC also has a compile-time flag NO_EXECUTE_PERMISSION, which affects heap executability.
&lt;/div&gt;&lt;br&gt;I think that's probably not the cause, since libffi allocates memory itself.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26633444.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26631570</id>
	<title>RE: [patch] Fix oddity in personality routine</title>
	<published>2009-12-03T11:18:16Z</published>
	<updated>2009-12-03T11:18:16Z</updated>
	<author>
		<name>Boehm, Hans</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt; From: &amp;nbsp;Jack Howarth
&lt;br&gt;&amp;gt; Do you think that &amp;nbsp;-Wl,-allow_stack_execute needs to be 
&lt;br&gt;&amp;gt; passed even more widely than on just ecjx_LDFLAGS? Any 
&lt;br&gt;&amp;gt; suggestions as to where I should be passing it? Perhaps on 
&lt;br&gt;&amp;gt; something like LIBJAVA_LDFLAGS_NOUNDEF at the toplevel of 
&lt;br&gt;&amp;gt; libjava? Or should we even be building libffi and boehm-gc 
&lt;br&gt;&amp;gt; with that as well?
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jack
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;I haven't been following this completely, but:
&lt;br&gt;&lt;br&gt;The GC also has a compile-time flag NO_EXECUTE_PERMISSION, which affects heap executability. &amp;nbsp;I think the documentation says that this only affects incremental collection, but looking at the code, I'm not sure I believe that anymore. &amp;nbsp;I think it generally affects whether memory allocated with mmap is made executable, and we've been doing more and more of that.
&lt;br&gt;&lt;br&gt;Hans
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26631570.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26626531</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-03T06:10:34Z</published>
	<updated>2009-12-03T06:10:34Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;br&gt;&amp;gt; On Thu, Dec 03, 2009 at 10:25:30AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Wed, Dec 02, 2009 at 09:34:33AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Dec 01, 2009 at 05:24:29PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; What do you make of the bad assembly at 0x103f05dd1?
&lt;br&gt;&amp;gt;&amp;gt; There is no bad assembly: there's a jump at 0x103f05dc5.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I know what's going on.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The OS forbids execution of memory in the heap. &amp;nbsp;But, there is an extra
&lt;br&gt;&amp;gt;&amp;gt; flag, -Wl,-allow_stack_execute, that allows this permission. &amp;nbsp;This is
&lt;br&gt;&amp;gt;&amp;gt; a misnamed flag, since we never execute code on the stack. &amp;nbsp;I think it's
&lt;br&gt;&amp;gt;&amp;gt; really controlling heap execution, not stack execution.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; We need to pass this flag everywhere, whenever a program is compiled by
&lt;br&gt;&amp;gt;&amp;gt; gcj.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;This sounds like the patch that Andreas proposed in...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c3&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; which didn't solve the problem on my MacPro or MacBook Pro
&lt;br&gt;&amp;gt; under darwin9 or darwin10. He also ran into the issue again
&lt;br&gt;&amp;gt; later...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c17&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c17&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Do you think that &amp;nbsp;-Wl,-allow_stack_execute needs to be passed
&lt;br&gt;&amp;gt; even more widely than on just ecjx_LDFLAGS? Any suggestions as
&lt;br&gt;&amp;gt; to where I should be passing it? Perhaps on something like
&lt;br&gt;&amp;gt; LIBJAVA_LDFLAGS_NOUNDEF at the toplevel of libjava? Or should
&lt;br&gt;&amp;gt; we even be building libffi and boehm-gc with that as well?
&lt;/div&gt;&lt;br&gt;I don't see =-Wl,-allow_stack_execute passed to anything except
&lt;br&gt;when linking gij. &amp;nbsp;That's why IMO gij works but nothing else does.
&lt;br&gt;&lt;br&gt;This needs to be everywhere, for all programs. &amp;nbsp;I think SYSTEMSPEC
&lt;br&gt;would do it, or add a new linker configure variable.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26626531.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26626423</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-03T06:03:34Z</published>
	<updated>2009-12-03T06:03:34Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Thu, Dec 03, 2009 at 10:25:30AM +0000, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Wed, Dec 02, 2009 at 09:34:33AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On Tue, Dec 01, 2009 at 05:24:29PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Let me know if you have any suggestions for debugging this further.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Disassemble the first 10 or so instructions at the instruction where the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; EXC_BAD_ACCESS occurs. &amp;nbsp;I think this is a libffi bug.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;So just to clarify, for the instance of...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -----------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I want to disassemble from 0x00000001000485be, right?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0, where the fault happens. &amp;nbsp;I think it's a libffi stub,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; and I think its page permissions are not correctly set.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; But let's see.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; What I would do is, at
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; disassemble the call instruction, it's probably &amp;nbsp;call ($rax) &amp;nbsp;or somesuch.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; look in $rax with
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; p $rax
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; and disassemble from the address that's in there.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;I can't disassemble 0x0000000103f05db0...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) disassemble 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; No function contains specified address.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; x/10i 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;Okay, I see...
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; gdb /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin9.8.0/4.5.0/ecj1
&lt;br&gt;&amp;gt; &amp;gt; ...
&lt;br&gt;&amp;gt; &amp;gt; gdb) break ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt; &amp;gt; Breakpoint 1 at 0x20c49ba4b0a5ab: file ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc, line 46.
&lt;br&gt;&amp;gt; &amp;gt; (gdb) r testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccQOWl1c.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc4p4DHj.jar
&lt;br&gt;&amp;gt; &amp;gt; Starting program: /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin9.8.0/4.5.0/ecj1 testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccQOWl1c.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc4p4DHj.jar
&lt;br&gt;&amp;gt; &amp;gt; warning: posix_spawn failed, trying execvp, error: 86
&lt;br&gt;&amp;gt; &amp;gt; Reading symbols for shared libraries +++++.. done
&lt;br&gt;&amp;gt; &amp;gt; Breakpoint 1 at 0x1000485ab: file ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc, line 46.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Breakpoint 1, gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt; &amp;gt; 46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;&amp;gt; &amp;gt; (gdb) s
&lt;br&gt;&amp;gt; &amp;gt; Current language: &amp;nbsp;auto; currently c++
&lt;br&gt;&amp;gt; &amp;gt; 45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;&amp;gt; &amp;gt; (gdb) s
&lt;br&gt;&amp;gt; &amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt; (gdb) x/10i 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05db0:	mov &amp;nbsp; &amp;nbsp;$0x1009814e8,%r11
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dba:	mov &amp;nbsp; &amp;nbsp;$0x103f05db0,%r10
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dc4:	clc &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dc5:	rex.WB jmpq &amp;nbsp; *%r11
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dc8:	add &amp;nbsp; &amp;nbsp;%bl,-0x10(%rsi)
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dcb:	add &amp;nbsp; &amp;nbsp;(%rcx),%eax
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dcd:	add &amp;nbsp; &amp;nbsp;%al,(%rax)
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dcf:	add &amp;nbsp; &amp;nbsp;%ah,%al
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dd1:	(bad) &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; 0x103f05dd2:	cwtl &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; &amp;gt; #0 &amp;nbsp;gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; &amp;gt; #1 &amp;nbsp;0x0000000104875dc0 in ?? () at ClassHelper.java:106
&lt;br&gt;&amp;gt; &amp;gt; #2 &amp;nbsp;0x0000000104875f00 in ?? () at ClassHelper.java:106
&lt;br&gt;&amp;gt; &amp;gt; #3 &amp;nbsp;0x000000010493e980 in ?? () at ClassHelper.java:106
&lt;br&gt;&amp;gt; &amp;gt; #4 &amp;nbsp;0x00000001000b1b74 in _ZN3gnu4java4lang10MainThread3runEJvv (this=0x104875dc0) at MainThread.java:106
&lt;br&gt;&amp;gt; &amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; &amp;gt; (gdb) p $rax
&lt;br&gt;&amp;gt; &amp;gt; $1 = 1
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; (gdb) s
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; &amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt; 0x0000000103f05db0 in ?? () at ClassHelper.java:106
&lt;br&gt;&amp;gt; &amp;gt; 106	ClassHelper.java: No such file or directory.
&lt;br&gt;&amp;gt; &amp;gt; 	in ClassHelper.java
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; What do you make of the bad assembly at 0x103f05dd1?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There is no bad assembly: there's a jump at 0x103f05dc5.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I know what's going on.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The OS forbids execution of memory in the heap. &amp;nbsp;But, there is an extra
&lt;br&gt;&amp;gt; flag, -Wl,-allow_stack_execute, that allows this permission. &amp;nbsp;This is
&lt;br&gt;&amp;gt; a misnamed flag, since we never execute code on the stack. &amp;nbsp;I think it's
&lt;br&gt;&amp;gt; really controlling heap execution, not stack execution.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; We need to pass this flag everywhere, whenever a program is compiled by
&lt;br&gt;&amp;gt; gcj.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew.
&lt;/div&gt;&lt;br&gt;Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp;This sounds like the patch that Andreas proposed in...
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c3&lt;/a&gt;&lt;br&gt;&lt;br&gt;which didn't solve the problem on my MacPro or MacBook Pro
&lt;br&gt;under darwin9 or darwin10. He also ran into the issue again
&lt;br&gt;later...
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c17&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c17&lt;/a&gt;&lt;br&gt;&lt;br&gt;Do you think that &amp;nbsp;-Wl,-allow_stack_execute needs to be passed
&lt;br&gt;even more widely than on just ecjx_LDFLAGS? Any suggestions as
&lt;br&gt;to where I should be passing it? Perhaps on something like
&lt;br&gt;LIBJAVA_LDFLAGS_NOUNDEF at the toplevel of libjava? Or should
&lt;br&gt;we even be building libffi and boehm-gc with that as well?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jack
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26626423.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26623790</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-03T02:25:30Z</published>
	<updated>2009-12-03T02:25:30Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wed, Dec 02, 2009 at 09:34:33AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Dec 01, 2009 at 05:24:29PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Let me know if you have any suggestions for debugging this further.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Disassemble the first 10 or so instructions at the instruction where the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; EXC_BAD_ACCESS occurs. &amp;nbsp;I think this is a libffi bug.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;So just to clarify, for the instance of...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -----------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I want to disassemble from 0x00000001000485be, right?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0, where the fault happens. &amp;nbsp;I think it's a libffi stub,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and I think its page permissions are not correctly set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; But let's see.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; What I would do is, at
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; disassemble the call instruction, it's probably &amp;nbsp;call ($rax) &amp;nbsp;or somesuch.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; look in $rax with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; p $rax
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and disassemble from the address that's in there.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;I can't disassemble 0x0000000103f05db0...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) disassemble 0x0000000103f05db0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; No function contains specified address.
&lt;br&gt;&amp;gt;&amp;gt; x/10i 0x0000000103f05db0
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Okay, I see...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; gdb /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin9.8.0/4.5.0/ecj1
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; gdb) break ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt; Breakpoint 1 at 0x20c49ba4b0a5ab: file ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc, line 46.
&lt;br&gt;&amp;gt; (gdb) r testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccQOWl1c.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc4p4DHj.jar
&lt;br&gt;&amp;gt; Starting program: /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin9.8.0/4.5.0/ecj1 testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccQOWl1c.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc4p4DHj.jar
&lt;br&gt;&amp;gt; warning: posix_spawn failed, trying execvp, error: 86
&lt;br&gt;&amp;gt; Reading symbols for shared libraries +++++.. done
&lt;br&gt;&amp;gt; Breakpoint 1 at 0x1000485ab: file ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc, line 46.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Breakpoint 1, gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt; 46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;&amp;gt; (gdb) s
&lt;br&gt;&amp;gt; Current language: &amp;nbsp;auto; currently c++
&lt;br&gt;&amp;gt; 45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;&amp;gt; (gdb) s
&lt;br&gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; (gdb) x/10i 0x0000000103f05db0
&lt;br&gt;&amp;gt; 0x103f05db0:	mov &amp;nbsp; &amp;nbsp;$0x1009814e8,%r11
&lt;br&gt;&amp;gt; 0x103f05dba:	mov &amp;nbsp; &amp;nbsp;$0x103f05db0,%r10
&lt;br&gt;&amp;gt; 0x103f05dc4:	clc &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; 0x103f05dc5:	rex.WB jmpq &amp;nbsp; *%r11
&lt;br&gt;&amp;gt; 0x103f05dc8:	add &amp;nbsp; &amp;nbsp;%bl,-0x10(%rsi)
&lt;br&gt;&amp;gt; 0x103f05dcb:	add &amp;nbsp; &amp;nbsp;(%rcx),%eax
&lt;br&gt;&amp;gt; 0x103f05dcd:	add &amp;nbsp; &amp;nbsp;%al,(%rax)
&lt;br&gt;&amp;gt; 0x103f05dcf:	add &amp;nbsp; &amp;nbsp;%ah,%al
&lt;br&gt;&amp;gt; 0x103f05dd1:	(bad) &amp;nbsp;
&lt;br&gt;&amp;gt; 0x103f05dd2:	cwtl &amp;nbsp; 
&lt;br&gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; #0 &amp;nbsp;gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; #1 &amp;nbsp;0x0000000104875dc0 in ?? () at ClassHelper.java:106
&lt;br&gt;&amp;gt; #2 &amp;nbsp;0x0000000104875f00 in ?? () at ClassHelper.java:106
&lt;br&gt;&amp;gt; #3 &amp;nbsp;0x000000010493e980 in ?? () at ClassHelper.java:106
&lt;br&gt;&amp;gt; #4 &amp;nbsp;0x00000001000b1b74 in _ZN3gnu4java4lang10MainThread3runEJvv (this=0x104875dc0) at MainThread.java:106
&lt;br&gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; (gdb) p $rax
&lt;br&gt;&amp;gt; $1 = 1
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; (gdb) s
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; 0x0000000103f05db0 in ?? () at ClassHelper.java:106
&lt;br&gt;&amp;gt; 106	ClassHelper.java: No such file or directory.
&lt;br&gt;&amp;gt; 	in ClassHelper.java
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What do you make of the bad assembly at 0x103f05dd1?
&lt;/div&gt;&lt;br&gt;There is no bad assembly: there's a jump at 0x103f05dc5.
&lt;br&gt;&lt;br&gt;I know what's going on.
&lt;br&gt;&lt;br&gt;The OS forbids execution of memory in the heap. &amp;nbsp;But, there is an extra
&lt;br&gt;flag, -Wl,-allow_stack_execute, that allows this permission. &amp;nbsp;This is
&lt;br&gt;a misnamed flag, since we never execute code on the stack. &amp;nbsp;I think it's
&lt;br&gt;really controlling heap execution, not stack execution.
&lt;br&gt;&lt;br&gt;We need to pass this flag everywhere, whenever a program is compiled by
&lt;br&gt;gcj.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26623790.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26619444</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-02T17:08:28Z</published>
	<updated>2009-12-02T17:08:28Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Wed, Dec 02, 2009 at 09:34:33AM +0000, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Tue, Dec 01, 2009 at 05:24:29PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Let me know if you have any suggestions for debugging this further.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; Disassemble the first 10 or so instructions at the instruction where the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; EXC_BAD_ACCESS occurs. &amp;nbsp;I think this is a libffi bug.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;So just to clarify, for the instance of...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -------------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -----------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I want to disassemble from 0x00000001000485be, right?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 0x0000000103f05db0, where the fault happens. &amp;nbsp;I think it's a libffi stub,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; and I think its page permissions are not correctly set.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; But let's see.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; What I would do is, at
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; disassemble the call instruction, it's probably &amp;nbsp;call ($rax) &amp;nbsp;or somesuch.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; look in $rax with
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; p $rax
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; and disassemble from the address that's in there.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;I can't disassemble 0x0000000103f05db0...
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; (gdb) disassemble 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt; No function contains specified address.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; x/10i 0x0000000103f05db0
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew.
&lt;/div&gt;&lt;br&gt;Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp;Okay, I see...
&lt;br&gt;&lt;br&gt;gdb /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin9.8.0/4.5.0/ecj1
&lt;br&gt;...
&lt;br&gt;gdb) break ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;Breakpoint 1 at 0x20c49ba4b0a5ab: file ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc, line 46.
&lt;br&gt;(gdb) r testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccQOWl1c.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc4p4DHj.jar
&lt;br&gt;Starting program: /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin9.8.0/4.5.0/ecj1 testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccQOWl1c.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc4p4DHj.jar
&lt;br&gt;warning: posix_spawn failed, trying execvp, error: 86
&lt;br&gt;Reading symbols for shared libraries +++++.. done
&lt;br&gt;Breakpoint 1 at 0x1000485ab: file ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc, line 46.
&lt;br&gt;&lt;br&gt;Breakpoint 1, gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;(gdb) s
&lt;br&gt;Current language: &amp;nbsp;auto; currently c++
&lt;br&gt;45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;(gdb) s
&lt;br&gt;54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;(gdb) x/10i 0x0000000103f05db0
&lt;br&gt;0x103f05db0:	mov &amp;nbsp; &amp;nbsp;$0x1009814e8,%r11
&lt;br&gt;0x103f05dba:	mov &amp;nbsp; &amp;nbsp;$0x103f05db0,%r10
&lt;br&gt;0x103f05dc4:	clc &amp;nbsp; &amp;nbsp;
&lt;br&gt;0x103f05dc5:	rex.WB jmpq &amp;nbsp; *%r11
&lt;br&gt;0x103f05dc8:	add &amp;nbsp; &amp;nbsp;%bl,-0x10(%rsi)
&lt;br&gt;0x103f05dcb:	add &amp;nbsp; &amp;nbsp;(%rcx),%eax
&lt;br&gt;0x103f05dcd:	add &amp;nbsp; &amp;nbsp;%al,(%rax)
&lt;br&gt;0x103f05dcf:	add &amp;nbsp; &amp;nbsp;%ah,%al
&lt;br&gt;0x103f05dd1:	(bad) &amp;nbsp;
&lt;br&gt;0x103f05dd2:	cwtl &amp;nbsp; 
&lt;br&gt;(gdb) bt
&lt;br&gt;#0 &amp;nbsp;gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;#1 &amp;nbsp;0x0000000104875dc0 in ?? () at ClassHelper.java:106
&lt;br&gt;#2 &amp;nbsp;0x0000000104875f00 in ?? () at ClassHelper.java:106
&lt;br&gt;#3 &amp;nbsp;0x000000010493e980 in ?? () at ClassHelper.java:106
&lt;br&gt;#4 &amp;nbsp;0x00000001000b1b74 in _ZN3gnu4java4lang10MainThread3runEJvv (this=0x104875dc0) at MainThread.java:106
&lt;br&gt;Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;(gdb) p $rax
&lt;br&gt;$1 = 1
&lt;br&gt;&lt;br&gt;(gdb) s
&lt;br&gt;&lt;br&gt;Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;0x0000000103f05db0 in ?? () at ClassHelper.java:106
&lt;br&gt;106	ClassHelper.java: No such file or directory.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in ClassHelper.java
&lt;br&gt;&lt;br&gt;What do you make of the bad assembly at 0x103f05dd1?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jack
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26619444.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26606060</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-02T01:34:33Z</published>
	<updated>2009-12-02T01:34:33Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Dec 01, 2009 at 05:24:29PM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Let me know if you have any suggestions for debugging this further.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Disassemble the first 10 or so instructions at the instruction where the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; EXC_BAD_ACCESS occurs. &amp;nbsp;I think this is a libffi bug.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;So just to clarify, for the instance of...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -----------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I want to disassemble from 0x00000001000485be, right?
&lt;br&gt;&amp;gt;&amp;gt; 0x0000000103f05db0, where the fault happens. &amp;nbsp;I think it's a libffi stub,
&lt;br&gt;&amp;gt;&amp;gt; and I think its page permissions are not correctly set.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; But let's see.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; What I would do is, at
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt;&amp;gt; disassemble the call instruction, it's probably &amp;nbsp;call ($rax) &amp;nbsp;or somesuch.
&lt;br&gt;&amp;gt;&amp;gt; look in $rax with
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; p $rax
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; and disassemble from the address that's in there.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;I can't disassemble 0x0000000103f05db0...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; (gdb) disassemble 0x0000000103f05db0
&lt;br&gt;&amp;gt; No function contains specified address.
&lt;/div&gt;&lt;br&gt;x/10i 0x0000000103f05db0
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26606060.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26600998</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-01T15:29:39Z</published>
	<updated>2009-12-01T15:29:39Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Tue, Dec 01, 2009 at 05:24:29PM +0000, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Let me know if you have any suggestions for debugging this further.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Disassemble the first 10 or so instructions at the instruction where the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; EXC_BAD_ACCESS occurs. &amp;nbsp;I think this is a libffi bug.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;So just to clarify, for the instance of...
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; -------------------
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; 0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;&amp;gt; &amp;gt; 258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt; &amp;gt; 46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; 45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; &amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; &amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; &amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; &amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; -----------------
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I want to disassemble from 0x00000001000485be, right?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 0x0000000103f05db0, where the fault happens. &amp;nbsp;I think it's a libffi stub,
&lt;br&gt;&amp;gt; and I think its page permissions are not correctly set.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; But let's see.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What I would do is, at
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; disassemble the call instruction, it's probably &amp;nbsp;call ($rax) &amp;nbsp;or somesuch.
&lt;br&gt;&amp;gt; look in $rax with
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; p $rax
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; and disassemble from the address that's in there.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew.
&lt;/div&gt;&lt;br&gt;Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp;I can't disassemble 0x0000000103f05db0...
&lt;br&gt;&lt;br&gt;(gdb) disassemble 0x0000000103f05db0
&lt;br&gt;No function contains specified address.
&lt;br&gt;&lt;br&gt;Disassembling 0x00000001000485be shows...
&lt;br&gt;&lt;br&gt;(gdb) disassemble 0x00000001000485be
&lt;br&gt;Dump of assembler code for function _ZN3gnu4java4lang10MainThread9call_mainEJvv:
&lt;br&gt;0x00000001000484f0 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+0&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rbx,-0x18(%rsp)
&lt;br&gt;0x00000001000484f5 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+5&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rdi,%rbx
&lt;br&gt;0x00000001000484f8 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+8&amp;gt;:	lea &amp;nbsp; &amp;nbsp;0x94f508(%rip),%rdi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x100997a07 &amp;lt;dyld_stub_write+10609&amp;gt;
&lt;br&gt;0x00000001000484ff &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+15&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rbp,-0x10(%rsp)
&lt;br&gt;0x0000000100048504 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+20&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%r12,-0x8(%rsp)
&lt;br&gt;0x0000000100048509 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+25&amp;gt;:	mov &amp;nbsp; &amp;nbsp;$0x16,%esi
&lt;br&gt;0x000000010004850e &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+30&amp;gt;:	sub &amp;nbsp; &amp;nbsp;$0x18,%rsp
&lt;br&gt;0x0000000100048512 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+34&amp;gt;:	callq &amp;nbsp;0x100005a50 &amp;lt;_Z17_Jv_makeUtf8ConstPKci&amp;gt;
&lt;br&gt;0x0000000100048517 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+39&amp;gt;:	lea &amp;nbsp; &amp;nbsp;0x94f500(%rip),%rdi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x100997a1e &amp;lt;dyld_stub_write+10632&amp;gt;
&lt;br&gt;0x000000010004851e &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+46&amp;gt;:	mov &amp;nbsp; &amp;nbsp;$0x4,%esi
&lt;br&gt;0x0000000100048523 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+51&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rax,%r12
&lt;br&gt;0x0000000100048526 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+54&amp;gt;:	callq &amp;nbsp;0x100005a50 &amp;lt;_Z17_Jv_makeUtf8ConstPKci&amp;gt;
&lt;br&gt;0x000000010004852b &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+59&amp;gt;:	mov &amp;nbsp; &amp;nbsp;0x80(%rbx),%rdi
&lt;br&gt;0x0000000100048532 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+66&amp;gt;:	mov &amp;nbsp; &amp;nbsp;$0x3,%esi
&lt;br&gt;0x0000000100048537 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+71&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rax,%rbp
&lt;br&gt;0x000000010004853a &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+74&amp;gt;:	callq &amp;nbsp;0x100016830 &amp;lt;_ZN10_Jv_Linker14wait_for_stateEPN4java4lang5ClassEi&amp;gt;
&lt;br&gt;0x000000010004853f &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+79&amp;gt;:	mov &amp;nbsp; &amp;nbsp;0x80(%rbx),%rdi
&lt;br&gt;0x0000000100048546 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+86&amp;gt;:	xor &amp;nbsp; &amp;nbsp;%ecx,%ecx
&lt;br&gt;0x0000000100048548 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+88&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rbp,%rsi
&lt;br&gt;0x000000010004854b &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+91&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%r12,%rdx
&lt;br&gt;0x000000010004854e &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+94&amp;gt;:	callq &amp;nbsp;0x100051b10 &amp;lt;_Z24_Jv_LookupDeclaredMethodPN4java4lang5ClassEP13_Jv_Utf8ConstS4_PS2_&amp;gt;
&lt;br&gt;0x0000000100048553 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+99&amp;gt;:	test &amp;nbsp; %rax,%rax
&lt;br&gt;0x0000000100048556 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+102&amp;gt;:	mov &amp;nbsp; &amp;nbsp;%rax,%rbp
&lt;br&gt;0x0000000100048559 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+105&amp;gt;:	je &amp;nbsp; &amp;nbsp; 0x1000485f0 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+256&amp;gt;
&lt;br&gt;0x000000010004855f &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+111&amp;gt;:	movzwl 0x10(%rax),%edi
&lt;br&gt;0x0000000100048563 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+115&amp;gt;:	callq &amp;nbsp;0x1004168b0 &amp;lt;_ZN4java4lang7reflect8Modifier8isStaticEJbi&amp;gt;
&lt;br&gt;0x0000000100048568 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+120&amp;gt;:	test &amp;nbsp; %al,%al
&lt;br&gt;0x000000010004856a &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+122&amp;gt;:	lea &amp;nbsp; &amp;nbsp;0x94f46a(%rip),%rdx &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x1009979db &amp;lt;dyld_stub_write+10565&amp;gt;
&lt;br&gt;0x0000000100048571 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+129&amp;gt;:	jne &amp;nbsp; &amp;nbsp;0x1000485a0 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+176&amp;gt;
&lt;br&gt;0x0000000100048573 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+131&amp;gt;:	mov &amp;nbsp; &amp;nbsp;0x1329a96(%rip),%rax &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x101372010 &amp;lt;ffi_type_longdouble+48&amp;gt;
&lt;br&gt;0x000000010004857a &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+138&amp;gt;:	lea &amp;nbsp; &amp;nbsp;0x94f4a2(%rip),%rsi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x100997a23 &amp;lt;dyld_stub_write+10637&amp;gt;
&lt;br&gt;0x0000000100048581 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+145&amp;gt;:	mov &amp;nbsp; &amp;nbsp;(%rax),%rdi
&lt;br&gt;0x0000000100048584 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+148&amp;gt;:	xor &amp;nbsp; &amp;nbsp;%eax,%eax
&lt;br&gt;0x0000000100048586 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+150&amp;gt;:	callq &amp;nbsp;0x100994d4e &amp;lt;dyld_stub_fprintf&amp;gt;
&lt;br&gt;0x000000010004858b &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+155&amp;gt;:	mov &amp;nbsp; &amp;nbsp;$0x1,%edi
&lt;br&gt;0x0000000100048590 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+160&amp;gt;:	callq &amp;nbsp;0x100994d1e &amp;lt;dyld_stub_exit&amp;gt;
&lt;br&gt;0x0000000100048595 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+165&amp;gt;:	nopl &amp;nbsp; 0x0(%rax,%rax,1)
&lt;br&gt;0x000000010004859a &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+170&amp;gt;:	nopw &amp;nbsp; 0x0(%rax,%rax,1)
&lt;br&gt;0x00000001000485a0 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+176&amp;gt;:	movzwl 0x10(%rbp),%edi
&lt;br&gt;0x00000001000485a4 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+180&amp;gt;:	callq &amp;nbsp;0x1004168d0 &amp;lt;_ZN4java4lang7reflect8Modifier8isPublicEJbi&amp;gt;
&lt;br&gt;0x00000001000485a9 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+185&amp;gt;:	test &amp;nbsp; %al,%al
&lt;br&gt;0x00000001000485ab &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+187&amp;gt;:	lea &amp;nbsp; &amp;nbsp;0x94f43f(%rip),%rdx &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x1009979f1 &amp;lt;dyld_stub_write+10587&amp;gt;
&lt;br&gt;0x00000001000485b2 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+194&amp;gt;:	je &amp;nbsp; &amp;nbsp; 0x100048573 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+131&amp;gt;
&lt;br&gt;0x00000001000485b4 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+196&amp;gt;:	mov &amp;nbsp; &amp;nbsp;0x90(%rbx),%rdi
&lt;br&gt;0x00000001000485bb &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+203&amp;gt;:	callq &amp;nbsp;*0x18(%rbp)
&lt;br&gt;0x00000001000485be &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+206&amp;gt;:	callq &amp;nbsp;0x100062450 &amp;lt;_Z14_Jv_ThreadWaitv&amp;gt;
&lt;br&gt;0x00000001000485c3 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+211&amp;gt;:	lea &amp;nbsp; &amp;nbsp;0x1629dde(%rip),%rax &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x1016723a8 &amp;lt;_ZN4java4lang11ThreadGroup22had_uncaught_exceptionE&amp;gt;
&lt;br&gt;0x00000001000485ca &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+218&amp;gt;:	mov &amp;nbsp; &amp;nbsp;(%rsp),%rbx
&lt;br&gt;0x00000001000485ce &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+222&amp;gt;:	mov &amp;nbsp; &amp;nbsp;0x8(%rsp),%rbp
&lt;br&gt;0x00000001000485d3 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+227&amp;gt;:	mov &amp;nbsp; &amp;nbsp;0x10(%rsp),%r12
&lt;br&gt;0x00000001000485d8 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+232&amp;gt;:	movzbl (%rax),%edi
&lt;br&gt;0x00000001000485db &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+235&amp;gt;:	add &amp;nbsp; &amp;nbsp;$0x18,%rsp
&lt;br&gt;0x00000001000485df &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+239&amp;gt;:	jmpq &amp;nbsp; 0x100409600 &amp;lt;_ZN4java4lang7Runtime20exitNoChecksAccessorEJvi&amp;gt;
&lt;br&gt;0x00000001000485e4 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+244&amp;gt;:	nopw &amp;nbsp; 0x0(%rax,%rax,1)
&lt;br&gt;0x00000001000485ea &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+250&amp;gt;:	nopw &amp;nbsp; 0x0(%rax,%rax,1)
&lt;br&gt;0x00000001000485f0 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+256&amp;gt;:	lea &amp;nbsp; &amp;nbsp;0x94f3c1(%rip),%rdx &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 0x1009979b8 &amp;lt;dyld_stub_write+10530&amp;gt;
&lt;br&gt;0x00000001000485f7 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+263&amp;gt;:	jmpq &amp;nbsp; 0x100048573 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+131&amp;gt;
&lt;br&gt;&lt;br&gt;Do I need to actually stop the process of stepping through the code before I hit
&lt;br&gt;the crash in order to disassemble real_main? I tried...
&lt;br&gt;&lt;br&gt;(gdb) break ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;Breakpoint 1 at 0x20c49ba4b0a5ab: file ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc, line 46.
&lt;br&gt;(gdb) r testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccQOWl1c.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc4p4DHj.jar
&lt;br&gt;Starting program: /sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin9.8.0/4.5.0/ecj1 testme.java -fbootclasspath=/sw/share/java/ecj/ecj.jar:./:/sw/lib/gcc4.5/share/java/libgcj-4.5.0.jar -fsource=1.5 -ftarget=1.5 -fzip-dependency /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//ccQOWl1c.zip -fzip-target /var/folders/1C/1CdoNxmNFHyOIjNBLNuJh++++TM/-Tmp-//cc4p4DHj.jar
&lt;br&gt;warning: posix_spawn failed, trying execvp, error: 86
&lt;br&gt;Reading symbols for shared libraries +++++.. done
&lt;br&gt;Breakpoint 1 at 0x1000485ab: file ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc, line 46.
&lt;br&gt;&lt;br&gt;Breakpoint 1, gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;(gdb) s
&lt;br&gt;Current language: &amp;nbsp;auto; currently c++
&lt;br&gt;45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;(gdb) s
&lt;br&gt;54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;(gdb) bt &amp;nbsp;
&lt;br&gt;#0 &amp;nbsp;gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;#1 &amp;nbsp;0x0000000104875dc0 in ?? () at ClassHelper.java:106
&lt;br&gt;#2 &amp;nbsp;0x0000000104875f00 in ?? () at ClassHelper.java:106
&lt;br&gt;#3 &amp;nbsp;0x000000010493e980 in ?? () at ClassHelper.java:106
&lt;br&gt;#4 &amp;nbsp;0x00000001000b1b74 in _ZN3gnu4java4lang10MainThread3runEJvv (this=0x104875dc0) at MainThread.java:106
&lt;br&gt;Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;(gdb) info line 54
&lt;br&gt;Line 54 of &amp;quot;../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc&amp;quot; starts at address 0x1000485b4 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+196&amp;gt; and ends at 0x1000485be &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+206&amp;gt;.
&lt;br&gt;(gdb) disassemble 0x1000485b4 &amp;nbsp;0x1000485be
&lt;br&gt;Dump of assembler code from 0x1000485b4 to 0x1000485be:
&lt;br&gt;0x00000001000485b4 &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+196&amp;gt;:	mov &amp;nbsp; &amp;nbsp;0x90(%rbx),%rdi
&lt;br&gt;0x00000001000485bb &amp;lt;_ZN3gnu4java4lang10MainThread9call_mainEJvv+203&amp;gt;:	callq &amp;nbsp;*0x18(%rbp)
&lt;br&gt;End of assembler dump.
&lt;br&gt;(gdb) 
&lt;br&gt;&lt;br&gt;I'm not sure what to do at this point to disassemble the call destination...
&lt;br&gt;&lt;br&gt;(gdb) disassemble *0x18(%rbp)
&lt;br&gt;A syntax error in expression, near `%rbp)'.
&lt;br&gt;(gdb) disassemble 0x18(%rbp)
&lt;br&gt;A syntax error in expression, near `%rbp)'.
&lt;br&gt;(gdb) disassemble %rbp 
&lt;br&gt;A syntax error in expression, near `%rbp'.
&lt;br&gt;&lt;br&gt;I am at the correct spot though since the next step causes the crash. Also I do
&lt;br&gt;notice that the output from &amp;quot;disassemble 0x1000485b4 &amp;nbsp;0x1000485be&amp;quot; is listed in
&lt;br&gt;the longer disassembly from 0x00000001000485be.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jack
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26600998.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26598369</id>
	<title>Re: PATCH, libjava: silence more warnings</title>
	<published>2009-12-01T12:15:46Z</published>
	<updated>2009-12-01T12:15:46Z</updated>
	<author>
		<name>Dave Korn-6</name>
	</author>
	<content type="html">Tom Tromey wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;Dave&amp;quot; == Dave Korn &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26598369&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dave.korn.cygwin@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Dave&amp;gt; Ben Elliston wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ::java::lang::String *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jint valid)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes __attribute__ ((unused)),
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jint valid __attribute__ ((unused)))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Dave&amp;gt; &amp;nbsp; There's a #define MAYBE_UNUSED in include/jvm.h, as used in
&lt;br&gt;&amp;gt; Dave&amp;gt; java/lang/natClass.cc. &amp;nbsp;But maybe jvm.h isn't available here?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It is ok to include jvm.h from any of the CNI code.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; But, it is also ok to just use an unadorned __attribute__. &amp;nbsp;We know this
&lt;br&gt;&amp;gt; code can only be compiled by g++.
&lt;/div&gt;&lt;br&gt;&amp;nbsp; ... given which, it's hardly worth adding a new header dependency just to
&lt;br&gt;get the macro. &amp;nbsp;Right, thanks for clarifying that.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; cheers,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DaveK
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%2C-libjava%3A-silence-more-warnings-tp26596627p26598369.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26597912</id>
	<title>Re: PATCH, libjava: silence more warnings</title>
	<published>2009-12-01T11:44:12Z</published>
	<updated>2009-12-01T11:44:12Z</updated>
	<author>
		<name>Tom Tromey</name>
	</author>
	<content type="html">&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;Dave&amp;quot; == Dave Korn &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26597912&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dave.korn.cygwin@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;Dave&amp;gt; Ben Elliston wrote:
&lt;br&gt;&amp;gt;&amp;gt; ::java::lang::String *
&lt;br&gt;&amp;gt;&amp;gt; -java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes,
&lt;br&gt;&amp;gt;&amp;gt; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jint valid)
&lt;br&gt;&amp;gt;&amp;gt; +java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes __attribute__ ((unused)),
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jint valid __attribute__ ((unused)))
&lt;br&gt;&lt;br&gt;Dave&amp;gt; &amp;nbsp; There's a #define MAYBE_UNUSED in include/jvm.h, as used in
&lt;br&gt;Dave&amp;gt; java/lang/natClass.cc. &amp;nbsp;But maybe jvm.h isn't available here?
&lt;br&gt;&lt;br&gt;It is ok to include jvm.h from any of the CNI code.
&lt;br&gt;&lt;br&gt;But, it is also ok to just use an unadorned __attribute__. &amp;nbsp;We know this
&lt;br&gt;code can only be compiled by g++.
&lt;br&gt;&lt;br&gt;Tom
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%2C-libjava%3A-silence-more-warnings-tp26596627p26597912.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26597057</id>
	<title>Re: PATCH, libjava: silence more warnings</title>
	<published>2009-12-01T10:49:07Z</published>
	<updated>2009-12-01T10:49:07Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Ben Elliston wrote:
&lt;br&gt;&amp;gt; This patch silences a couple of more warnings in libjava:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; libjava/java/net/natVMURLConnection.cc:64:1: warning: unused parameter ‘bytes’
&lt;br&gt;&amp;gt; &amp;nbsp; libjava/java/net/natVMURLConnection.cc:64:1: warning: unused parameter ‘valid’
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Tested with a bootstrap on x86_64-linux. &amp;nbsp;Okay for the trunk?
&lt;br&gt;&lt;br&gt;OK.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%2C-libjava%3A-silence-more-warnings-tp26596627p26597057.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26596765</id>
	<title>Re: PATCH, libjava: silence more warnings</title>
	<published>2009-12-01T10:32:23Z</published>
	<updated>2009-12-01T10:32:23Z</updated>
	<author>
		<name>Dave Korn-6</name>
	</author>
	<content type="html">Ben Elliston wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;::java::lang::String *
&lt;br&gt;&amp;gt; -java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes,
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jint valid)
&lt;br&gt;&amp;gt; +java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes __attribute__ ((unused)),
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jint valid __attribute__ ((unused)))
&lt;br&gt;&lt;br&gt;&amp;nbsp; There's a #define MAYBE_UNUSED in include/jvm.h, as used in
&lt;br&gt;java/lang/natClass.cc. &amp;nbsp;But maybe jvm.h isn't available here?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; cheers,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DaveK
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%2C-libjava%3A-silence-more-warnings-tp26596627p26596765.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26596627</id>
	<title>PATCH, libjava: silence more warnings</title>
	<published>2009-12-01T10:22:11Z</published>
	<updated>2009-12-01T10:22:11Z</updated>
	<author>
		<name>Ben Elliston</name>
	</author>
	<content type="html">This patch silences a couple of more warnings in libjava:
&lt;br&gt;&lt;br&gt;&amp;nbsp; libjava/java/net/natVMURLConnection.cc:64:1: warning: unused parameter ‘bytes’
&lt;br&gt;&amp;nbsp; libjava/java/net/natVMURLConnection.cc:64:1: warning: unused parameter ‘valid’
&lt;br&gt;&lt;br&gt;Tested with a bootstrap on x86_64-linux. &amp;nbsp;Okay for the trunk?
&lt;br&gt;&lt;br&gt;Ben
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-02 &amp;nbsp;Ben Elliston &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26596627&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bje@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * java/net/natVMURLConnection.cc (guessContentTypeFromBuffer):
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mark `bytes' and `valid' parameters as potentially unused.
&lt;br&gt;&lt;br&gt;Index: java/net/natVMURLConnection.cc
&lt;br&gt;===================================================================
&lt;br&gt;--- java/net/natVMURLConnection.cc &amp;nbsp; &amp;nbsp; &amp;nbsp;(revision 154873)
&lt;br&gt;+++ java/net/natVMURLConnection.cc &amp;nbsp; &amp;nbsp; &amp;nbsp;(working copy)
&lt;br&gt;@@ -61,8 +61,8 @@
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;::java::lang::String *
&lt;br&gt;-java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jint valid)
&lt;br&gt;+java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes __attribute__ ((unused)),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jint valid __attribute__ ((unused)))
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;#if defined (HAVE_MAGIC_T) &amp;&amp; defined (HAVE_MAGIC_H) &amp;&amp; defined (USE_LTDL)
&lt;br&gt;&amp;nbsp; &amp;nbsp;const char *result;
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%2C-libjava%3A-silence-more-warnings-tp26596627p26596627.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26594365</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-01T09:24:29Z</published>
	<updated>2009-12-01T09:24:29Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Let me know if you have any suggestions for debugging this further.
&lt;br&gt;&amp;gt;&amp;gt; Disassemble the first 10 or so instructions at the instruction where the
&lt;br&gt;&amp;gt;&amp;gt; EXC_BAD_ACCESS occurs. &amp;nbsp;I think this is a libffi bug.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Andrew.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;So just to clarify, for the instance of...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; 0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;&amp;gt; 258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;&amp;gt; 46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; 45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I want to disassemble from 0x00000001000485be, right?
&lt;/div&gt;&lt;br&gt;0x0000000103f05db0, where the fault happens. &amp;nbsp;I think it's a libffi stub,
&lt;br&gt;and I think its page permissions are not correctly set.
&lt;br&gt;&lt;br&gt;But let's see.
&lt;br&gt;&lt;br&gt;What I would do is, at
&lt;br&gt;&lt;br&gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&lt;br&gt;disassemble the call instruction, it's probably &amp;nbsp;call ($rax) &amp;nbsp;or somesuch.
&lt;br&gt;look in $rax with
&lt;br&gt;&lt;br&gt;p $rax
&lt;br&gt;&lt;br&gt;and disassemble from the address that's in there.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26594365.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26596235</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-01T09:04:03Z</published>
	<updated>2009-12-01T09:04:03Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jack Howarth wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; &amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; &amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; &amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; &amp;gt; (gdb) 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; &amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; &amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; &amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Let me know if you have any suggestions for debugging this further.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Disassemble the first 10 or so instructions at the instruction where the
&lt;br&gt;&amp;gt; EXC_BAD_ACCESS occurs. &amp;nbsp;I think this is a libffi bug.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Andrew.
&lt;/div&gt;&lt;br&gt;Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp;So just to clarify, for the instance of...
&lt;br&gt;&lt;br&gt;-------------------
&lt;br&gt;&lt;br&gt;(gdb) 
&lt;br&gt;0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;(gdb) 
&lt;br&gt;gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;(gdb) 
&lt;br&gt;45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;(gdb) 
&lt;br&gt;54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;(gdb) 
&lt;br&gt;&lt;br&gt;Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in RowSetEvent.java
&lt;br&gt;(gdb) 
&lt;br&gt;&lt;br&gt;A backtrace only shows...
&lt;br&gt;&lt;br&gt;(gdb) bt
&lt;br&gt;#0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;#1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&lt;br&gt;-----------------
&lt;br&gt;&lt;br&gt;I want to disassemble from 0x00000001000485be, right?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jack
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26596235.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26588965</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-12-01T01:29:36Z</published>
	<updated>2009-12-01T01:29:36Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Jack Howarth wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; 54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;&amp;gt; Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;&amp;gt; 0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; 51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;gt; 	in RowSetEvent.java
&lt;br&gt;&amp;gt; (gdb) 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A backtrace only shows...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; (gdb) bt
&lt;br&gt;&amp;gt; #0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;&amp;gt; #1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;&amp;gt; Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Let me know if you have any suggestions for debugging this further.
&lt;/div&gt;&lt;br&gt;Disassemble the first 10 or so instructions at the instruction where the
&lt;br&gt;EXC_BAD_ACCESS occurs. &amp;nbsp;I think this is a libffi bug.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26588965.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26586714</id>
	<title>Re: [patch] Fix oddity in personality routine</title>
	<published>2009-11-30T21:01:57Z</published>
	<updated>2009-11-30T21:01:57Z</updated>
	<author>
		<name>Jack Howarth-3</name>
	</author>
	<content type="html">Andrew,
&lt;br&gt;&amp;nbsp; &amp;nbsp; I have uploaded a bz2 archive of the walk from the
&lt;br&gt;last _Unwind_RaiseException breakpoint before the crash
&lt;br&gt;up to the crash to PR41991. The crash appears at...
&lt;br&gt;&lt;br&gt;_Jv_GetMethodLocal (klass=0x104a298c0, name=0x104af13a0, signature=0x104b1dfe0) at ../../../gcc-4.5-20091128/libjava/java/lang/natClass.cc:1633
&lt;br&gt;1633		 &amp;nbsp;&amp;&amp; _Jv_equalUtf8Consts (signature, klass-&amp;gt;methods[i].signature))
&lt;br&gt;(gdb) 
&lt;br&gt;_Jv_equalUtf8Consts (a=0x104b1dfe0, b=0x1048262c0) at ../../../gcc-4.5-20091128/libjava/prims.cc:209
&lt;br&gt;209	 &amp;nbsp;if (a == b)
&lt;br&gt;(gdb) 
&lt;br&gt;210	 &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;(gdb) 
&lt;br&gt;209	 &amp;nbsp;if (a == b)
&lt;br&gt;(gdb) 
&lt;br&gt;211	 &amp;nbsp;if (a-&amp;gt;hash != b-&amp;gt;hash)
&lt;br&gt;(gdb) 
&lt;br&gt;212	 &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;(gdb) 
&lt;br&gt;211	 &amp;nbsp;if (a-&amp;gt;hash != b-&amp;gt;hash)
&lt;br&gt;(gdb) 
&lt;br&gt;214	 &amp;nbsp;if (b-&amp;gt;length != len)
&lt;br&gt;(gdb) 
&lt;br&gt;218	 &amp;nbsp;len = (len + 1) &amp;gt;&amp;gt; 1;
&lt;br&gt;(gdb) 
&lt;br&gt;216	 &amp;nbsp;aptr = (const _Jv_ushort *)a-&amp;gt;data;
&lt;br&gt;(gdb) 
&lt;br&gt;217	 &amp;nbsp;bptr = (const _Jv_ushort *)b-&amp;gt;data;
&lt;br&gt;(gdb) 
&lt;br&gt;218	 &amp;nbsp;len = (len + 1) &amp;gt;&amp;gt; 1;
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;220	 &amp;nbsp; &amp;nbsp;if (*aptr++ != *bptr++)
&lt;br&gt;(gdb) 
&lt;br&gt;219	 &amp;nbsp;while (--len &amp;gt;= 0)
&lt;br&gt;(gdb) 
&lt;br&gt;222	 &amp;nbsp;return true;
&lt;br&gt;(gdb) 
&lt;br&gt;223	}
&lt;br&gt;(gdb) 
&lt;br&gt;_Jv_GetMethodLocal (klass=0x104a298c0, name=0x104af13a0, signature=0x104b1dfe0) at ../../../gcc-4.5-20091128/libjava/java/lang/natClass.cc:1632
&lt;br&gt;1632	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_Jv_equalUtf8Consts (name, klass-&amp;gt;methods[i].name)
&lt;br&gt;(gdb) 
&lt;br&gt;1634		return &amp;klass-&amp;gt;methods[i];
&lt;br&gt;(gdb) 
&lt;br&gt;1637	}
&lt;br&gt;(gdb) 
&lt;br&gt;_Jv_LookupDeclaredMethod (klass=0x104a298c0, name=0x104af13a0, signature=0x104b1dfe0, declarer_result=0x0) at ../../../gcc-4.5-20091128/libjava/java/lang/natClass.cc:1648
&lt;br&gt;1648	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (meth)
&lt;br&gt;(gdb) 
&lt;br&gt;1650		 &amp;nbsp;if (declarer_result)
&lt;br&gt;(gdb) 
&lt;br&gt;1657	}
&lt;br&gt;(gdb) 
&lt;br&gt;gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:41
&lt;br&gt;41	 &amp;nbsp;if (meth == NULL)
&lt;br&gt;(gdb) 
&lt;br&gt;37						 &amp;nbsp; &amp;nbsp; &amp;nbsp; main_signature);
&lt;br&gt;(gdb) 
&lt;br&gt;41	 &amp;nbsp;if (meth == NULL)
&lt;br&gt;(gdb) 
&lt;br&gt;43	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isStatic(meth-&amp;gt;accflags))
&lt;br&gt;(gdb) 
&lt;br&gt;_ZN4java4lang7reflect8Modifier8isStaticEJbi (mod=9) at Modifier.java:268
&lt;br&gt;268	 &amp;nbsp; &amp;nbsp;return (mod &amp; STATIC) != 0;
&lt;br&gt;(gdb) 
&lt;br&gt;_ZN4java4lang7reflect8Modifier8isStaticEJbi (mod=9) at Modifier.java:268
&lt;br&gt;268	 &amp;nbsp; &amp;nbsp;return (mod &amp; STATIC) != 0;
&lt;br&gt;(gdb) 
&lt;br&gt;0x0000000100994af0 in dyld_stub__Jv_InitClass () at RowSetEvent.java:51
&lt;br&gt;51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in RowSetEvent.java
&lt;br&gt;(gdb) 
&lt;br&gt;_Jv_InitClass (klass=0x10168ce40) at Class.h:740
&lt;br&gt;740	 &amp;nbsp;if (__builtin_expect (klass-&amp;gt;state == JV_STATE_DONE, true))
&lt;br&gt;(gdb) 
&lt;br&gt;743	}
&lt;br&gt;(gdb) 
&lt;br&gt;0x00000001004168bf in _ZN4java4lang7reflect8Modifier8isStaticEJbi (mod=9) at Modifier.java:268
&lt;br&gt;268	 &amp;nbsp; &amp;nbsp;return (mod &amp; STATIC) != 0;
&lt;br&gt;(gdb) 
&lt;br&gt;gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:44
&lt;br&gt;44	 &amp;nbsp; &amp;nbsp;msg = &amp;quot;`main' must be static&amp;quot;;
&lt;br&gt;(gdb) 
&lt;br&gt;43	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isStatic(meth-&amp;gt;accflags))
&lt;br&gt;(gdb) 
&lt;br&gt;45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;(gdb) 
&lt;br&gt;_ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;(gdb) 
&lt;br&gt;_ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;(gdb) 
&lt;br&gt;0x0000000100994af0 in dyld_stub__Jv_InitClass () at RowSetEvent.java:51
&lt;br&gt;51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in RowSetEvent.java
&lt;br&gt;(gdb) 
&lt;br&gt;_Jv_InitClass (klass=0x10168ce40) at Class.h:740
&lt;br&gt;740	 &amp;nbsp;if (__builtin_expect (klass-&amp;gt;state == JV_STATE_DONE, true))
&lt;br&gt;(gdb) 
&lt;br&gt;743	}
&lt;br&gt;(gdb) 
&lt;br&gt;0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258
&lt;br&gt;258	 &amp;nbsp; &amp;nbsp;return (mod &amp; PUBLIC) != 0;
&lt;br&gt;(gdb) 
&lt;br&gt;gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46
&lt;br&gt;46	 &amp;nbsp; &amp;nbsp;msg = &amp;nbsp;&amp;quot;`main' must be public&amp;quot;;
&lt;br&gt;(gdb) 
&lt;br&gt;45	 &amp;nbsp;else if (! ::java::lang::reflect::Modifier::isPublic(meth-&amp;gt;accflags))
&lt;br&gt;(gdb) 
&lt;br&gt;54	 &amp;nbsp;(*real_main) (args);
&lt;br&gt;(gdb) 
&lt;br&gt;&lt;br&gt;Program received signal EXC_BAD_ACCESS, Could not access memory.
&lt;br&gt;Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0
&lt;br&gt;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;51	RowSetEvent.java: No such file or directory.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in RowSetEvent.java
&lt;br&gt;(gdb) 
&lt;br&gt;&lt;br&gt;A backtrace only shows...
&lt;br&gt;&lt;br&gt;(gdb) bt
&lt;br&gt;#0 &amp;nbsp;0x0000000103f05db0 in ?? () at RowSetEvent.java:51
&lt;br&gt;#1 &amp;nbsp;0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54
&lt;br&gt;Previous frame inner to this frame (gdb could not unwind past this frame)
&lt;br&gt;&lt;br&gt;Let me know if you have any suggestions for debugging this further.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Jack
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-oddity-in-personality-routine-tp26340585p26586714.html" />
</entry>

</feed>
