Question about Serial.print() when using GSM module

I am using an gsm module based on SIM900 to transmit data via GPRS connection, I use AT commands for HTTP to POST or GET.
Like
AT+HTTPPARA
AT+HTTPACTION
etc.
when the url is short, like www.google.com.hk , and AT+HTTPACTION will repsonse like '200', which is OK, but when the url gets long like "http://xxx.xxx.xxx.xxx/api/2.0/input.php?device=8&token=xxxxxxxxx&decode_msg=time_temperature_CO2&value=2014-10-31+18%3A04%3A05*26.5*0.0",
my arduino will crash and restart from setup method, or just stuck in there and nothing more.

I thought it's GSM modules'problem, I skipt arduino and connect my comp and GSM with a usb console cable. everything is fine.
so I don't know where could be wrong on this. Can anybody help me?

I have a few ideas but I'm not going to speculate wildly before I see your code.

I'm not going to speculate wildly before I see your code.

I don't think it's a matter of wild speculation to guess that OP is running out of memory.