[m-rev.] Failure to build Mercury rotd-2025-08-20 and rotd-2025-08-21
Volker Wysk
post at volker-wysk.de
Tue Aug 26 03:12:06 AEST 2025
Am Montag, dem 25.08.2025 um 18:13 +0200 schrieb Zoltan Somogyi:
>
>
> On Mon, 25 Aug 2025 17:44:12 +0200, Volker Wysk <post at volker-wysk.de>
> wrote:
> > PS: I've deleted and unpacked the sources again, applied the patch,
> > called
> > configure (where $ROTD = "mercury-srcdist-rotd-2025-08-21"):
> >
> > ./configure --host=i686-pc-linux-gnu \
> > --enable-mm-grades \
> > --disable-java-grade \
> > --disable-csharp-grade \
> > --prefix=/usr/local/lib/$ROTD \
> > 2>&1 | tee /usr/local/sw/mercury/configure.log
> >
> > and then called:
> >
> > time make 2>&1| tee /usr/local/sw/mercury/make.log
> >
> > Cheers,
> > V.W.
> >
> >
> > Am Montag, dem 25.08.2025 um 17:38 +0200 schrieb Volker Wysk:
> > > Hi
> > >
> > > I've been happy too soon. The first pass of the compiler finishes
> > > without
> > > problems now. But in the "make" stage of the second pass, the compiler
> > > crashes with "*** Mercury runtime: caught segmentation violation ***".
>
> Sorry, I do not fully understand this report.
>
> First, what do you call the "first pass" and "second pass"?
With the first pass I mean the bootstrapping of the compiler and the second
one uses that to generate a faster compiler.
> Second, in the file you attached, that report about a SIGSEGV in the
> Mercury
> runtime comes immediately after an invocation of the standard Unix
> utility sed, NOT of the Mercury compiler. In general, if you want people
> to understand your bug reports, don't make their jobs harder by including
> logs from a make that uses -j, because this obscures the connection
> between error messages and the programs that generate them.
Okay, I'll remember that.
I've started from scratch again, without any "-j..." option. But not
including the bootstrapping (which seemed to work). I've called the "make"
stage like this:
ulimit -s unlimited
time make GRADE=asm_fast.gc.stseg 2>&1| tee /usr/local/sw/mercury/make.log
(hope I've gotten that right).
But now I've gotten lots of other errors. Do I have to do the bootstrapping
(first pass) again?
It's getting late here in central Europe. I'll look after it tomorrow.
> The context of the following error messages from make suggests
> that the SIGSEGV came from the Mercury compiler invocation that
> now generates part of the Mercury user guide (the file called
> doc/ug_invocation.texi). The code in the compiler that generates
> that file does do some deep recursion, so a too-small stack size limit
> may explain the crash. You can increase the limit, or switch to using
> asm_fast.gc.stseg.
>
> By the way, my bootstrap check succeeded, so I don't think I can
> reproduce this issue.
Cheers,
Volker
More information about the reviews
mailing list