[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