Hello,

We have a weird bug in our Kamailio boxes.

We use the DNS cache (for dns failover to work properly), and on some servers, 
the cache becomes broken after some time.

The expire value is stuck and do not decrement over time, 
on the entry and on the records : 
`
kamcmd> dns.lookup A freeswitch
{
        name: freeswitch
        type: A
        size_bytes: 200
        reference_counter: 2
        permanent: no
        expires: 2
        last_used: 0
        negative_entry: no
        records: {
                {
                        rr_idx: 0
                        rr_ip: 10.0.0.1
                        rr_permanent: no
                        rr_expires: 2
                }
                {
                        rr_idx: 1
                        rr_ip: 10.0.0.2
                        rr_permanent: no
                        rr_expires: 2
                }
                {
                        rr_idx: 2
                        rr_ip: 10.0.0.3
                        rr_permanent: no
                        rr_expires: 2
                }
        }
}
`

Expires values are computed each time like this : 
`
now=get_ticks_raw();
expires = (s_ticks_t)(e->expire-now)<0?-1: TICKS_TO_S(e->expire-now);
`

So it would means either : 
- TICKS_TO_S(get_ticks_raw()) == 0 when the entry is created
- TICKS_TO_S(get_ticks_raw()) == 0 when the value is printed when we execute a 
dns.lookup through rpc.


Details : 
  - Kamailio : 5.2.4 (x86_64/linux)
  - OS : Debian 9.9
  - Running in Docker on Kubernetes cluster

I cannot say how to reproduce, it happens sometimes after running the binary :/

Do you have any idea ?


Kind regards,
Mathieu Bodjikian


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2063
_______________________________________________
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to