[fedora-java] rawhide issues
Andrew Haley
aph at redhat.com
Mon Dec 19 15:57:02 UTC 2005
Andrew Haley writes:
> Andrew Haley writes:
> > Andrew Haley writes:
> > > Anthony Green writes:
> > > > I see the following issues with rawhide (on x86) right now...
> > > >
> > > > * I'm not getting any stack traces, just <<No stacktrace available>>
> > > >
> > > >
> > > > * Eclipse fails and the log contains the following errors (with no
> > > > stacktraces):
> > > >
> > > > java.lang.IllegalAccessError: org.xml.sax.helpers.NamespaceSupport$Context: org.xml.sax.helpers.NamespaceSupport.EMPTY_ENUMERATION
> > > >
> > > > java.lang.Exception: Cannot initialize Update Configurator
> > > >
> > > > java.lang.IllegalStateException: Bundle initial at reference:file:plugins/org.eclipse.core.runtime_3.1.1.jar/ [1] is not active.
> > > >
> > > >
> > > > * aot-compile-rpm is using -mcpu=i686, but -mcpu is deprecated in GCC 4.1. I can't see where this comes from.
> > > >
> > > >
> > > > Any ideas?
> > >
> > > gcc is emitting bad unwinder data for some routines. This isn't a bug
> > > in the gcc unwinder itself, because gdb has the same problems. Look
> > > at Frame 7 and Frame 9:
> >
> > BTW, I don't have this problem when building gcc from FSF sources.
>
> You'll have to make your window hugely wide to read this mail.
>
> Here's the difference. On the left, we have gcc version 4.1.0 20051212 (prerelease),
> on the right we have gcc version 4.1.0 20051214 (Red Hat 4.1.0-0.9)
>
> The one on the right is the one that works.
>
> You'll note that the bad one uses three push instructions and then
> sets CFA offset to 12. This is wrong AFAICS: the original CFA offset
> at function entry is 4, so if you push three registers, the CFA offset
> should be 16. The code on the right subtracts 12 from sp --
> allocating three words -- and then sets CFA offset to 16. This one is
> correct, and we get a Java stacktrace.
>
> Both built on the same box. However, the 4.1 build was
> i686-pc-linux-gnu, and the RPM build was i386-pc-linux-gnu. I'm
> guessing that is the *real* difference, and I'm investigating building
> 4.1 branch with host=i386-pc-linux-gnu.
And here is 4.1 branch built with i386-pc-linux-gnu. And guess what!
It's just as bad as the Fedora RPM. OK, so I'm now going to go
digging into the DWARF output routines to see if I can discover the
root cause of this insanity.
Andrew.
00a326a8 <java.lang.Throwable.Throwable(java.lang.String)>:
a326a8: 56 push %esi
a326a9: 53 push %ebx
a326aa: 50 push %eax
a326ab: e8 00 00 00 00 call a326b0 <java.lang.Throwable.Throwable(java.lang.String)+0x8>
a326b0: 5b pop %ebx
a326b1: 81 c3 34 ee 6a 00 add $0x6aee34,%ebx
a326b7: 8b 74 24 10 mov 0x10(%esp),%esi
a326bb: 89 34 24 mov %esi,(%esp)
a326be: e8 7d f6 dd ff call 811d40 <java.lang.Object.Object()@plt>
a326c3: 89 34 24 mov %esi,(%esp)
a326c6: e8 a5 8a dc ff call 7fb170 <java.lang.Throwable.finit$()@plt>
a326cb: 8b 06 mov (%esi),%eax
a326cd: 89 34 24 mov %esi,(%esp)
a326d0: ff 50 3c call *0x3c(%eax)
a326d3: 8b 44 24 14 mov 0x14(%esp),%eax
a326d7: 89 46 04 mov %eax,0x4(%esi)
a326da: 5e pop %esi
a326db: 5b pop %ebx
a326dc: 5e pop %esi
a326dd: c3 ret
a326de: 89 f6 mov %esi,%esi
00058d50 0000001c 00032528 FDE cie=0002682c pc=00a326a8..00a326de
Augmentation data: 00 00 00 00
DW_CFA_advance_loc: 1 to 00a326a9
DW_CFA_def_cfa_offset: 8
DW_CFA_advance_loc: 1 to 00a326aa
DW_CFA_def_cfa_offset: 12
DW_CFA_offset: r3 at cfa-12
DW_CFA_offset: r6 at cfa-8
00058d50 0000001c 00032528 FDE cie=0002682c pc=00a326a8..00a326de
LOC CFA r3 r6 ra
00a326a8 r4+4 u u c-4
00a326a9 r4+8 u u c-4
00a326aa r4+12 c-12 c-8 c-4
More information about the fedora-devel-java-list
mailing list