### Description
* kamailio 5.6.1 on AlmaLinux 9 and OpenSSL 3.0.5
* Used tlsa to separate the OS version of OpenSSL (which is 3.0.1). The same issue happens
with the OS version of OpenSSL
* Generating TLS client traffic
* The issue will occur at about 25 conn/sec
* Multiple unpredicatable types of shm corruption
### Troubleshooting
* No issue with tlsa + OpenSSL 1.1.1q; the module can sustain 50 conn/sec up to 500 persistent connections.
#### Reproduction
1. Used kamailio configuration from the outbound module documentation; i.e., configure kamailio as a TLS edge proxy.
To isolate the registrar is another kamailio system
1. Use a SIP load tester to generate REGISTER traffic(Expires: 600) ; at the end of the REGISTER, keep the connection alive and reREGISTER at 300 secs.
1. Generate traffic at > 25 conn/sec (with < 25 conn/sec the test usually succeeds)
#### Debugging Data
BT in comments below
#### Log Messages
#### SIP Traffic
### Possible Solutions
### Additional Information
5.6.1
* **Operating System**:
AlmaLinux 9, with (OS) OpenSSL 3.0.1. I used tlsa + OpenSSL 3.0.5
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3222
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3222(a)github.com>
### Description
--
Hello Team,
We are using Kamailio 5.4.7 and we found there is a random crash. We have observed the core logs and we noticed it is due to some of the RPC events. We have noticed it has been crashed from the "ctl handler" process.
--
#### Debugging Data
--
Core dump files are attached.
[core-7519.txt](https://github.com/kamailio/kamailio/files/9099633/core-7519…
[core-17582.txt](https://github.com/kamailio/kamailio/files/9099634/core-175…
[core-7519.txt](https://github.com/kamailio/kamailio/files/9099638/core-7519…
[core-17582.txt](https://github.com/kamailio/kamailio/files/9099639/core-175…
--
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.4.7 (x86_64/linux) a19fe1
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: a19fe1
compiled on 02:56:57 Feb 16 2022 with gcc 8.3.0
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3186
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3186(a)github.com>
Module: kamailio
Branch: 5.7
Commit: 44130062640ccbbc7e796cc748d432fe3382c328
URL: https://github.com/kamailio/kamailio/commit/44130062640ccbbc7e796cc748d432f…
Author: Stefan Mititelu <stefan-cristian.mititelu(a)1and1.ro>
Committer: Stefan Mititelu <stefan-cristian.mititelu(a)1and1.ro>
Date: 2023-07-05T13:56:26+03:00
ims_qos: check and log for NULL sessionId
(cherry picked from commit 1b291315b43da1148cee5f3821ddbe49b0c86b7f)
---
Modified: src/modules/ims_qos/rx_aar.c
---
Diff: https://github.com/kamailio/kamailio/commit/44130062640ccbbc7e796cc748d432f…
Patch: https://github.com/kamailio/kamailio/commit/44130062640ccbbc7e796cc748d432f…
---
diff --git a/src/modules/ims_qos/rx_aar.c b/src/modules/ims_qos/rx_aar.c
index 1c376c98008..0f7373915a1 100644
--- a/src/modules/ims_qos/rx_aar.c
+++ b/src/modules/ims_qos/rx_aar.c
@@ -149,6 +149,11 @@ void async_aar_callback(int is_timeout, void *param, AAAMessage *aaa, long elaps
LM_DBG("Success, received code: [%i] from PCRF for AAR request\n", cdp_result);
counter_inc(ims_qos_cnts_h.successful_media_aars);
+ if(!aaa->sessionId) {
+ LM_ERR("NULL AAA sessionId from PCRF!\n");
+ goto error;
+ }
+
LM_DBG("Auth session ID [%.*s]", aaa->sessionId->data.len, aaa->sessionId->data.s);
if(!data->aar_update) {
@@ -286,6 +291,12 @@ void async_aar_reg_callback(int is_timeout, void *param, AAAMessage *aaa, long e
create_return_code(result);
goto done;
}
+
+ if(!aaa->sessionId) {
+ LM_ERR("NULL AAA sessionId from PCRF!\n");
+ goto error;
+ }
+
//need to set Rx auth data to say this session has been successfully opened
//This is used elsewhere to prevent acting on termination events when the session has not been opened
//getting auth session
Module: kamailio
Branch: 5.6
Commit: 5154f20964e08d2853bbf96afdeecceac8fe7650
URL: https://github.com/kamailio/kamailio/commit/5154f20964e08d2853bbf96afdeecce…
Author: Stefan Mititelu <stefan-cristian.mititelu(a)1and1.ro>
Committer: Stefan Mititelu <stefan-cristian.mititelu(a)1and1.ro>
Date: 2023-07-05T13:54:29+03:00
ims_qos: check and log for NULL sessionId
(cherry picked from commit 1b291315b43da1148cee5f3821ddbe49b0c86b7f)
---
Modified: src/modules/ims_qos/rx_aar.c
---
Diff: https://github.com/kamailio/kamailio/commit/5154f20964e08d2853bbf96afdeecce…
Patch: https://github.com/kamailio/kamailio/commit/5154f20964e08d2853bbf96afdeecce…
---
diff --git a/src/modules/ims_qos/rx_aar.c b/src/modules/ims_qos/rx_aar.c
index dbc2aebaeb6..287df6d9894 100644
--- a/src/modules/ims_qos/rx_aar.c
+++ b/src/modules/ims_qos/rx_aar.c
@@ -149,6 +149,11 @@ void async_aar_callback(int is_timeout, void *param, AAAMessage *aaa, long elaps
LM_DBG("Success, received code: [%i] from PCRF for AAR request\n", cdp_result);
counter_inc(ims_qos_cnts_h.successful_media_aars);
+ if(!aaa->sessionId) {
+ LM_ERR("NULL AAA sessionId from PCRF!\n");
+ goto error;
+ }
+
LM_DBG("Auth session ID [%.*s]", aaa->sessionId->data.len, aaa->sessionId->data.s);
if(!data->aar_update) {
@@ -286,6 +291,12 @@ void async_aar_reg_callback(int is_timeout, void *param, AAAMessage *aaa, long e
create_return_code(result);
goto done;
}
+
+ if(!aaa->sessionId) {
+ LM_ERR("NULL AAA sessionId from PCRF!\n");
+ goto error;
+ }
+
//need to set Rx auth data to say this session has been successfully opened
//This is used elsewhere to prevent acting on termination events when the session has not been opened
//getting auth session
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [X] Commit message has the format required by CONTRIBUTING guide
- [X] Commits are split per component (core, individual modules, libs, utils, ...)
- [X] Each component has a single commit (if not, squash them into one commit)
- [X] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [X] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [X] PR should be backported to stable branches
- [X] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Check for NULL sessionId from PCRF, which can lead to kamailio crash.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3503
-- Commit Summary --
* ims_qos: check and log for NULL sessionId
-- File Changes --
M src/modules/ims_qos/rx_aar.c (11)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3503.patchhttps://github.com/kamailio/kamailio/pull/3503.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3503
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3503(a)github.com>
Module: kamailio
Branch: master
Commit: 2dbaa727a38e29da0f887fa5d0d8d20392839f9b
URL: https://github.com/kamailio/kamailio/commit/2dbaa727a38e29da0f887fa5d0d8d20…
Author: Henning Westerholt <hw(a)gilawa.com>
Committer: Henning Westerholt <hw(a)gilawa.com>
Date: 2023-07-05T07:04:46Z
tm: remove obselete comment, add clarification for reply_wait mode 2
---
Modified: src/modules/tm/rpc_uac.c
---
Diff: https://github.com/kamailio/kamailio/commit/2dbaa727a38e29da0f887fa5d0d8d20…
Patch: https://github.com/kamailio/kamailio/commit/2dbaa727a38e29da0f887fa5d0d8d20…
---
diff --git a/src/modules/tm/rpc_uac.c b/src/modules/tm/rpc_uac.c
index ce22b6121c1..d461d123a13 100644
--- a/src/modules/tm/rpc_uac.c
+++ b/src/modules/tm/rpc_uac.c
@@ -626,12 +626,12 @@ static void rpc_uac_block_callback(
* only if reply_wait is set to 1. Otherwise the rpc reply will be sent
* immediately and it will be success if the parameters were ok and t_uac did
* not report any error.
- * Note: reply waiting (reply_wait==1) is not yet supported.
* @param rpc - rpc handle
* @param c - rpc current context
* @param reply_wait - if 1 do not generate a rpc reply until final response
* for the transaction arrives, if 0 immediately send
- * an rpc reply (see above).
+ * an rpc reply (see above). If 2 blocking wait until
+ * final response for the transaction arrives.
*/
static void rpc_t_uac(rpc_t *rpc, void *c, int reply_wait)
{
### Description
The dbmode behavior was modified (see the commit reference bellow) and does not clearly align with the documentation anymore, I still need the feature when we can persist htable records that were inserted at runtime.
In fact I do not understand that value of writing back only records that where loaded from the DB, this seems equivalent to dbmode 0 (if the db is not altered) ?
Maybe you can help me understand why we the change is needed @miconda ?
```
dbmode - if set to 1, the content of hash table is written to database table when the SIP server is stopped (i.e., ensure persistency over restarts). Default value is 0 (no write back to db table).
```
```
commit b1fa63b1547fc5af6cc1e97db42ea76db1bf927b
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Apr 13 13:11:30 2022 +0200
htable: track when records were successfully loaded from database
- write back only in such case
diff --git a/src/modules/htable/ht_api.c b/src/modules/htable/ht_api.c
index 00023e7153..f212600e21 100644
--- a/src/modules/htable/ht_api.c
+++ b/src/modules/htable/ht_api.c
@@ -1099,7 +1099,7 @@ int ht_db_sync_tables(void)
ht = _ht_root;
while(ht)
{
- if(ht->dbtable.len>0 && ht->dbmode!=0 && ht->ncols==0)
+ if(ht->dbtable.len>0 && ht->dbmode!=0 && ht->dbload!=0 && ht->ncols==0)
{
LM_DBG("sync db table [%.*s] from ht [%.*s]\n",
ht->dbtable.len, ht->dbtable.s,
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3422
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3422(a)github.com>