[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] Re: libevent-2.0.8-rc/evdns.c:2672: Assertion (req)->handle && (req)->handle->current_req == (req) failed in evdns_cancel_request



On Thu, Nov 4, 2010 at 9:10 PM, Nick Mathewson <nickm@xxxxxxxxxxxxx> wrote:
> Assuming that it now crashes in a different place from where it used
> to crash -- that is, at ASSERT_VALID_REQUEST in evdns_cancel, I've got
> an updated patch, attached below. ÂThird time is maybe the charm.

Yeah, it seems to work now with regard to resolve_ipv4 requests but
still crashes when getaddrinfo is involved:

[err] /home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/evdns.c:4183:
Assertion req->type == DNS_IPv4_A || req->type == DNS_IPv6_AAAA failed
in evdns_getaddrinfo_gotresolve

#1  0x004d2651 in *__GI_raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <value optimized out>
        pid = 6283252
        selftid = 29955
#2  0x004d5a82 in *__GI_abort () at abort.c:92
        act = {__sigaction_handler = {sa_handler = 0x517ecd
<*__GI___libc_free+109>, sa_sigaction = 0x517ecd
<*__GI___libc_free+109>}, sa_mask = {
            __val = {0, 5996665, 14475252, 143980780, 3218782728,
14466774, 144719192, 1662964, 3218782744, 134908410, 3077489644,
3077249996,
              3218782744, 3218782672, 3077249996, 3077489644, 0,
14475252, 136822960, 0, 3218782776, 14460347, 3077267500, 3077489644,
              3218782840, 1335772, 3077489644, 3077489644, 0,
14460298, 14475252, 143915824}}, sa_flags = -1076184456, sa_restorer =
    0xdcacef <g_switch+159>}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#3  0x0017a105 in event_exit (errcode=-559030611) at
/home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/log.c:79
No locals.
#4  0x0017a137 in event_errx (eval=-559030611, fmt=0x190d44 "%s:%d:
Assertion %s failed in %s")
    at /home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/log.c:136
No locals.
#5  0x00188a96 in evdns_getaddrinfo_gotresolve (result=0, type=3
'\003', count=1, ttl=10000, addresses=0x8a0391c, arg=0x8a02eb8)
    at /home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/evdns.c:4243
        i = <value optimized out>
        other_req = 0x89bf79c
        data = 0x5ff3f8
        res = <value optimized out>
        sin = {sin_family = 41592, sin_port = 22, sin_addr = {s_addr =
6288320}, sin_zero = "\000\000\000\000\001\000\000"}
        sin6 = {sin6_family = 24564, sin6_port = 25, sin6_flowinfo =
3077143660, sin6_addr = {__in6_u = {
              __u6_addr8 =
"\350\273Ú\273\256\025\000\000\000\000\000\017\000\000", __u6_addr16 =
{48104, 49114, 44731, 21, 0, 0, 15, 0},
              __u6_addr32 = {3218783208, 1420987, 0, 15}}}, sin6_scope_id = 0}
        sa = <value optimized out>
        socklen = -1076184216
        addrlen = 1662964
        addrp = 0x80fdeb8
        err = 0
        __func__ = "evdns_getaddrinfo_gotresolve"
#6  0x00183d3b in reply_run_callback (d=0x8a038e8, user_pointer=0x6)
at /home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/evdns.c:757
        __func__ = "reply_run_callback"
#7  0x0016f491 in event_process_deferred_callbacks (base=0x89b2610,
flags=<value optimized out>)
    at /home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/event.c:1326
        count = 0
        cb = 0x8a038e8
#8  event_process_active (base=0x89b2610, flags=<value optimized out>)
at /home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/event.c:1365
        i = 0
        c = 0
#9  event_base_loop (base=0x89b2610, flags=<value optimized out>) at
/home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/event.c:1550
        evsel = 0x195e40
        tv = {tv_sec = 0, tv_usec = 152}
        tv_p = <value optimized out>
        res = <value optimized out>
        retval = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        __func__ = "event_base_loop"
#10 0x0016fbd5 in event_base_dispatch (event_base=0x89b2610) at
/home/denis/src/libevent-all/libevent-2.0.8-rc-patch2/event.c:1381
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.