{"push_id":1035495896,"size":10,"distinct_size":10,"ref":"refs/heads/master","head":"d02a2858fa9010d6e69966587dd6d74adc300be5","before":"dbff101b59bdb29df4b410bac017aa4e4db7293f","commits":[{"sha":"334340da51dcfe51bc6cc049983a0e6eb4c0ed0f","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"test/http: request cancellation with resolving/{conn,write}-timeouts in progress\n\nThis patch adds 8 new tests:\n- http/cancel\n- http/cancel_by_host\n- http/cancel_by_host_no_ns\n- http/cancel_by_host_inactive_server\n- http/cancel_inactive_server\n- http/cancel_by_host_no_ns_inactive_server\n- http/cancel_by_host_server_timeout\n- http/cancel_server_timeout\n- http/cancel_by_host_no_ns_server_timeout\n\nThis patches not 100% for http layer, but more for be_sock, but it was simpler\nto add them here, plus it also shows some bugs with fd leaking in http layer.\n\nRight now we have next picture (we can also play with timeouts/attempts for\nevdns to make tests fail, IOW to track the failures even without valgrind):\n$ valgrind --leak-check=full --show-reachable=yes --track-fds=yes --error-exitcode=1 regress --no-fork http/cancel..\nhttp/cancel: OK\nhttp/cancel_by_host: OK\nhttp/cancel_by_host_no_ns: [msg] Nameserver 127.0.0.1:42489 has failed: request timed out.\n[msg] All nameservers have failed\nOK\nhttp/cancel_by_host_inactive_server: OK\nhttp/cancel_inactive_server: OK\nhttp/cancel_by_host_no_ns_inactive_server: [msg] Nameserver 127.0.0.1:51370 has failed: request timed out.\n[msg] All nameservers have failed\nOK\nhttp/cancel_by_host_server_timeout: OK\nhttp/cancel_server_timeout: OK\nhttp/cancel_by_host_no_ns_server_timeout: [msg] Nameserver 127.0.0.1:45054 has failed: request timed out.\n[msg] All nameservers have failed\nOK\n9 tests ok.  (0 skipped)\n==3202==\n==3202== FILE DESCRIPTORS: 2309 open at exit.\n...\n==8403== HEAP SUMMARY:\n==8403==     in use at exit: 1,104 bytes in 5 blocks\n==8403==   total heap usage: 10,916 allocs, 10,911 frees, 1,458,818 bytes allocated\n==8403==\n==8403== 40 bytes in 1 blocks are indirectly lost in loss record 1 of 5\n==8403==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==8403==    by 0x4AAD2D: event_mm_calloc_ (event.c:3459)\n==8403==    by 0x498E48: evbuffer_add_cb (buffer.c:3309)\n==8403==    by 0x4A0DE2: bufferevent_socket_new (bufferevent_sock.c:366)\n==8403==    by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)\n==8403==    by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)\n==8403==    by 0x460CFC: http_cancel_test (regress_http.c:1413)\n==8403==    by 0x490965: testcase_run_bare_ (tinytest.c:105)\n==8403==    by 0x490C47: testcase_run_one (tinytest.c:252)\n==8403==    by 0x491586: tinytest_main (tinytest.c:434)\n==8403==    by 0x47DFCD: main (regress_main.c:461)\n==8403==\n==8403== 136 bytes in 1 blocks are indirectly lost in loss record 2 of 5\n==8403==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==8403==    by 0x4AAD2D: event_mm_calloc_ (event.c:3459)\n==8403==    by 0x491EDD: evbuffer_new (buffer.c:365)\n==8403==    by 0x49A0AB: bufferevent_init_common_ (bufferevent.c:300)\n==8403==    by 0x4A0D31: bufferevent_socket_new (bufferevent_sock.c:353)\n==8403==    by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)\n==8403==    by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)\n==8403==    by 0x460CFC: http_cancel_test (regress_http.c:1413)\n==8403==    by 0x490965: testcase_run_bare_ (tinytest.c:105)\n==8403==    by 0x490C47: testcase_run_one (tinytest.c:252)\n==8403==    by 0x491586: tinytest_main (tinytest.c:434)\n==8403==    by 0x47DFCD: main (regress_main.c:461)\n==8403==\n==8403== 136 bytes in 1 blocks are indirectly lost in loss record 3 of 5\n==8403==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==8403==    by 0x4AAD2D: event_mm_calloc_ (event.c:3459)\n==8403==    by 0x491EDD: evbuffer_new (buffer.c:365)\n==8403==    by 0x49A0E8: bufferevent_init_common_ (bufferevent.c:305)\n==8403==    by 0x4A0D31: bufferevent_socket_new (bufferevent_sock.c:353)\n==8403==    by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)\n==8403==    by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)\n==8403==    by 0x460CFC: http_cancel_test (regress_http.c:1413)\n==8403==    by 0x490965: testcase_run_bare_ (tinytest.c:105)\n==8403==    by 0x490C47: testcase_run_one (tinytest.c:252)\n==8403==    by 0x491586: tinytest_main (tinytest.c:434)\n==8403==    by 0x47DFCD: main (regress_main.c:461)\n==8403==\n==8403== 528 bytes in 1 blocks are indirectly lost in loss record 4 of 5\n==8403==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==8403==    by 0x4AAD2D: event_mm_calloc_ (event.c:3459)\n==8403==    by 0x4A0D02: bufferevent_socket_new (bufferevent_sock.c:350)\n==8403==    by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)\n==8403==    by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)\n==8403==    by 0x460CFC: http_cancel_test (regress_http.c:1413)\n==8403==    by 0x490965: testcase_run_bare_ (tinytest.c:105)\n==8403==    by 0x490C47: testcase_run_one (tinytest.c:252)\n==8403==    by 0x491586: tinytest_main (tinytest.c:434)\n==8403==    by 0x47DFCD: main (regress_main.c:461)\n==8403==\n==8403== 1,104 (264 direct, 840 indirect) bytes in 1 blocks are definitely lost in loss record 5 of 5\n==8403==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==8403==    by 0x4AAD2D: event_mm_calloc_ (event.c:3459)\n==8403==    by 0x4D0326: evdns_getaddrinfo (evdns.c:4682)\n==8403==    by 0x4B1213: evutil_getaddrinfo_async_ (evutil.c:1568)\n==8403==    by 0x4A1255: bufferevent_socket_connect_hostname (bufferevent_sock.c:517)\n==8403==    by 0x4C00B6: evhttp_connection_connect_ (http.c:2582)\n==8403==    by 0x4C02B8: evhttp_make_request (http.c:2637)\n==8403==    by 0x4614EC: http_cancel_test (regress_http.c:1496)\n==8403==    by 0x490965: testcase_run_bare_ (tinytest.c:105)\n==8403==    by 0x490C47: testcase_run_one (tinytest.c:252)\n==8403==    by 0x491586: tinytest_main (tinytest.c:434)\n==8403==    by 0x47DFCD: main (regress_main.c:461)\n==8403==\n==8403== LEAK SUMMARY:\n==8403==    definitely lost: 264 bytes in 1 blocks\n==8403==    indirectly lost: 840 bytes in 4 blocks\n==8403==      possibly lost: 0 bytes in 0 blocks\n==8403==    still reachable: 0 bytes in 0 blocks\n==8403==         suppressed: 0 bytes in 0 blocks","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/334340da51dcfe51bc6cc049983a0e6eb4c0ed0f"},{"sha":"8cbe65d5f44246ad3f7ab408d22e797e5b9e5b81","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"evdns: export cancel via callbacks in util (like async lib core/extra issues)","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/8cbe65d5f44246ad3f7ab408d22e797e5b9e5b81"},{"sha":"86dfd2ced1985ba7b2a2d4f48f2dc5d7a07ce0ab","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"be_sock: cancel in-progress dns requests\n\nBefore this patch we didn't have such functionality and this can cause some\nissues when we are cancelling HTTP request while after this we will get a\nresponse/timeout from the NS and in this case error_cb will be called and can\ndamage newly started HTTP request.\nWe could also have problems with connect, but we don't have them since we\ncloses the fd in HTTP layer.\n\nThis is not so good that this is done in be_sock, but it is internal, so we can\nchange without pain. Plus I don't like that callback-via-evutil, but since we\nhave event_extra we need do like that.\n\nAnd after this patch the following tests doesn't report leaks:\n$ valgrind --leak-check=full --show-reachable=yes --track-fds=yes --error-exitcode=1 regress --no-fork http/cancel..\n...\n==10469== FILE DESCRIPTORS: 2309 open at exit.\n...\n==10469== HEAP SUMMARY:\n==10469==     in use at exit: 0 bytes in 0 blocks\n==10469==   total heap usage: 33,846 allocs, 33,846 frees, 4,617,651 bytes allocated\n==10469==\n==10469== All heap blocks were freed -- no leaks are possible\n\nv2: do under lock\nv3: reset dns request\nv4: ignore EVUTIL_EAI_CANCEL in regular callback","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/86dfd2ced1985ba7b2a2d4f48f2dc5d7a07ce0ab"},{"sha":"4a53c54bf7ad66dbe879ee3c4f04daf264430fc2","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"http: get fd from be layer during connection reset\n\nSince it can be non -1, and we must close it, otherwise we will have problems.\n\nAnd after this patch the following tests report fd 2307 instead of 2309 fd leaks:\n$ valgrind --leak-check=full --show-reachable=yes --track-fds=yes --error-exitcode=1 regress --no-fork http/cancel..\n==10853== FILE DESCRIPTORS: 2307 open at exit.","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/4a53c54bf7ad66dbe879ee3c4f04daf264430fc2"},{"sha":"f0e13411795203c6a160dfc8d8f0fcb1913905ff","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"http: avoid leaking of fd in evhttp_connection_free()\n\nSince we do close fd there if we don't have BEV_OPT_CLOSE_ON_FREE, and\nevcon->fd can be incorrect (non -1), so just get it from the underlying\nbufferevent to fix this.\n\nAnd after this patch the following tests report 0 instead of 2307 fd leaks:\n$ valgrind --leak-check=full --show-reachable=yes --track-fds=yes --error-exitcode=1 regress --no-fork http/cancel..\n==11299== FILE DESCRIPTORS: 3 open at exit.\n\nAnd this is stdin/stderr/stdout.","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/f0e13411795203c6a160dfc8d8f0fcb1913905ff"},{"sha":"0c343afea98a6ab6c55aa3ddf5d69d41ff83ba8a","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"test/http: cover NS timed out during request cancellations separatelly","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/0c343afea98a6ab6c55aa3ddf5d69d41ff83ba8a"},{"sha":"7a4b472925df0a3b96492b8e6347177b1c60e8ad","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"http: set fd to -1 unconditioally, to avoid leaking of DNS requests\n\nOtherwise:\nhttp/cancel_by_host_ns_timeout_inactive_server: [msg] Nameserver 127.0.0.1:37035 has failed: request timed out.\n[msg] All nameservers have failed\nOK\n1 tests ok.  (0 skipped)\n==26211==\n==26211== FILE DESCRIPTORS: 3 open at exit.\n==26211== Open file descriptor 2: /dev/pts/47\n==26211==    <inherited from parent>\n==26211==\n==26211== Open file descriptor 1: /dev/pts/47\n==26211==    <inherited from parent>\n==26211==\n==26211== Open file descriptor 0: /dev/pts/47\n==26211==    <inherited from parent>\n==26211==\n==26211==\n==26211== HEAP SUMMARY:\n==26211==     in use at exit: 1,112 bytes in 5 blocks\n==26211==   total heap usage: 149 allocs, 144 frees, 18,826 bytes allocated\n==26211==\n==26211== 40 bytes in 1 blocks are indirectly lost in loss record 1 of 5\n==26211==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==26211==    by 0x4AAEB2: event_mm_calloc_ (event.c:3459)\n==26211==    by 0x498F5B: evbuffer_add_cb (buffer.c:3309)\n==26211==    by 0x4A0EF5: bufferevent_socket_new (bufferevent_sock.c:366)\n==26211==    by 0x4BFADF: evhttp_connection_base_bufferevent_new (http.c:2375)\n==26211==    by 0x4BFC8F: evhttp_connection_base_new (http.c:2427)\n==26211==    by 0x460DAA: http_cancel_test (regress_http.c:1417)\n==26211==    by 0x490A78: testcase_run_bare_ (tinytest.c:105)\n==26211==    by 0x490D5A: testcase_run_one (tinytest.c:252)\n==26211==    by 0x491699: tinytest_main (tinytest.c:434)\n==26211==    by 0x47E0E0: main (regress_main.c:461)\n==26211==\n==26211== 136 bytes in 1 blocks are indirectly lost in loss record 2 of 5\n==26211==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==26211==    by 0x4AAEB2: event_mm_calloc_ (event.c:3459)\n==26211==    by 0x491FF0: evbuffer_new (buffer.c:365)\n==26211==    by 0x49A1BE: bufferevent_init_common_ (bufferevent.c:300)\n==26211==    by 0x4A0E44: bufferevent_socket_new (bufferevent_sock.c:353)\n==26211==    by 0x4BFADF: evhttp_connection_base_bufferevent_new (http.c:2375)\n==26211==    by 0x4BFC8F: evhttp_connection_base_new (http.c:2427)\n==26211==    by 0x460DAA: http_cancel_test (regress_http.c:1417)\n==26211==    by 0x490A78: testcase_run_bare_ (tinytest.c:105)\n==26211==    by 0x490D5A: testcase_run_one (tinytest.c:252)\n==26211==    by 0x491699: tinytest_main (tinytest.c:434)\n==26211==    by 0x47E0E0: main (regress_main.c:461)\n==26211==\n==26211== 136 bytes in 1 blocks are indirectly lost in loss record 3 of 5\n==26211==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==26211==    by 0x4AAEB2: event_mm_calloc_ (event.c:3459)\n==26211==    by 0x491FF0: evbuffer_new (buffer.c:365)\n==26211==    by 0x49A1FB: bufferevent_init_common_ (bufferevent.c:305)\n==26211==    by 0x4A0E44: bufferevent_socket_new (bufferevent_sock.c:353)\n==26211==    by 0x4BFADF: evhttp_connection_base_bufferevent_new (http.c:2375)\n==26211==    by 0x4BFC8F: evhttp_connection_base_new (http.c:2427)\n==26211==    by 0x460DAA: http_cancel_test (regress_http.c:1417)\n==26211==    by 0x490A78: testcase_run_bare_ (tinytest.c:105)\n==26211==    by 0x490D5A: testcase_run_one (tinytest.c:252)\n==26211==    by 0x491699: tinytest_main (tinytest.c:434)\n==26211==    by 0x47E0E0: main (regress_main.c:461)\n==26211==\n==26211== 536 bytes in 1 blocks are indirectly lost in loss record 4 of 5\n==26211==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==26211==    by 0x4AAEB2: event_mm_calloc_ (event.c:3459)\n==26211==    by 0x4A0E15: bufferevent_socket_new (bufferevent_sock.c:350)\n==26211==    by 0x4BFADF: evhttp_connection_base_bufferevent_new (http.c:2375)\n==26211==    by 0x4BFC8F: evhttp_connection_base_new (http.c:2427)\n==26211==    by 0x460DAA: http_cancel_test (regress_http.c:1417)\n==26211==    by 0x490A78: testcase_run_bare_ (tinytest.c:105)\n==26211==    by 0x490D5A: testcase_run_one (tinytest.c:252)\n==26211==    by 0x491699: tinytest_main (tinytest.c:434)\n==26211==    by 0x47E0E0: main (regress_main.c:461)\n==26211==\n==26211== 1,112 (264 direct, 848 indirect) bytes in 1 blocks are definitely lost in loss record 5 of 5\n==26211==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==26211==    by 0x4AAEB2: event_mm_calloc_ (event.c:3459)\n==26211==    by 0x4D0564: evdns_getaddrinfo (evdns.c:4685)\n==26211==    by 0x4B13BA: evutil_getaddrinfo_async_ (evutil.c:1575)\n==26211==    by 0x4A139E: bufferevent_socket_connect_hostname (bufferevent_sock.c:524)\n==26211==    by 0x4C02DB: evhttp_connection_connect_ (http.c:2588)\n==26211==    by 0x4C04DD: evhttp_make_request (http.c:2643)\n==26211==    by 0x4615FF: http_cancel_test (regress_http.c:1504)\n==26211==    by 0x490A78: testcase_run_bare_ (tinytest.c:105)\n==26211==    by 0x490D5A: testcase_run_one (tinytest.c:252)\n==26211==    by 0x491699: tinytest_main (tinytest.c:434)\n==26211==    by 0x47E0E0: main (regress_main.c:461)\n==26211==\n==26211== LEAK SUMMARY:\n==26211==    definitely lost: 264 bytes in 1 blocks\n==26211==    indirectly lost: 848 bytes in 4 blocks\n==26211==      possibly lost: 0 bytes in 0 blocks\n==26211==    still reachable: 0 bytes in 0 blocks\n==26211==         suppressed: 0 bytes in 0 blocks","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/7a4b472925df0a3b96492b8e6347177b1c60e8ad"},{"sha":"5830e331e17dc16dfa191484561f5b3abf1d55ba","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"Merge branch 'bufev-cancellations-v5'\n\nThis patch set fixes bufferevent via http request cancellations (connect() and\ndns-request), it survives tests and cancel.. with --no-fork, so this must be ok\n(though I have one patch for dns layer pending).\nBut I'm not sure about cancel.. unit tests on win32, will fix disable them\nlater if they will differs (plus maybe we must make them skip-by-default?).\n\nFixes: #333\n\n* bufev-cancellations-v5:\n  http: set fd to -1 unconditioally, to avoid leaking of DNS requests\n  test/http: cover NS timed out during request cancellations separatelly\n  http: avoid leaking of fd in evhttp_connection_free()\n  http: get fd from be layer during connection reset\n  be_sock: cancel in-progress dns requests\n  evdns: export cancel via callbacks in util (like async lib core/extra issues)\n  test/http: request cancellation with resolving/{conn,write}-timeouts in progress","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/5830e331e17dc16dfa191484561f5b3abf1d55ba"},{"sha":"4db15e09a9579a5d1df7748900fdb00f01a2fbe4","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"evdns: avoid double-free in evdns_base_free() for probing requests\n\nhttp/cancel_by_host_no_ns:\n    OK ../test/regress_http.c:1384: assert(regress_dnsserver(data->base, &portnum, search_table))\n    OK ../test/regress_http.c:1387: assert(dns_base)\n    OK ../test/regress_http.c:1423: assert(evcon)\n         OK ../test/regress_http.c:1444: assert(evhttp_make_request(evcon, req, EVHTTP_REQ_GET, \"/delay\") != -1): 0 vs -1\n         OK ../test/regress_http.c:1455: assert(test_ok == 2): 2 vs 2\n         OK ../test/regress_http.c:1480: assert(evhttp_make_request(evcon, req, EVHTTP_REQ_GET, \"/test\") != -1): 0 vs -1[msg] Nameserver 127.0.0.1:55948 has failed: request timed out.\n[msg] All nameservers have failed\n\n    OK ../test/regress_http.c:1274: assert(!req)\n         OK ../test/regress_http.c:1505: assert(evhttp_make_request(evcon, req, EVHTTP_REQ_GET, \"/test\") != -1): 0 vs -1\n    OK ../test/regress_http.c:1274: assert(!req)==19199== Invalid read of size 8\n==19199==    at 0x4CC285: evdns_cancel_request (evdns.c:2849)\n==19199==    by 0x4CEDB2: evdns_nameserver_free (evdns.c:4018)\n==19199==    by 0x4CEF5B: evdns_base_free_and_unlock (evdns.c:4052)\n==19199==    by 0x4CF13B: evdns_base_free (evdns.c:4088)\n==19199==    by 0x4617A3: http_cancel_test (regress_http.c:1518)\n==19199==    by 0x490A78: testcase_run_bare_ (tinytest.c:105)\n==19199==    by 0x490D5A: testcase_run_one (tinytest.c:252)\n==19199==    by 0x491699: tinytest_main (tinytest.c:434)\n==19199==    by 0x47E0E0: main (regress_main.c:461)\n==19199==  Address 0x61e56d0 is 0 bytes inside a block of size 48 free'd\n==19199==    at 0x4C2AE6B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==19199==    by 0x4AAFFF: event_mm_free_ (event.c:3516)\n==19199==    by 0x4C5ADD: request_finished (evdns.c:693)\n==19199==    by 0x4CEE95: evdns_base_free_and_unlock (evdns.c:4040)\n==19199==    by 0x4CF13B: evdns_base_free (evdns.c:4088)\n==19199==    by 0x4617A3: http_cancel_test (regress_http.c:1518)\n==19199==    by 0x490A78: testcase_run_bare_ (tinytest.c:105)\n==19199==    by 0x490D5A: testcase_run_one (tinytest.c:252)\n==19199==    by 0x491699: tinytest_main (tinytest.c:434)\n==19199==    by 0x47E0E0: main (regress_main.c:461)\n==19199==  Block was alloc'd at\n==19199==    at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n==19199==    by 0x4AAEB2: event_mm_calloc_ (event.c:3459)\n==19199==    by 0x4CAAA2: nameserver_send_probe (evdns.c:2327)\n==19199==    by 0x4C50FF: nameserver_prod_callback (evdns.c:494)\n==19199==    by 0x4A564C: event_process_active_single_queue (event.c:1646)\n==19199==    by 0x4A5B95: event_process_active (event.c:1738)\n==19199==    by 0x4A6296: event_base_loop (event.c:1961)\n==19199==    by 0x4A5C1D: event_base_dispatch (event.c:1772)\n==19199==    by 0x46172C: http_cancel_test (regress_http.c:1507)\n==19199==    by 0x490A78: testcase_run_bare_ (tinytest.c:105)\n==19199==    by 0x490D5A: testcase_run_one (tinytest.c:252)\n==19199==    by 0x491699: tinytest_main (tinytest.c:434)\n==19199==","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/4db15e09a9579a5d1df7748900fdb00f01a2fbe4"},{"sha":"d02a2858fa9010d6e69966587dd6d74adc300be5","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"test/http: adopt for C90 (mixed code and declarations)","distinct":true,"url":"https://api.github.com/repos/jimjag/libevent/commits/d02a2858fa9010d6e69966587dd6d74adc300be5"}]}