It seems there is a problem with the sending of the DPA from the cdp module to the diameter peer.
When we receive the DPR the Snd_DPA()
and I_Disc()
are executed from peerstatemachine.c (I_Open/I_Rcv_DPR branch).
Since the socket is closed from I_Disc()
the select()
in the receive_loop
exits with a failure and the send pipe (which holds the DPA) is never sent to the other side.
1. Send DPR from diameter peer to Kamailio
2. DPA is never received on the other end
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: cdp [peerstatemachine.c:89]: sm_process(): sm_process(): Peer chordlet State I_Open Event I_Rcv_DPR
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:373]: qm_malloc(): qm_malloc(0x7f54a05dc000, 120) called from cdp: diameter_msg.c: AAANewMessage(192)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:416]: qm_malloc(): qm_malloc(0x7f54a05dc000, 120) returns address 0x7f54a1005888 frag. 0x7f54a1005850 (size=120) on 1 -th hit
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:373]: qm_malloc(): qm_malloc(0x7f54a05dc000, 56) called from cdp: diameter_avp.c: AAACreateAVP(142)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:416]: qm_malloc(): qm_malloc(0x7f54a05dc000, 56) returns address 0x7f54d53ae668 frag. 0x7f54d53ae630 (size=56) on 1 -th hit
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:373]: qm_malloc(): qm_malloc(0x7f54a05dc000, 41) called from cdp: diameter_avp.c: AAACreateAVP(157)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:416]: qm_malloc(): qm_malloc(0x7f54a05dc000, 48) returns address 0x7f54d68446e8 frag. 0x7f54d68446b0 (size=48) on 1 -th hit
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:373]: qm_malloc(): qm_malloc(0x7f54a05dc000, 56) called from cdp: diameter_avp.c: AAACreateAVP(142)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:416]: qm_malloc(): qm_malloc(0x7f54a05dc000, 56) returns address 0x7f54d2c2e888 frag. 0x7f54d2c2e850 (size=56) on 1 -th hit
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:373]: qm_malloc(): qm_malloc(0x7f54a05dc000, 29) called from cdp: diameter_avp.c: AAACreateAVP(157)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:416]: qm_malloc(): qm_malloc(0x7f54a05dc000, 32) returns address 0x7f54d4eef830 frag. 0x7f54d4eef7f8 (size=40) on 1 -th hit
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: cdp [diameter_msg.c:82]: AAABuildMsgBuffer(): AAABuildMsgBuffer(): len=112
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:373]: qm_malloc(): qm_malloc(0x7f54a05dc000, 112) called from cdp: diameter_msg.c: AAABuildMsgBuffer(84)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:416]: qm_malloc(): qm_malloc(0x7f54a05dc000, 112) returns address 0x7f54d1242b00 frag. 0x7f54d1242ac8 (size=112) on 1 -th hit
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: cdp [receiver.c:1013]: peer_send_msg(): peer_send_msg(): Pipe push [0x7f54a1005888]
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: cdp [diameter_msg.c:411]: AAAFreeMessage(): AAAFreeMessage: Freeing message (0x7f54d75aeb50) 282
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:482]: qm_free(): qm_free(0x7f54a05dc000, 0x7f54d52aff78), called from cdp: diameter_avp.c: AAAFreeAVP(365)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:525]: qm_free(): freeing frag. 0x7f54d52aff40 alloc'ed from cdp: diameter_avp.c: AAACreateAVP(142)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:482]: qm_free(): qm_free(0x7f54a05dc000, 0x7f54c170eff0), called from cdp: diameter_avp.c: AAAFreeAVP(365)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:525]: qm_free(): freeing frag. 0x7f54c170efb8 alloc'ed from cdp: diameter_avp.c: AAACreateAVP(142)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:482]: qm_free(): qm_free(0x7f54a05dc000, 0x7f54d31942a0), called from cdp: diameter_avp.c: AAAFreeAVP(365)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:525]: qm_free(): freeing frag. 0x7f54d3194268 alloc'ed from cdp: diameter_avp.c: AAACreateAVP(142)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:482]: qm_free(): qm_free(0x7f54a05dc000, 0x7f54d70d3508), called from cdp: diameter_avp.c: AAAFreeAVP(365)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:525]: qm_free(): freeing frag. 0x7f54d70d34d0 alloc'ed from cdp: diameter_avp.c: AAACreateAVP(142)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:482]: qm_free(): qm_free(0x7f54a05dc000, 0x7f54d5febb38), called from cdp: diameter_avp.c: AAAFreeAVP(365)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:525]: qm_free(): freeing frag. 0x7f54d5febb00 alloc'ed from cdp: diameter_avp.c: AAACreateAVP(142)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:482]: qm_free(): qm_free(0x7f54a05dc000, 0x7f54d1e24700), called from cdp: diameter_msg.c: AAAFreeMessage(421)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:525]: qm_free(): freeing frag. 0x7f54d1e246c8 alloc'ed from cdp: receiver.c: do_receive(580)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:482]: qm_free(): qm_free(0x7f54a05dc000, 0x7f54d75aeb50), called from cdp: diameter_msg.c: AAAFreeMessage(424)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) DEBUG: <core> [core/mem/q_malloc.c:525]: qm_free(): freeing frag. 0x7f54d75aeb18 alloc'ed from cdp: diameter_msg.c: AAATranslateMessage(485)
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) ERROR: cdp [receiver.c:688]: receive_loop(): select_recv(): Bad file descriptor
Apr 24, 2022 @ 20:43:58.854 +0200 pcscf 44(138) INFO: cdp [receiver.c:222]: disconnect_serviced_peer(): drop_serviced_peer(): [chordlet] Disconnecting from peer
kamailio -v
version: kamailio 5.4.4 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 10.2.1
Linux 5.10.69-flatcar #1 SMP Wed Sep 29 20:48:40 -00 2021 x86_64 x86_64 x86_64 GNU/Linux
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.