DMD 2.055 Crashing on Windows 7 x64 (So is my D program)

Steven Schveighoffer schveiguy at yahoo.com
Mon Sep 26 15:41:13 PDT 2011


On Mon, 26 Sep 2011 18:36:16 -0400, Mehrdad <wfunction at hotmail.com> wrote:

> On 9/26/2011 2:58 PM, Steven Schveighoffer wrote:
>> This is likely a DMC issue, and is probably best reported as a DMC  
>> bug.  I don't know how much more you want to pursue this, but the next  
>> steps I'd recommend are:
>>
>> 1. obtain the dmc compiler (it's free) if you haven't already.
>> 2. Compile an empty C program and run it using SciTE and Notepad++.   
>> Verify the same error occurs
>> 3. report the failure using DMC's bugzilla.
>>
>> I'm guessing there's something in the way SciTE or Notepad++ sets up  
>> the pipes before executing the process which causes the problem.  I  
>> have a sinking feeling we'll see more of this issue when the new  
>> std.process is released :(
>>
>> -Steve
> OK, I think I found the bug, and I'm pretty sure it's what I was saying  
> originally:
>
> A handle is being closed that isn't actually valid.
>
> Which handle? stderr.  stderr is being closed when in fact it is the  
> same handle as stdout. So when _fcloseallp() is called, it goes through  
> the structures in __iob and closes each one in turn -- which causes a  
> duplicate close operation on stderr, because it already gets closed when  
> stdout gets closed.
>
> So it's an snn.lib issue. Is it easy to fix? (I hope it is...)

Probably -- let the OS close the handles instead of manually closing them  
:)

-Steve


More information about the Digitalmars-d mailing list