> I have run into something in GHC that looks
> like a bug (GHC 6.0.1 under Win2k). A DLL with several exported
> FFI functions reports (and then terminates):
> 
> ghcDll: internal error: schedule: invalid what_next field
>     Please report this as a bug to [EMAIL PROTECTED],
>     or http://www.sourceforge.net/projects/ghc/
> 
> What is really strange: I get this error ONLY when I run my
> application (C++ code which loads the DLL dynamically) under MS
> Visual Studio 6 in Debug Mode. When I run the same executable
> from shell/command prompt, then everything works. Also, when I
> compile the DLL with GHC version 5.x, I can run the application
> from Visual Studio 6 without problems. So this seems to be 
> GHC 6.x specific.
> 
> Not 100% sure, but looks like I get this error on a first call to
> any FFI function. Unfortunately the application is rather large but
> I could try to simplify it. I had this problem also with GHC 6.0.0.
> Any ideas?

Just wondering: are you using the DLL wrapper code that comes with
H/Direct?  (it looks like it from the error message - ghcDll is what
that wrapper uses as the dummy binary name).

If you're using H/Direct, then there are one or two bugs in the DLL
support that I believe have been fixed recently.  In particular,
DllCanUnloadNow() was bogusly returning S_OK all the time, which could
lead to the crash you mention above.  Change DllCanUnloadNow to
consistently return E_FAIL to work around it, or grab new H/Direct
sources from CVS.

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to