if i use IRremote,Code don't work ,why?

if i use IRremote,and press remote control button,system halted.

remove IRremote code(delete irrecv.enableIRIn();…) ,will work fine.

why?

#include <IRremote.h>

//IRremote Define
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;

//Mode
int Current_Mode = 0;

//LED Pin
const int LED1 =  9;
const int LED2 = 10;
const int LED3 = 11;

//Time
const long LongTime = 1000;
const long ShortTime = 300;

//Led Change data.
unsigned long lastChangeMillis = 0;
unsigned long lastBreathingLightChangeMillis = 0;
int lastLED = -1;


void setup() {
	
	Serial.begin(9600);
	
	irrecv.enableIRIn();
	
	pinMode(LED1,OUTPUT);
	pinMode(LED2,OUTPUT);
	pinMode(LED3,OUTPUT);
	
}


void loop() {
	
	//Receive Data...
	if (irrecv.decode(&results)) {
		
		lastChangeMillis = millis();
		lastBreathingLightChangeMillis = millis();
		lastLED = -1;
		
		Current_Mode = 1;
		
		digitalWrite(LED1,LOW);
		digitalWrite(LED2,LOW);
		digitalWrite(LED3,LOW);

		irrecv.resume();
	}
	
	Serial.println(millis());
	
	ProcessLED();
}


void ProcessLED()
{
	if (Current_Mode == 1)
	{
		BreathingLight2();	
	}
}

void BreathingLight2()
{
	unsigned long v = (millis() - lastChangeMillis) / 8160;

	if (lastLED != v)
	{
		lastBreathingLightChangeMillis = millis();
	}

	unsigned long lv = millis() - lastBreathingLightChangeMillis;
	

	if (v == 0)
	{
		int m = lv / 16;
		
		if (m <= 255)
		{
			analogWrite(LED1,m);
			analogWrite(LED2,m);
			analogWrite(LED3,m);
		}
		
		if (m > 255)
		{
			int s = constrain(511-m,0,255);
			analogWrite(LED1,s);
			analogWrite(LED2,s);
			analogWrite(LED3,s);
		}
		
		Serial.print("M:");
		Serial.println(m);
	}
	else
	{
		lastChangeMillis = millis();
	}

	lastLED = v;
}

Perhaps you could Serial.print() some useful stuff, with identification. Printing the output of millis() seems pretty useless.

anybody know?

Did you try what PaulS suggested? If so what was the output?

if i not press any remote control button,it will ok,show millis number.

but when i press and receive , code not work... Serial stop show millis number.

problem is remove IRremote,code work fine.

but i need use IRremote.