Hi Adrian,

Ср 15 ноя 2017 @ 08:06 Adrian Bunk <[email protected]>:
> On Wed, Nov 15, 2017 at 12:55:12AM +0500, Lev Lamberov wrote:
>>...
>> The most strange thing is that 7.6.1-1 built successfully on mips. The
>> only difference between 7.6.1-1 and 7.6.1-2 is that java tests (only
>> tests) are disabled now (via debian/rules).
>
> 7.3.33+dfsg-1 failed the same way a year ago:
> https://buildd.debian.org/status/logs.php?pkg=swi-prolog&arch=mips
>
> I would not rule out that this might be an old bug causing random build
> failures, that either just happened twice in the row or became more
> likely due to some change somewhere.

In the past there were some wierd build problems from time to time. You
can find logs and build history in usual place. These build problems
were unreproducible and were typically resolved with rebuilding. Not
that time.

>> Note that the 7.6.1-2
>> version builds successfully on mipsel and mips64el (little-endian), but
>> fails on mips (big-endian).
>
>> The similar problem occures on powerpc [1][2], which also works in
>> big-endian mode:
>>...
>
> Same randomness on powerpcspe, and both have it already with 7.6.1+dfsg-1:
> https://buildd.debian.org/status/logs.php?pkg=swi-prolog&arch=powerpc
> https://buildd.debian.org/status/logs.php?pkg=swi-prolog&arch=powerpcspe

True. And as I can see powerpcspe also works in big-endian mode.

I've informed upstream about the issue. Their answer is as follows:

> Interesting. I doubt this is due to big/little endian. The main issue
> seems to be weaker read/write ordering constraints that break our
> lock-free data structures, resulting in more or less random bugs. A
> number of the tests stress these parts of the system.  The test_cgc
> is one of them, while I'm pretty sure there are no endian issues in
> that code.
>
> Keri and I did a lot of stress-testing and code reviewing for this after
> we discovered this was the reason for a crash on ARM. The same problem
> easily reproduced on powerpc. After the fixes for 7.6.1, a couple of
> runs of the test suite passed ok on powerpc. I only ran many iterations
> for tests that causes problems before.

Upstream will try to run these stress tests on powerpc and mips again,
but they claim that they were not able to reproduce some issues with
these tests in 7.6.1. Guess the issue may be related to Debian build
environment. At least, I cannot think of any other reason that 7.6.1-1
was built successfully on mips and 7.6.1-2 failed, where the only one
change is disabling Java tests (due to CVE-2017-1000364). I've uploaded
7.6.1-2 on the next day after 7.6.1-1 upload.

Cheers!
Lev

Reply via email to