@miconda To answer a few other questions:
1. I always set `$http_req(suspend) = 1` on async HTTP client transactions;
2. There are no `event_routes` anywhere;
3. The flow is complex, though. After this async HTTP query, there is another _synchronous_ HTTP query using the normal `http_client` module + `mqueue` + `rtimer` -- it was implemented this way because of some problems with transaction-persistent variables (ironically) when suspending the same TM transaction twice, and a desire for more granular control over the request pipelines given the high and somewhat unpredictable latency of what's being queried.
Nevertheless, all this takes place long after the crash point.