Skip to content

GHC generated DLL does not work on Windows XP/Server 2003

When loading a DLL generated with the Haskell Platform 2012.2.0.0 into a C++ client, the client hangs on Windows XP/Server 2003 in a Windows NT kernel function:

ntoskrnl.exe!IoIs32bitProcess+0x25
ntoskrnl.exe!FsRtlAddBaseMcbEntry+0x82
ntoskrnl.exe!FsRtlInsertPerStreamContext+0x48e
ntoskrnl.exe!_snwprintf+0x1c
ntoskrnl.exe!KeInitializeQueue+0x3b
ntoskrnl.exe!KeDelayExecutionThread+0x1c7
ntoskrnl.exe!FsRtlInsertPerStreamContext+0x48e
ntoskrnl.exe!SePrivilegeObjectAuditAlarm+0x240f
ntoskrnl.exe!MmFreeContiguousMemory+0x90d
wow64cpu.dll+0x42d9
wow64cpu.dll+0x40e5
wow64.dll+0x6a5a
wow64.dll+0x97f4
wow64.dll+0x9886
wow64cpu.dll+0x3980
wow64win.dll+0x6fe0
ntdll.dll+0x1c846
ntdll.dll+0x57f16
kernel32.dll+0x751f2
EU_561_2006_12_12.dll+0xc7bbc 

(The stack trace was created with Process Explorer. The last frame was created by our DLL.)

The same DLL works fine on newer Windows versions.

The problem does not occur when building the DLL with the Haskell Platform 2011.4.0.0.

Trac metadata
Trac field Value
Version 7.4.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Build System
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information