Fastest way to crash the VC++ compiler

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
Post Reply
Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm
x 1

Fastest way to crash the VC++ compiler

Post by Bekas »

Just use this line (valid C++):

Code: Select all

class {} (x);
And the shortest "crasher":

Code: Select all

class{}(
Just 8 characters. I challenge you to crash VC++ with less than 8 chars :)
MOGRE (Managed OGRE) - Advanced .NET wrapper for Ogre
User avatar
johnhpus
Platinum Sponsor
Platinum Sponsor
Posts: 1186
Joined: Sat Apr 17, 2004 2:49 am
x 3

Post by johnhpus »

I guess you mean the compiler has an error, or?

What version btw?
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Post by Kojack »

Just use this line (valid C++):
That's valid c++? What on earth is it supposed to do?
User avatar
Halifax
Halfling
Posts: 49
Joined: Sun Nov 18, 2007 10:30 pm

Post by Halifax »

Kojack wrote:
Just use this line (valid C++):
That's valid c++? What on earth is it supposed to do?
I'm guessing it's synonymous with the valid C++ declaration for a structure of size 0, and it defines an instance named 'x'. I really don't know what it's meant for, but I know GCC supports it. At least that's what I remember reading somewhere.
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Post by Klaim »

I've encoutered cases where vc9 and vc8 crashes but can't remember how. I think it involved template code.
Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm
x 1

Post by Bekas »

johnhpus wrote:I guess you mean the compiler has an error, or?

What version btw?
Crashes as in when you try to compile a "Microsoft (R) C/C++ Optimizing Compiler has encountered a problem and needs to close. We are sorry for the inconvenience." window pops up.

Tested on 7.1, 8, and 9 versions.
Kojack wrote:
Just use this line (valid C++):
That's valid c++? What on earth is it supposed to do?
Declares a variable 'x' with anonymous type 'class {}'. It's similar to this:

Code: Select all

struct { int a; } x;
But with redundant parentheses around x.
MOGRE (Managed OGRE) - Advanced .NET wrapper for Ogre
User avatar
johnhpus
Platinum Sponsor
Platinum Sponsor
Posts: 1186
Joined: Sat Apr 17, 2004 2:49 am
x 3

Post by johnhpus »

Well that's something. I've had internal compiler errors before but never even heard of code crashing the entire application. That's quite a find.
User avatar
nullsquared
Old One
Posts: 3245
Joined: Tue Apr 24, 2007 8:23 pm
Location: NY, NY, USA
x 11

Post by nullsquared »

Oh :lol: this is hilarious.

Visual Studio 2008, now with improved download size and better crash rates. Get your copy today!
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Post by Klaim »

johnhpus> It only crashes the compiler execution, so if you're using visual studio it don't crash all the ide, only interrupt the code compilation.
Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm
x 1

Post by Bekas »

And while we are on the subject, does anybody have any GCC "crashers" ?

This is not a crasher but here's a weird behavior from GCC:

Code: Select all

void f() {
  typedef int SomeType;
  int (x)[SomeType];  // no error from GCC!
}
MOGRE (Managed OGRE) - Advanced .NET wrapper for Ogre
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Post by Klaim »

Wow, strange...
User avatar
nullsquared
Old One
Posts: 3245
Joined: Tue Apr 24, 2007 8:23 pm
Location: NY, NY, USA
x 11

Post by nullsquared »

Talk about weird code...

Code: Select all

class _{}(x);main(){_(x)[_];}
Compiles fine under GCC 3.4.1.
User avatar
Berserker
Kobold
Posts: 25
Joined: Sat May 01, 2004 3:41 pm

Re: Fastest way to crash the VC++ compiler

Post by Berserker »

Bekas wrote:Just 8 characters. I challenge you to crash VC++ with less than 8 chars :)

Code: Select all

enum{}(
I won :D :D :D



P.S.: tested on VC2005/VC2008
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Re: Fastest way to crash the VC++ compiler

Post by PolyVox »

Berserker wrote:
Bekas wrote:Just 8 characters. I challenge you to crash VC++ with less than 8 chars :)

Code: Select all

enum{}(
I won :D :D :D

P.S.: tested on VC2005/VC2008
Confirmed :D This thread is genius...
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Post by Klaim »

Err....i don't understand...it don't crash here...

did you install the VS SP1? i did.
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

Klaim wrote:Err....i don't understand...it don't crash here...

did you install the VS SP1? i did.
I'm on VS2005, with SP1 and the Vista patch. I created a Win32 console app, put in that line of code, and got an internal compiler error. The IDE survived, though.
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Post by Klaim »

Ah yes, VS2005 SP1 + XP here and it crases :)

But on VS2008 SP1 + XP (and maybe minor updates via Windows Update) it don't...
User avatar
pjcast
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 2543
Joined: Fri Oct 24, 2003 2:53 am
Location: San Diego, Ca
x 2
Contact:

Post by pjcast »

I don't have anyways to crash the compiler. But crashing the Form Designer is pretty easy with CLI/C++.. at least from what I've seen.

* Method 1: Have a nested enum in a C# assembly UserControl also used as a property of that Control. Caused a Designer out of memory exception while trying to load the control in designer when the control used in a CLI WinForm class.

* Method 2: open a CLI Winform class in the designer, than edit the .h file. Designer will crash on that form until you restart visual studio.
Have a question about Input? Video? WGE? Come on over... http://www.wreckedgames.com/forum/
Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm
x 1

Re: Fastest way to crash the VC++ compiler

Post by Bekas »

Berserker wrote:

Code: Select all

enum{}(
I won :D :D :D
Yey! We have a winner! :)
MOGRE (Managed OGRE) - Advanced .NET wrapper for Ogre
Post Reply