sergey-safarov created an issue (kamailio/kamailio#4255)
### Description
I now make testing `cmake` packaging and see this error
```
RPM build errors:
Directory not found: /root/rpmbuild/BUILDROOT/kamailio-6.1.0-dev1.0.el10.centos.x86_64/usr/share/kamailio/postgres
File not found: /root/rpmbuild/BUILDROOT/kamailio-6.1.0-dev1.0.el10.centos.x86_64/usr/share/kamailio/postgres/*
```
### Troubleshooting
#### Reproduction
I use this module list for build
https://github.com/sergey-safarov/kamailio/blob/master/pkg/kamailio/obs/kam…
@xkaraman could you look?
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4255
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4255(a)github.com>
<!-- 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)
- [ ] 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
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] 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 -->
- [ ] 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 -->
Adding KDMQ replication for rtpengine hash table (call -> rtpengine instance assignment)
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4240
-- Commit Summary --
* rtpegnine hash table dmq replication
-- File Changes --
M src/modules/rtpengine/rtpengine.c (49)
M src/modules/rtpengine/rtpengine.h (4)
M src/modules/rtpengine/rtpengine_db.c (2)
A src/modules/rtpengine/rtpengine_dmq.c (310)
A src/modules/rtpengine/rtpengine_dmq.h (54)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4240.patchhttps://github.com/kamailio/kamailio/pull/4240.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4240
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4240(a)github.com>
Module: kamailio
Branch: master
Commit: c7fcdfdb13aeec9aeae726a9cc1ccaeda557e7bb
URL: https://github.com/kamailio/kamailio/commit/c7fcdfdb13aeec9aeae726a9cc1ccae…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Committer: Xenofon Karamanos <xk(a)gilawa.com>
Date: 2025-05-23T11:10:13Z
cmake: Add some check for finding group name if using non K-variants of group names
---
Modified: cmake/groups.cmake
---
Diff: https://github.com/kamailio/kamailio/commit/c7fcdfdb13aeec9aeae726a9cc1ccae…
Patch: https://github.com/kamailio/kamailio/commit/c7fcdfdb13aeec9aeae726a9cc1ccae…
---
diff --git a/cmake/groups.cmake b/cmake/groups.cmake
index a41560f17fc..c629ee49f93 100644
--- a/cmake/groups.cmake
+++ b/cmake/groups.cmake
@@ -764,6 +764,20 @@ function(find_group_name module)
""
PARENT_SCOPE
)
+ # This was need due to the dbschema.cmake
+ # If one select one of these option as group
+ # we want the group name to match instead of the actual group it belongs to
+ if(MODULE_GROUP_NAME STREQUAL "ALL"
+ OR MODULE_GROUP_NAME STREQUAL "DEFAULT"
+ OR MODULE_GROUP_NAME STREQUAL "STANDARD"
+ OR MODULE_GROUP_NAME STREQUAL "COMMON"
+ )
+ set(group_name
+ "${MODULE_GROUP_NAME}"
+ PARENT_SCOPE
+ )
+ return()
+ endif()
# message(WARNING "groups to search in" ${MODULE_GROUP_PACKAGE_GROUPS})
# Get all variable names in the current CMake context
foreach(group IN LISTS MODULE_GROUP_PACKAGE_GROUPS)
@@ -776,6 +790,8 @@ function(find_group_name module)
"${group}"
PARENT_SCOPE
)
+ return()
endif()
endforeach()
+ message((STATUS "module ${module} not found in any group"))
endfunction()
Module: kamailio
Branch: master
Commit: 0fb182720428b276793899debb210279a0b5ec97
URL: https://github.com/kamailio/kamailio/commit/0fb182720428b276793899debb21027…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Committer: Xenofon Karamanos <xk(a)gilawa.com>
Date: 2025-05-23T11:10:13Z
cmake: Add missing package KSTANDARD
- When `ALL_PACKAGED` is used, KSTANDARD should be built as well, but not KMINI which is a subset of it.
- Fix RTP_MEDIA group name
---
Modified: cmake/groups.cmake
---
Diff: https://github.com/kamailio/kamailio/commit/0fb182720428b276793899debb21027…
Patch: https://github.com/kamailio/kamailio/commit/0fb182720428b276793899debb21027…
---
diff --git a/cmake/groups.cmake b/cmake/groups.cmake
index 90c47413d22..a41560f17fc 100644
--- a/cmake/groups.cmake
+++ b/cmake/groups.cmake
@@ -688,6 +688,7 @@ set(MODULE_GROUP_KRTP_MEDIA_SERVER ${MOD_LIST_RTP_MEDIA_SERVER})
set(STATIC_MODULES "")
set(MODULE_GROUP_PACKAGE_GROUPS
+ KSTANDARD
KPCRE
KMYSQL
KPOSTGRES
@@ -748,7 +749,7 @@ set(MODULE_GROUP_PACKAGE_GROUPS
KNGHTTP2
KGCRYPT
KSECSIPID
- KRT_MEDIA_SERVER
+ KRTP_MEDIA_SERVER
)
# Add group names to available group and provide "ALL_PACKAGED" as well
Hello,
I have noticed that the git tag for release 5.7.7 was missing, I've just set it.
The 5.7.7-bullseye docker image is also missing from https://github.com/kamailio/kamailio-docker/pkgs/container/kamailio
Not sure if this is done automatically, if not - please can somebody please trigger the workflow to create it?
Thank you,
Henning
<!-- 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
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] 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 -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [x] Related to issue #4252
#### Description
This PR adds a new helper `reginfo_disable_publish` to `pua_reginfo` module which disabled the publishing for the current message, which is useful to control when to actually send it or not (eg in DMQ replication scenarios).
The helper is "negative" (it *disables* not enables) on purpose in order to mantain backward compatibility to current behaviour.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4253
-- Commit Summary --
* pua_reginfo: add helper to disable publishing for current message
-- File Changes --
M src/modules/pua_reginfo/pua_reginfo.c (4)
M src/modules/pua_reginfo/pua_reginfo.h (4)
M src/modules/pua_reginfo/usrloc_cb.c (21)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4253.patchhttps://github.com/kamailio/kamailio/pull/4253.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4253
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4253(a)github.com>
<!-- 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
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] 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 -->
This adds RPC command to view and/or change the timeout value for PDB queries. The documentation is also updated accordingly.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4254
-- Commit Summary --
* pdb: added rpc command to view/update the pdb query timeout
* pdb: add documentation for rpc command to view/update the pdb query timeout
-- File Changes --
M src/modules/pdb/doc/pdb.xml (55)
M src/modules/pdb/doc/pdb_admin.xml (334)
M src/modules/pdb/pdb.c (49)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4254.patchhttps://github.com/kamailio/kamailio/pull/4254.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4254
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4254(a)github.com>
henningw created an issue (kamailio/kamailio#4209)
Frequent hangs in Kamailio probably related due to lock contention in xhttp_prom module.
### Environment:
The systems are using 32 Kamailio worker processes for the relevant network interface, Its also using Prometheus counter increment operations more than 30 times in the cfg during INVITE processing. The Kamailio uses otherwise no database or other IO related services. Kamailio version 5.8.3, but no relevant changes in the xhttp_prom module could be found.
### Quick summary of the findings:
Multiple systems showed frequent hangs in their Kamailio servers on a customer setup. It happens usually after a few hours that all Kamailio processes gets blocked, and no more traffic can be processed on the respective system.
I have analysed three stack traces of the Kamailio on one of the system that showed the behaviour. Two without problems and one that was created from during a period where the server had problems.
### Details:
Here some details of the stack traces from a problematic case.
The relevant processes are from PID 494551 to 494582.
The majority of all of these processes are blocked in paths related to the Prometheus module (PID 494551 to 494576):
#### PID 494551:
```
#1 0x00007fc69ea5f053 in futex_get (lock=0x7fc4a147acd0) at ../../core/mem/../futexlock.h:108
v = 2
i = 1024
#2 0x00007fc69ea70f99 in prom_counter_inc (s_name=0x7fffe339ffa0, number=1, l1=0x7fffe339ff90, l2=0x0, l3=0x0) at prom_metric.c:1154
p = 0x6b
__func__ = "prom_counter_inc"
[…]
#14 0x00000000005ab179 in receive_msg (buf=0x9f47e0 <buf> "INVITE [sip:+1YYYYYYY737@10.XXX.XXX107](sip:+1YYYYYYYYYY737@10.XXX.XX.107) SIP/2.0\r\nRecord-Route: [sip:10.1XXX.XXX.104;lr=on;ftag=HK507HSy55p9F;dlgcor=62b91.985c3](sip:10.XXX.XXX.104;lr=on;ftag=HK507HSy55p9F;dlgcor=62b91.985c3)\r\nRecord-Route: [sip:10.XXX.XXX.117;r2=on;lr;ftag=HK507HSy55p9F](sip:10.XXX.XXX.117;r2=on;lr;ftag=HK507HSy55p9F)\r\nRecord-R"..., len=2819, rcv_info=0x7fffe33a28d0) at core/receive.c:518
```
Most of the worker processes are in the same state as shown above.
Some of the processes are also working in other Prometheus related operations:
#### PID 494554:
```
#0 prom_metric_timeout_delete (p_m=0x7fc49ea102f0) at prom_metric.c:646
current = 0x7fc4a2810fd0
ts = 1744143945433
__func__ = "prom_metric_timeout_delete"
l = 0x7fc4abffc808
#1 0x00007fc69ea676ce in prom_metric_list_timeout_delete () at prom_metric.c:668
p = 0x7fc49ea102f0
```
### Problem hypothesis:
My hypothesis is that the hang is caused from lock contention around the Prometheus module. The relevant code uses only one lock, and this together with the extensive usage of the increment counters probably causes this issues under high load.
The majority of the worker processed are occupied in the Prometheus path and are not working on SIP packets. This will cause of course an increase of the UDP queue and the described problems.
In order to test this hypothesis we removed temporarily the Prometheus logic in the kamailio cfg and see if the issue still persists. The issue did not showed up again after two days of testing, when before it was observed after a few hours.
### Possible solutions:
The Prometheus module probably needs some improvements to support better high-load and concurrency situations. On common approach is to split the locks, e.g. using a per process lock array and then combining the individual values in a second pass when read from outside.
Alternatively the xhttp_prom module should be used only carefully in situations with a high concurrency setup.
I have the full backtrace available, if helpful just let me know.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4209
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4209(a)github.com>