[m-dev.] Bug on 32bit systems.

Julien Fischer jfischer at opturion.com
Fri Jan 4 14:01:20 AEDT 2013


Hi Paul,

On Fri, Jan 4, 2013 at 1:53 PM, Paul Bone <paul at bone.id.au> wrote:

> Both Julien and Zolten have independently told me about a bug that affects
> 32bit systems.  Does this bug also affect the release version?

Yes; the problem I encountered was with one of the 12.08-betas.

> Mission Critical have asked me to find/prepare a version of Mercury that
> they can use and could be considered stable.  I would like to use the 12.08
> version (once it's released) and this bug probably needs fixing before it is
> released.

Agreed.

> What clues do we have WRT finding and fixing the bug?  Is there any
> progress?

The issue I encountered was in one of the test cases for the CPLEX interface
in the G12 platform.  The actual symptom was an internal error within CPLEX,
however the difference between getting a version that works with Mercury 12.08
and one that doesn't seems to relate to how the Mercury compiler was built:

If I build and install directly from the source distribution I get the
internal error
in CPLEX.  That is, if a build and install Mercury as follows:

    (1) Unpack source distribution.
    (2) ./configure --prefix=/where/ever
--enable-libgrades=asm_fast.gc,hlc.gc,hlc.gc.trseg
    (3) make install

However, if I build a bootstrap as above and then rebuild everything
from the source on the
same system, then everything is fine.

I've compiled versions of G12 with both the broken and working compilers -- this
is all in grade hlc.gc.trseg -- and the C files we generate for G12
are identical for
both compilers.  As are the C files that both Mercury compilers generate for the
standard library.
Both Mercury compilers are invoking the C compiler identically.

BTW, this was all on Windows 7 -- I haven't yet tried reproducing the problem
on another OS.

Cheers,
Julien.



More information about the developers mailing list