Here's an example trace of the above. Note that this one occurred when not creating a new connection pool so that may be a red herring/unrelated race:

HTTP client request:

PUT ... HTTP/1.1
User-Agent: vibe.d/0.7.25 (HTTPClient, +http://vibed.org/)
Connection: keep-alive
Accept-Encoding: gzip, deflate
Host: localhost
Content-Type: application/json
Content-Length: 3783

evbufferadd (fd 32): 235 B
evbuffer
add (fd 32): 3783 B
buffereventflush
HTTP client reading status line
leastSize waiting for new data.
Socket event on fd 35: 17 (156EE58 vs 156EE58)
Connection was closed (fd 35).
resuming corresponding task...
2015-09-28 01:09:08: scope(exit) after remove
connection
2015-09-28 01:09:08: removeconnection test1: start
2015-09-28 01:09:08: remove
connection test1: found client
2015-09-28 01:09:08: Room 2: Removed client 'test1', ID 1073741844 (0 connections total)
2015-09-28 01:09:08: localhost: Sending room data to login server (20 rooms)
returning HTTPClient connection 1 of 19
TCP close request true passiveClose
resuming corresponding task...
Segmentation fault (core dumped)