On 28.11.2011, at 11:01, Alexander Graf wrote:
On 28.11.2011, at 11:25, Adrian Schröter <adrian@suse.de> 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@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org