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

Fastest way to crash the VC++ compiler

Post by Bekas » Sun Oct 05, 2008 3:55 am

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 :)
0 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

Post by johnhpus » Sun Oct 05, 2008 4:11 am

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

What version btw?
0 x

User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7134
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 2

Post by Kojack » Sun Oct 05, 2008 6:10 am

Just use this line (valid C++):
That's valid c++? What on earth is it supposed to do?
0 x

User avatar
Halifax
Halfling
Posts: 49
Joined: Sun Nov 18, 2007 10:30 pm

Post by Halifax » Sun Oct 05, 2008 7:51 am

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.
0 x

User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
Contact:

Post by Klaim » Sun Oct 05, 2008 12:05 pm

I've encoutered cases where vc9 and vc8 crashes but can't remember how. I think it involved template code.
0 x

Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm

Post by Bekas » Sun Oct 05, 2008 1:04 pm

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.
0 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

Post by johnhpus » Sun Oct 05, 2008 1:08 pm

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.
0 x

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

Post by nullsquared » Sun Oct 05, 2008 1:45 pm

Oh :lol: this is hilarious.

Visual Studio 2008, now with improved download size and better crash rates. Get your copy today!
0 x

User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
Contact:

Post by Klaim » Sun Oct 05, 2008 2:41 pm

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.
0 x

Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm

Post by Bekas » Sun Oct 05, 2008 2:56 pm

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!
}
0 x
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
Contact:

Post by Klaim » Mon Oct 06, 2008 12:17 am

Wow, strange...
0 x

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

Post by nullsquared » Mon Oct 06, 2008 3:30 am

Talk about weird code...

Code: Select all

class _{}(x);main(){_(x)[_];}
Compiles fine under GCC 3.4.1.
0 x

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 » Mon Oct 06, 2008 8:50 am

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
0 x

User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
Contact:

Re: Fastest way to crash the VC++ compiler

Post by PolyVox » Mon Oct 06, 2008 5:46 pm

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...
0 x

User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
Contact:

Post by Klaim » Mon Oct 06, 2008 9:40 pm

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

did you install the VS SP1? i did.
0 x

User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
Contact:

Post by PolyVox » Mon Oct 06, 2008 9:51 pm

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.
0 x

User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
Contact:

Post by Klaim » Mon Oct 06, 2008 11:05 pm

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

But on VS2008 SP1 + XP (and maybe minor updates via Windows Update) it don't...
0 x

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
Contact:

Post by pjcast » Tue Oct 07, 2008 2:33 am

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.
0 x
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

Re: Fastest way to crash the VC++ compiler

Post by Bekas » Tue Oct 07, 2008 2:57 am

Berserker wrote:

Code: Select all

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

Post Reply