FreeRTOS, idle hook and gcc

nobody wrote on Saturday, September 02, 2006:

my second task:
    xTaskCreate( vxTask, "vxTask", /*comSTACK_SIZE*/64+18+32, NULL, uxPriority + comRX_RELATIVE_PRIORITY, NULL );

static void vxTask( void *pvParameters )
{
    (void) pvParameters;

    while (1) {       
        AT91C_BASE_PIOA->PIO_CODR = LED4;
        vTaskDelay(( portTickType ) 500/*ms*/);
        AT91C_BASE_PIOA->PIO_SODR = LED4;
        vTaskDelay(( portTickType ) 500/*ms*/);
        //kprintf("abc\n");
    }
}

when I comment vTaskDelay system does not crash with -O0 and idle hook turned on!!!

what is going on???!!!!!!!