Background woes : not very helpful message.

Hi,

Really struggling with something that "works unless..."

I have narrowed it down to after my makeWebRequest call in a background ServiceDelegate (yes, this is a WF).

I have done exhaustive .println() everywhere and I can confirm that everything is as I would expect up until the bug.

EG: I have something like this:

(:background)
class ServiceManagerDelegate extends System.ServiceDelegate {
    function onTemporalEvent() {
    	var comms = new Dostuff();
    	var responseCallback = method(:onReceive);  // set responseCallback to onReceive() method
    	var callData = Storage.getValue("nextCall");
    	comms.doIt(responseCallback,callData);
    }
	function onReceive(responseCode,data) {
		var response = {"type"=>"onTemporalEvent"};
		if(responseCode != 200) {
			response["error"] = responseCode;
		} else {
			response["data"] = data;
		}
		Background.exit(response);
	}
}
/////////////
(:background)
class Dostuff {
 	function initialize() { 	}
    function doIt(callback,details) {
 		var cb = callback;
		System.println("NEXT CALL "+details);
		var identifier = details[0];
		var url = details[1];
		var payload = details[2];
		var isPost = details[3];
		var options =  {
		  	:method => isPost ? Communications.HTTP_REQUEST_METHOD_POST : Communications.HTTP_REQUEST_METHOD_GET,
		   	:responseType => Communications.HTTP_RESPONSE_CONTENT_TYPE_JSON,
		};
		System.println("URL: "+ url);
		System.println("PAYLOAD IS: "+payload);
		System.println(payload == null);
		System.println("POST: "+isPost);
		System.println("OPTIONS: "+options);
		Communications.makeWebRequest(url, payload, options, cb);
    }
 }

If I set Storage "nextCall" at the very beginning and leave it, everything is fine. It all works.

But...

As soon as I change the "nextCall" value in Storage I see:

Error: Symbol Not Found Error
Details: Failed invoking <symbol>
Stack: 

Yep, that really is everything - no line number, no clues.

This happens a few seconds after my makeWebRequest so it looks as if it is the method(:receiveCallback) that is failing.

So... 

Has garbage collector cleaned up my callback or something? 

This one is horrid.

G