Jump to page: 1 2 3
Thread overview
An error message from hell!
Nov 24, 2005
Don Clugston
Nov 24, 2005
Georg Wrede
Nov 24, 2005
Stefan Zobel
Nov 24, 2005
Don Clugston
Nov 24, 2005
Georg Wrede
Nov 25, 2005
Niko Korhonen
Nov 25, 2005
Lionello Lunesu
Nov 25, 2005
Georg Wrede
Nov 28, 2005
Niko Korhonen
Nov 29, 2005
Georg Wrede
Nov 30, 2005
Don Clugston
Nov 30, 2005
John Reimer
Nov 30, 2005
Sean Kelly
Dec 01, 2005
Niko Korhonen
Dec 01, 2005
Georg Wrede
Nov 26, 2005
clayasaurus
Nov 27, 2005
Thomas Kuehne
Nov 24, 2005
Ivan Senji
Nov 26, 2005
clayasaurus
Nov 27, 2005
Ivan Senji
Nov 27, 2005
Thomas Kuehne
Nov 27, 2005
Ivan Senji
Nov 27, 2005
Thomas Kuehne
Nov 30, 2005
Hasan Aljudy
November 24, 2005
Try compiling this little baby. There's a bug in the code,
but the error message is about five megabytes long!
Brings Windows to its knees.

If you change the second line to const real val=0x1p90, the error message drops to about 100kb long.

I think we need an error for "Compilation Error limit exceeded".
Ideally it would be user-configurable, with a default limit of probably about 100-200 errors.

---------------
template a()
{
  const real val= 0x1p990;
}

template half(alias f)
{
  const real val = f.val/2;
}

template c(alias f)
{
   static if (f.val > 2.0)  const int val = c!( half!(f) ).val;
}

const int m = c!(a!()).val;
--------------------
November 24, 2005
Don Clugston wrote:
> Try compiling this little baby. There's a bug in the code,
> but the error message is about five megabytes long!
> Brings Windows to its knees.

On FC4 Linux I get 2.0MB of errors.

> I think we need an error for "Compilation Error limit exceeded".

Really interesting was that DMD didn't seem to crash. And the error messages looked sane. (991 lines, some of them quite long.)

But it never took Linux to its knees! Business as usual in the other xterm windows.

Changing the command to

time dmd hell.d > /dev/null

gives 4.5s real, 4.2s user, and 0.2s sys, on an 800MHz PIII.

> Ideally it would be user-configurable, with a default limit of probably about 100-200 errors.

Also, running out of resouces (like memory, stack, etc.) might be told to the user. (As it is, DMD seemed to handle the situation already, so the error message would not be too hard to add.)

BTW, Don, is there a way to give an existing program (like DMD) more stack space on Windows?
November 24, 2005
In article <4385C1A1.10607@nospam.org>, Georg Wrede says...

[snip]

>BTW, Don, is there a way to give an existing program (like DMD) more stack space on Windows?

[snip]


You can use Microsofts editbin for that.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_core_editbin_reference.asp

Best regards,
Stefan


November 24, 2005
Georg Wrede wrote:
> Don Clugston wrote:
> 
>> Try compiling this little baby. There's a bug in the code,
>> but the error message is about five megabytes long!
>> Brings Windows to its knees.
> 
> 
> On FC4 Linux I get 2.0MB of errors.

Aargh. You're right, it's not really 5Mb. Don, I've told you a million times not to exaggerate.

>> I think we need an error for "Compilation Error limit exceeded".
> 
> Really interesting was that DMD didn't seem to crash. And the error messages looked sane. (991 lines, some of them quite long.)

Yes, it doesn't crash. It's not even really a bug, as such. It's just not helpful. :-)

> But it never took Linux to its knees! Business as usual in the other xterm windows.

Windows Explorer just locked up until DMD was finished. Might be related to my network settings though. I've noticed XP SP2 is pretty unstable; probably because they restricted MSIE, to try to plug the gaping security hole it causes. But MSIE is deeply embedded in the OS by now.

> Changing the command to
> 
> time dmd hell.d > /dev/null
> 
> gives 4.5s real, 4.2s user, and 0.2s sys, on an 800MHz PIII.
> 
>> Ideally it would be user-configurable, with a default limit of probably about 100-200 errors.
> 
> Also, running out of resouces (like memory, stack, etc.) might be told to the user. (As it is, DMD seemed to handle the situation already, so the error message would not be too hard to add.)

