pnkfelix / larceny-test

test import of trac db
Other
2 stars 0 forks source link

Windows DEP (if AlwaysOn or OptOut) breaks Larceny #662

Open larceny-trac-import opened 11 years ago

larceny-trac-import commented 11 years ago

_Reported by: will on Sun Mar 21 11:03:56 2010 _ Data Execution Prevention (DEP) was added to Windows XP with Service Pack 2 (SP2), and is supported by Windows Vista and Windows 7. DEP defaults to OptIn, which is compatible with Larceny.

Setting DEP to OptOut or to AlwaysOn breaks Larceny. With OptOut, the system administrator can list Larceny as an exception, but that's a pain. With AlwaysOn, Larceny just won't work.

To fix this, Larceny must be rewritten to call VirtualAlloc instead of malloc. That's a major rewrite.

The rewrite is complicated by the fact that the specific calls to VirtualAlloc are not supported by Windows XP without SP2 or by previous versions of Windows. Hence the calls must be sensitive to the operating system version (including whether SP2 has been installed), or else we'll have to have two separate versions of Larceny for Windows.

larceny-trac-import commented 11 years ago

Author: will Kevin McLarnon wrote a fix that works when DEP is set to OptOut. See changeset [6657].

Changing Larceny to work with DEP set to AlwaysOn would involve a major rewrite.