walch.martin@web.de wrote:
when trying to run polyml 4.2.0 on Linux, I get a segmentation fault. I am trying to run this old version, because I want to use Isabelle (http://isabelle.in.tum.de/ seems to be down currently). On that website, a precompiled binary is available. However, it's crashing on startup with a SIGSEGV. So I downloaded the source code of polyml 4.2.0, extracted driver.420.tar.gz, ran configure and make and tried to run poly. But also in this version I get a segmentation fault.
when removing MAP_PRIVATE from the flags, it seems to work. I am not really in the code. Maybe you can tell me: will I run into trouble, when using this as a fix?
Martin, Problems like these were one of the big motivating factors behind the changes that were made in Poly/ML version 5. Version 4 and earlier required the database to be mapped at a specified address otherwise it would not work. This was fine except that changes to the kernel could mean that the address range was already in use for something else, such as shared libraries.
Isabelle has worked with version 5 for some time and I would strongly advise you to use that version if you can. You may be able to get version 4.2 to work by changing the mapping address in addresses.h and running "poly -d" (the database garbage collector) to remap the database. You may find it easier to use an older kernel which may lay out memory differently. I don't know why removing MAP_PRIVATE works. You really need to include this flag otherwise changes to references will be written back to the database even if you don't commit.
Regards, David.