Ticket #401 (closed segfault: fixed)
Segfault while dnsing irc.choopa.net
| Reported by: | bryan | Owned by: | bryan |
|---|---|---|---|
| Priority: | blocker | Milestone: | 1.2.15 |
| Component: | dns | Version: | 1.2.14 |
| Keywords: | Cc: |
Description (last modified by bryan) (diff)
.gdb-backtrace:
No symbol table info available.
#5 0x0809b98f in egg_dns_lookup (host=0xbffffb90 "irc.choopa.net",
timeout=20, callback=0x80e48ba <server_dns_callback>, client_data=0x1)
at _adns.c:434
q = (dns_query_t *) 0x0
i = 2
cache_id = 3
#6 0x080e4870 in connect_server () at ../server.mod/servmsg.c:1537
chan = (chanset_t *) 0x0
x = (server_list *) 0x817b768
dns_id = 0
pass = '\0' <repeats 120 times>
botserver = "irc.choopa.net", '\0' <repeats 309 times>
newidx = 1
botserverport = 6667
#7 0x080e7864 in server_secondly () at ../server.mod/server.c:941
No locals.
gdb:
(gdb) bt
#0 0x0809b98f in egg_dns_lookup (host=0xbffffb90 "irc.choopa.net", timeout=20,
callback=0x80e48ba <server_dns_callback>, client_data=0x1) at _adns.c:434
#1 0x080e4870 in connect_server () at ../server.mod/servmsg.c:1537
#2 0x080e7864 in server_secondly () at ../server.mod/server.c:941
#3 0x08089b62 in timer_run () at _egg_timer.c:238
#4 0x0808f7c7 in main (argc=2, argv=0xbffffe74) at _main.c:781
(gdb) print cache_id
$11 = 3
(gdb) print cache
$12 = (dns_cache_t *) 0x81adeb0
(gdb) print cache[0]
$13 = {answer = {list = 0x8179fd8, ttl = 0, len = 1}, query = 0x817a2d0 "hub.lordares.net",
expiretime = 1205367482}
(gdb) print cache[1]
$14 = {answer = {list = 0x81a31b0, ttl = 0, len = 1}, query = 0x81ead78 "efnet.ipv6.xs4all.nl",
expiretime = 1205418942}
(gdb) print cache[2]
$15 = {answer = {list = 0x8196208, ttl = 0, len = 2}, query = 0x8199a08 "irc.ac.za",
expiretime = 1205418852}
(gdb) print cache[3]
$16 = {answer = {list = 0x0, ttl = 0, len = 0}, query = 0x81a92a8 "irc.choopa.net",
expiretime = 1205364367}
Crash on debug line:
434 sdprintf("egg_dns_lookup(%s, %d) -> [cached (%ds)] -> %s", host, timeout, cache[cache_id].expiretime - now, cache[cache_id].answer.list[0]);
Change History
Note: See
TracTickets for help on using
tickets.

