[mercury-users] Mercury runtime problem on Windows

Julien Fischer juliensf at csse.unimelb.edu.au
Fri Aug 14 15:48:15 AEST 2009

Hi everyone,

On Thu, 13 Aug 2009, Michael Day wrote:

> We're getting occasional instances of the following error from the Mercury 
> runtime on Windows 2003:

Does it occur with other versions of Windows?

> "cannot set SIGSEGV handler: Invalid argument
> Mercury runtime: "
> It doesn't always happen though. This is in a situation where many instances 
> of the same Mercury process are being invoked concurrently.
> Could there be some kind of conflict between processes causing this?
> We've seen a similar error before on other versions of Windows if I recall 
> correctly, but in that case it was repeatable and not transient.

It should be possible to add a new compiler flag that causes the runtime
to be invoked in such a way that it does not attempt to install it's
default set of signal handlers, i.e. those for SIGSEGV and SIGBUS.

When invoking Mercury from C or C++ programs, via the stand-alone
interface mechanism, there are sometimes other things that you want
the runtime to do as well (e.g. avoid mucking about with the standard
file streams).  I'll have a go at coming up with a mechansim for
allowing more control over runtime initialisation in general.

(Michael, a quick-and-dirty workaround here would be to use a version of
the runtime with the call to MR_setup_signals() at runtime/mercury_wrapper.c:533

mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au

More information about the users mailing list