It would be nice.
I've heard that Windows can't detect when an application overflows its stack ??? Certainly when dmd has a stack overflow, you're just dropped back into the command line. No error message, no popup, no indication that anything was wrong.

> BTW, Don, is there a way to give an existing program (like DMD) more stack space on Windows?

Don't know, but I'd like to.
November 24, 2005
Some juicy quotes of the day:

Brings Windows to its knees.

Windows Explorer just locked up until DMD was finished.

Might be related to my network settings though.

I've noticed XP SP2 is pretty unstable.

Probably because they restricted MSIE.

Try to plug the gaping security hole.

MSIE is deeply embedded in the OS by now.

Windows can't detect when an application overflows its stack?

Has a stack overflow, you're just dropped back into
the command line.

No error message, no popup.

No indication that anything was wrong.

---

You're too valuable to waste your time "fighting with the computer"!

Unless your D programs do GUI stuff, I'd suggest you do your programming on Linux.

And you get everything you need right there, instead of buying (good grief) or at least searching and downloading from Microsoft all kinds of utilities that should come right with the OS.

On Linux you'd just do "man ulimit" to get a description on how you can change stack, memory, number of open files, cpu time, etc. -- per run, as opposed to tweaking the executable itself (as per Stefan's excellent post).

Once the app is final, then compile it on Windows. You'd save hours!
November 24, 2005
Don Clugston wrote:
> Try compiling this little baby. There's a bug in the code,
> but the error message is about five megabytes long!

hm, I don't get it.

I tried to compile your code:

build test.d -clean >> output.txt

and output.txt is 15MB!
November 25, 2005
Georg Wrede wrote:
> You're too valuable to waste your time "fighting with the computer"!
> 
> Unless your D programs do GUI stuff, I'd suggest you do your programming on Linux.
> 
> And you get everything you need right there, instead of buying (good grief) or at least searching and downloading from Microsoft all kinds of utilities that should come right with the OS.

So, what distribution should I use? What differences there are? What if the feature I want isn't on the distribution I downloaded randomly? What if the distribution I chose was 'wrong'? How can I find, download and install the utility I want if it wasn't included to begin with? Is it available for all Linux distributions? What kind of different installation schemes there are on Linux? Can I easily know where the program installs itself and is there a control panel for uninstalling them? Can I choose on what directory I want the program to be installed? Why are vast majority of Linux programs made by some guys calling themselves the GNU? I thought they made software for Unix. Are Linux and Unix binary compatible? What's the difference between Linux and Unix? Can I use programs made for AIM Unix on my Red Hat Linux? How do I download and update the GNU compiler suite anyway? Can I just download simple 'replace this file' patches and not have to recompile pretty much everything when I change pretty much anything? Does Linux have 'automatic updates'? Does etc etc etc ...

> On Linux you'd just do "man ulimit" to get a description on how you can change stack, memory, number of open files, cpu time, etc. -- per run, as opposed to tweaking the executable itself (as per Stefan's excellent post).

What if I didn't know the 'ulimit' magic word? What if I tried 'man limit', 'man stack', 'man memory' or 'man number of files'? Where can I get a list of man arguments? And what if I didn't know the 'man' command? What 2-3 letter commands are there on Linux? Are the commands same for all command shells and Linux distributions? What do all of the 2-3 letter commands do? How can I get a list of them? How do I use that 'vi' thing to edit text files anyway? The keyboard commands don't make any sense at all! Why is a text editor called 'vi'? How can I etc etc etc ...

> Once the app is final, then compile it on Windows. You'd save hours!

...after losing years learning all that Unix folklore, that is!


-- 
Niko Korhonen
SW Developer
November 25, 2005
Niko, if you ever get answer to those question, please forward them to me too!!

L.


November 25, 2005
Niko Korhonen wrote:
> Georg Wrede wrote:
> 
>> You're too valuable to waste your time "fighting with the computer"!
>>
>> Unless your D programs do GUI stuff, I'd suggest you do your programming on Linux.
>>
>> And you get everything you need right there, instead of buying (good grief) or at least searching and downloading from Microsoft all kinds of utilities that should come right with the OS.

