Thread overview | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
November 24, 2005 An error message from hell! | ||||
---|---|---|---|---|
| ||||
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 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don Clugston | 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 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | 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 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | 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 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don Clugston | 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 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don Clugston | 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 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | 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 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Niko Korhonen | Niko, if you ever get answer to those question, please forward them to me too!! L. |
November 25, 2005 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Niko Korhonen | 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 Re: An error message from hell! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Niko Korhonen | 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!
>
>
|
Copyright © 1999-2021 by the D Language Foundation