Thread overview
RDMD is broken on Windows7
Jul 19, 2011
Andrej Mitrovic
Jul 19, 2011
Vladimir Panteleev
Jul 19, 2011
Trass3r
Jul 20, 2011
Vladimir Panteleev
Jul 19, 2011
Trass3r
Jul 20, 2011
Kagamin
Jul 20, 2011
simendsjo
Jul 21, 2011
Kagamin
July 19, 2011
In DMD 2.054 RDMD is broken. It crashes on any file, and this only came to my attention after simendsjo started reporting that he can't build neither gtkD nor my DWindowsProgramming project.

It works fine on XP, but on Win7 it just crashes with any piece of code:

http://i.imgur.com/X9s9y.png
July 19, 2011
On Wed, 20 Jul 2011 02:05:03 +0300, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:

> In DMD 2.054 RDMD is broken. It crashes on any file, and this only
> came to my attention after simendsjo started reporting that he can't
> build neither gtkD nor my DWindowsProgramming project.
>
> It works fine on XP, but on Win7 it just crashes with any piece of code:
>
> http://i.imgur.com/X9s9y.png

See here: http://comments.gmane.org/gmane.comp.lang.d.dmd.beta/788

-- 
Best regards,
 Vladimir                            mailto:vladimir@thecybershadow.net
July 19, 2011
Yep. See thread 'gtkD doesn't compile on windows' in D.learn.

"
>> If I compile rdmd (with my patch, haven't tried the original) without
>> -g, it crashes when trying to compile anything...

> Does this also happen if you compile it with -g and then run cv2pdb on it?

I cannot compile anything without first compiling rdmd with -g.
Compiling rdmd with -g and running cv2pdb on it works.

It fails on the return statement in getDependencies.
It never gets to the line after getDependencies in main.
"
July 19, 2011
> See here: http://comments.gmane.org/gmane.comp.lang.d.dmd.beta/788

Well Walter states that adding printf's would make it work.
But I think simendsjo added printfs and it still crashed.
July 20, 2011
On Wed, 20 Jul 2011 02:10:42 +0300, Trass3r <un@known.com> wrote:

>> See here: http://comments.gmane.org/gmane.comp.lang.d.dmd.beta/788
>
> Well Walter states that adding printf's would make it work.
> But I think simendsjo added printfs and it still crashed.

Well, I reduced the crash to an exception thrown inside the constructor of a temporary (see bug report[1]), but I didn't notice the fragility (heisenbug traits) that Walter described. While they MIGHT be different bugs, they definitely share something related to destruction of temporaries.

 [1]: http://d.puremagic.com/issues/show_bug.cgi?id=6308

-- 
Best regards,
 Vladimir                            mailto:vladimir@thecybershadow.net
July 20, 2011
Trass3r Wrote:

> Yep. See thread 'gtkD doesn't compile on windows' in D.learn.
> 
> "
> >> If I compile rdmd (with my patch, haven't tried the original) without -g, it crashes when trying to compile anything...
> 
> > Does this also happen if you compile it with -g and then run cv2pdb on it?
> 
> I cannot compile anything without first compiling rdmd with -g. Compiling rdmd with -g and running cv2pdb on it works.
> 
> It fails on the return statement in getDependencies.
> It never gets to the line after getDependencies in main.

May be, it's an exception while getting symbols? Try to disable strack trace generation.
July 20, 2011
On 20.07.2011 11:52, Kagamin wrote:
> Trass3r Wrote:
>
>> Yep. See thread 'gtkD doesn't compile on windows' in D.learn.
>>
>> "
>>>> If I compile rdmd (with my patch, haven't tried the original) without
>>>> -g, it crashes when trying to compile anything...
>>
>>> Does this also happen if you compile it with -g and then run cv2pdb on
>>> it?
>>
>> I cannot compile anything without first compiling rdmd with -g.
>> Compiling rdmd with -g and running cv2pdb on it works.
>>
>> It fails on the return statement in getDependencies.
>> It never gets to the line after getDependencies in main.
>
> May be, it's an exception while getting symbols? Try to disable strack trace generation.

Not sure I understand what you mean.. Isn't stack trace enabled with -g?
July 21, 2011
simendsjo Wrote:

> > May be, it's an exception while getting symbols? Try to disable strack trace generation.
> 
> Not sure I understand what you mean.. Isn't stack trace enabled with -g?

It's enabled. Try to disable it at runtime: set stack trace handler to null. The more features are enabled the more bugs trigger.