Niko, I choose to take this as, either a rhetorical barrage of questions, or, ehhhh, the other alternative.

> So, what distribution should I use? What differences there are? What if the feature I want isn't on the distribution I downloaded randomly? What if the distribution I chose was 'wrong'? How can I find, download and install the utility I want if it wasn't included to begin with? Is it available for all Linux distributions? What kind of different installation schemes there are on Linux? Can I easily know where the program installs itself and is there a control panel for uninstalling them? Can I choose on what directory I want the program to be installed? Why are vast majority of Linux programs made by some guys calling themselves the GNU? I thought they made software for Unix. Are Linux and Unix binary compatible? What's the difference between Linux and Unix? Can I use programs made for AIM Unix on my Red Hat Linux? How do I download and update the GNU compiler suite anyway? Can I just download simple 'replace this file' patches and not have to recompile pretty much everything when I change pretty much anything? Does Linux have 'automatic updates'? Does etc etc etc ...
> 
>> On Linux you'd just do "man ulimit" to get a description on how you can change stack, memory, number of open files, cpu time, etc. -- per run, as opposed to tweaking the executable itself (as per Stefan's excellent post).
> 
> What if I didn't know the 'ulimit' magic word? What if I tried 'man limit', 'man stack', 'man memory' or 'man number of files'? Where can I get a list of man arguments? And what if I didn't know the 'man' command? What 2-3 letter commands are there on Linux? Are the commands same for all command shells and Linux distributions? What do all of the 2-3 letter commands do? How can I get a list of them? How do I use that 'vi' thing to edit text files anyway? The keyboard commands don't make any sense at all! Why is a text editor called 'vi'? How can I etc etc etc ...
> 
>> Once the app is final, then compile it on Windows. You'd save hours!
> 
> ...after losing years learning all that Unix folklore, that is!

Do I detect an adverse attitude here?

((((((( I could have actually answered the question, but then, you would have started to ask what the difference in my evaluation of you and Don is. So I decline. )))))))
November 26, 2005
Linux actually requires you to know what you are doing. ;) And google is your friend.

Niko Korhonen wrote:
> Georg Wrede wrote:
> 
>> You're too valuable to waste your time "fighting with the computer"!
>>
>> Unless your D programs do GUI stuff, I'd suggest you do your programming on Linux.
>>
>> And you get everything you need right there, instead of buying (good grief) or at least searching and downloading from Microsoft all kinds of utilities that should come right with the OS.
> 
> 
> So, what distribution should I use? What differences there are? What if the feature I want isn't on the distribution I downloaded randomly? What if the distribution I chose was 'wrong'? How can I find, download and install the utility I want if it wasn't included to begin with? Is it available for all Linux distributions? What kind of different installation schemes there are on Linux? Can I easily know where the program installs itself and is there a control panel for uninstalling them? Can I choose on what directory I want the program to be installed? Why are vast majority of Linux programs made by some guys calling themselves the GNU? I thought they made software for Unix. Are Linux and Unix binary compatible? What's the difference between Linux and Unix? Can I use programs made for AIM Unix on my Red Hat Linux? How do I download and update the GNU compiler suite anyway? Can I just download simple 'replace this file' patches and not have to recompile pretty much everything when I change pretty much anything? Does Linux have 'automatic updates'? Does etc etc etc ...
> 
>> On Linux you'd just do "man ulimit" to get a description on how you can change stack, memory, number of open files, cpu time, etc. -- per run, as opposed to tweaking the executable itself (as per Stefan's excellent post).
> 
> 
> What if I didn't know the 'ulimit' magic word? What if I tried 'man limit', 'man stack', 'man memory' or 'man number of files'? Where can I get a list of man arguments? And what if I didn't know the 'man' command? What 2-3 letter commands are there on Linux? Are the commands same for all command shells and Linux distributions? What do all of the 2-3 letter commands do? How can I get a list of them? How do I use that 'vi' thing to edit text files anyway? The keyboard commands don't make any sense at all! Why is a text editor called 'vi'? How can I etc etc etc ...
> 
>> Once the app is final, then compile it on Windows. You'd save hours!
> 
> 
> ...after losing years learning all that Unix folklore, that is!
> 
> 
« First   ‹ Prev
1 2 3