Hello,
I've updated the "New in version 5.4.0" document in our wiki. It is again an impressive list!
* In this development period (started October 2019) almost 1500 commits have been added to the repository
* 5 new modules have been added (pv_headers, kafka, secsipid, systemdops, dlgs)
* Over 70 modules have been extended, many of them substantially (dispatcher, pv, tls, presence etc..)
* Countless bugfixes and documentation extensions/fixes have been added as well
* Many refactorings, extensions and architectural improvements were done in Kamailio core, tooling and modules
You'll find the full details at the usual place: https://www.kamailio.org/wiki/features/new-in-5.4.x
Many thanks to everybody that contributed to the Kamailio project.
Cheers,
Henning
--
Henning Westerholt - https://skalatan.de/blog/
Kamailio services - https://gilawa.com<https://gilawa.com/>
### Description
Handful of new compile warnings popped up with Kamailio 5.3.5.
#### Reproduction
Compile warnings:
```
CC (gcc) [M app_sqlang.so] app_sqlang_mod.o
make --no-print-directory -C ./squirrel/squirrel SQMARCH64="-m64" CC_EXTRA_FLAGS="-fPIC" \
OUT="../../libsquirrel.a" sq64
gcc -O2 -m64 -D_SQ64 -fno-exceptions -fno-rtti -Wall -fno-strict-aliasing -c sqapi.cpp sqbaselib.cpp sqfuncstate.cpp sqdebug.cpp sqlexer.cpp sqobject.cpp sqcompiler.cpp sqstate.cpp sqtable.cpp sqmem.cpp sqvm.cpp sqclass.cpp -I../include -I. -Iinclude -fPIC
In file included from sqobject.h:5,
from sqpcheader.h:17,
from sqapi.cpp:4:
squtils.h: In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':
sqarray.h:83:27: required from here
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
97 | memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from sqpcheader.h:17,
from sqapi.cpp:4:
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here
205 | struct SQObjectPtr : public SQObject
| ^~~~~~~~~~~
In file included from sqobject.h:5,
from sqpcheader.h:17,
from sqbaselib.cpp:4:
squtils.h: In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':
sqarray.h:83:27: required from here
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
97 | memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from sqpcheader.h:17,
from sqbaselib.cpp:4:
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here
205 | struct SQObjectPtr : public SQObject
| ^~~~~~~~~~~
In file included from sqobject.h:5,
from sqpcheader.h:17,
from sqobject.cpp:4:
squtils.h: In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':
sqarray.h:83:27: required from here
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
97 | memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from sqpcheader.h:17,
from sqobject.cpp:4:
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here
205 | struct SQObjectPtr : public SQObject
| ^~~~~~~~~~~
In file included from sqobject.h:5,
from sqpcheader.h:17,
from sqstate.cpp:4:
squtils.h: In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':
sqarray.h:83:27: required from here
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
97 | memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from sqpcheader.h:17,
from sqstate.cpp:4:
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here
205 | struct SQObjectPtr : public SQObject
| ^~~~~~~~~~~
In file included from sqobject.h:5,
from sqpcheader.h:17,
from sqvm.cpp:4:
squtils.h: In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':
sqarray.h:83:27: required from here
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
97 | memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from sqpcheader.h:17,
from sqvm.cpp:4:
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here
205 | struct SQObjectPtr : public SQObject
| ^~~~~~~~~~~
ar rc ../../libsquirrel.a *.o
rm *.o
make --no-print-directory -C ./squirrel/sqstdlib SQMARCH64="-m64" CC_EXTRA_FLAGS="-fPIC" \
OUT="../../libsqstdlib.a" sq64
gcc -O2 -m64 -fno-exceptions -D_SQ64 -fno-rtti -Wall -fno-strict-aliasing -c sqstdblob.cpp sqstdio.cpp sqstdstream.cpp sqstdmath.cpp sqstdsystem.cpp sqstdstring.cpp sqstdaux.cpp sqstdrex.cpp -I../include -I. -Iinclude -fPIC
ar rc ../../libsqstdlib.a *.o
rm *.o
```
#### Debugging Data
**Operating System**:
Alpine Linux Latest
--
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/2400
Looking at the code I'm not sure I see how it can work but I will build a test environment and let you know. It will probably take me a week to get this together.
--
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/commit/bf2ecd4dec55d5009e0904392d083e1…
@rdboisvert I would propose cbc4d1eaea61f3b2d1012823d633fd2d0d85ab70 to fix this. It should allow for full table deletion while also fixing our use case. Could you confirm that this also works for you?
--
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/commit/bf2ecd4dec55d5009e0904392d083e1…
Hi all,
I am trying some Kamailio IMS load tests.
I have an issue with SIP.REGISTER when 10-11K registrations are done.
PCSCF start slowing down responses. I increased my test tool (sipp)
timeouts, but still there are some missing SIP.OK from P-CSCF to SIPp.
S-CSCF and I-CSCF SIP.OK are present, only some P-CSCF SIP.OK are missing
and SIPp closes the dialog(2-3 sec timeout)
I have compared a successful and unsuccessful registration and for now it
seems like t_on_reply is not executed the right way.
Did anybody meet such a problem ?