And this details the commits that contain what is believed to be the fix.

----- Forwarded message from Edward Nevill <[email protected]> -----

Date: Thu, 18 Sep 2014 07:46:49 +0100
From: Edward Nevill <[email protected]>
To: Matthias Klose <[email protected]>
Cc: Wookey <[email protected]>, [email protected]
Subject: Re: Fw: Re: Fw: Re: openjdk-7 build failure on juno
X-Spam-Status: No, score=-2.6 required=4.5 tests=AWL,BAYES_00, 
RCVD_IN_DNSWL_LOW autolearn=ham
        version=3.3.2

Hi,

aph added the changes in a number of commits between Sep 09 and Sep 10
to the jdk8 tree.

The following are the relevant changesets

6791:cdba257ca1e7
6789:5f7c46ba5f04
6788:63104abf5948
6787:a97d9870ab4f

These were then merged into the jdk7u tree on Sep 11 with the
changeset 6793:116bc9da35de

This was then tagged as jdk7u60_b04_aarch64_834 in changeset 6794:9580ebccfdc3

I would suggest using 6794:9580ebccfdc3. It contains only bugs fixes
over the revision you are currently using (778cb4032983).

All the best, Ed.

On 18/09/2014, Matthias Klose <[email protected]> wrote:
> Hi guys,
>
> would be nice to CC me, not just forward me something to avoid some
> speculation.
>
> The Ubuntu build uses the aarch64 hotspot directly, revision 778cb4032983.
>
> However I think that Ed references a97d9870ab4f? Or some other revision?
>
>   Matthias
>
> Am 18.09.2014 um 01:29 schrieb Wookey:
>> Looks like this is probably the root of the openjdk segfault on
>> juno/A57 issue (subject to test confirmation).
>>
>> I guess I should file a bug about this to record the details.
>>
>> ----- Forwarded message from Edward Nevill <[email protected]>
>> -----
>>
>> Date: Thu, 18 Sep 2014 00:16:58 +0100
>> From: Edward Nevill <[email protected]>
>> To: Wookey <[email protected]>
>> Cc: Edmund Grimley-Evans <[email protected]>
>> Subject: Re: Fw: Re: openjdk-7 build failure on juno
>> X-Spam-Status: No, score=-2.6 required=4.5 tests=AWL,BAYES_00,
>> RCVD_IN_DNSWL_LOW autolearn=ham
>>      version=3.3.2
>>
>> Hi,
>>
>> OK. Looking at Edmund's description of the problem I believe this is
>> due to a problem with ISBs.
>>
>> The problem is that when the JIT patches up code on the fly it does
>>
>> - flush dcache
>> - invalidate icache
>>
>> on the patched region (with appropriate memory barriers).
>>
>> The problem is that on ARMv8 this is not sufficient. Every core that
>> might execute the code that has just been patched must do an ISB, not
>> just the core that is doing the patching.
>>
>> So essentially the core that is doing the patching must force all
>> other cores to do an ISB. The only practical way to do this is to
>> force all other threads within the process to do an ISB.
>>
>> The reason this does not happen on Mustang is that the ICache is more
>> coherent on Mustang than on A57. I had thought that the additional ISB
>> was unnecessary on Mustang, but Edmund says he has seen the problem
>> once on Mustang.
>>
>> So, the good news is that a patch to fix this has been pushed to the
>> aarch64 jdk7 hotspot tip
>>
>> http://hg.openjdk.java.net/aarch64-port/jdk7u/hotspot
>>
>> However, you are building from IcedTea which does not use this.
>> Instead it uses a snapshot tarball of the hotspot tree. This is why
>> you could not find the gcc.make, because it is wrapped up in the
>> hotspot tarball.
>>
>> There is a file hotspot.map in the top level of the IcedTea build
>> which, for each architecture, points to the hotspot tarball for that
>> arch.
>>
>> So, what need to happen is a new hotspot tarball needs to be created
>> from the repository above and then the entry in the hotspot.map
>> replaced with the new entry allong with the appropriate SHA256SUM.
>>
>> If you let me know what version of IcedTea you are using I can create
>> the revised tarball tomorrow.
>>
>> I *think* this should fix the problem.
>>
>> If this is the problem then just using taskset 01 on the whole build
>> should make the problem go away albeit very slowly.
>>
>> All the best,
>> Ed.
>>
>>
>> On 17/09/2014, Wookey <[email protected]> wrote:
>>> some more info from other-Ed. Edmund - keep Ed Nevil cc:ed on this as
>>> he might some idea what to poke.
>>>
>>> ----- Forwarded message from Edmund Grimley Evans
>>> <[email protected]> -----
>>>
>>> Date: Wed, 17 Sep 2014 15:25:05 +0100
>>> From: Edmund Grimley Evans <[email protected]>
>>> To: Wookey <[email protected]>
>>> Subject: Re: debian-ports
>>> X-Spam-Status: No, score=-2.6 required=4.5 tests=BAYES_00,FREEMAIL_FROM,
>>> RCVD_IN_DNSWL_LOW,T_DKIM_INVALID
>>>     autolearn=ham version=3.3.2
>>>
>>> Some updates:
>>>
>>> A good way to copy the ginormous build tree is with: tar cf - dir |
>>> ssh host 'cd somewhere && tar xf -'
>>>
>>> (It took me a little while to understand that the argument to ssh is
>>> not really what I call a "command" but some strings that get handed to
>>> the shell!)
>>>
>>> I copied the mustang's successful build tree to the juno, and the
>>> juno's unsuccessful build tree to the mustang.
>>>
>>> On the mustang, with either tree, the command I quoted early nearly
>>> always runs in less than 10 seconds and works. However - and this is
>>> interesting - I did see it fail on one occasion in a very similar way
>>> to how it fails on the juno.
>>>
>>> On the juno, with either tree, the command usually fails, but
>>> sometimes works, and, I happened to notice, it worked a lot more
>>> frequently while I was copying the other build tree across. Sometimes
>>> it runs for more than an hour. I've never seen it run for less than
>>> 2.5 minutes, but in that particular case it succeeded in 2.5 minutes.
>>>
>>> You can make the command run successfully on the juno, in just 40 s,
>>> every time I tried it, by the simple device of using taskset 0x10
>>> (making the program use just one core).
>>>
>>> So it appears to be a threading/lock issue. I would guess that either
>>> the program is using the wrong kind of threading/lock primitive, or
>>> the threading/locking is broken.
>>>
>>> This is definitely worth investigating. It could be that the issue
>>> that is causing the openjdk-7 build to fail almost every time is also
>>> causing intermittent problems with other programs.
>>>
>>> Can you pass this news onto anyone who might be interested?
>>>
>>> Edmund
>>>
>>> ----- End forwarded message -----
>>> Wookey
>>> --
>>> Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
>>> http://wookware.org/
>>>
>>
>> ----- End forwarded message -----
>> Wookey
>>
>
>

----- End forwarded message -----
Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to