Mailinglist Archive: opensuse-arm (29 mails)

< Previous Next >
Re: [opensuse-arm] ARM status

On 28.11.2011, at 11:01, Alexander Graf wrote:


On 28.11.2011, at 11:25, Adrian Schröter <adrian@xxxxxxx> wrote:

Am Montag, 28. November 2011, 10:11:21 schrieb Alexander Graf:
On 28.11.2011, at 11:06, Adrian Schröter wrote:
Am Sonntag, 27. November 2011, 20:35:26 schrieb Alexander Graf:
...
Thanks to Alex, the crashes when using exceptions are gone. Also gcj is
not directly crashing anymore when building ecj-bootstrap.
Unfortunatly it just hangs in an endless loop now. So we still don't
have a working java stack. This is the major reason for the last ~ 1000
unresolvable (aka unbuildable) packages.
If someone could dig into that it would be great ...

The problem is QEMU related. Building those packages on native hardware
works. Could we maybe try and build them on real hw + inject them somehow
for now so that we have _something_ to work with? I have to look at the
QEMU breakage nevertheless but it's definitely not easy.

Yes, I could inject ecj-bootstrap from the non-qemu build, but so far this
package has not yet compiled there either.

When you have a manual build from somewhere I could of course use this one.

Well, I don't think just ecj-bootstrap will be enough. It looks like things
break every time code gets JITed inside the guest - mono breaks the same way.
I'll give it a try though and create an rpm. So far I've only executed the
offending commands in the build chroot from native and emulated and saw them
work on native hardware.

After lots of blood and sweat I finally managed to track the issue down. It's
our old friend, boehm-gc! Apparently boehm-gc wants to send signals between
threads while setting SA_RESTART on that signal. Unfortunately, because QEMU
passes this flag to the actual host signal handler description, we never get
around to execute the signal if we're waiting in a syscall. The second thread
is waiting for the signal handler to be run though, so we're in a classical
deadlock.

I managed to work around that with a few hacks here and there in QEMU and now
managed to successfully build boehm-gc 7.1 (texlive-bin!) and ecj-bootstrap.
The updated QEMU is already checked in and running on OBS. So once it OBS gets
to the point where it wants to run Java code, we'll hopefully have something
that actually works :).

Keep your fingers crossed!


Alex

--
To unsubscribe, e-mail: opensuse-arm+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-arm+owner@xxxxxxxxxxxx

< Previous Next >
List Navigation
Follow Ups