Hello,
can you check that the #!ifdef ... #!endif are properly paired? There is
a warning about it:
Jan 5 19:16:05 kmaongo kamailio: WARNING: <core> [core/ppcfg.c:221]:
pp_ifdef_level_check(): different number of preprocessor directives:
N(#!IF[N]DEF) - N(#!ENDIF) = 1
The error is now in the config file ... something is broken there.
Cheers,
Daniel
On 08.01.18 10:06, Abdul Basit wrote:
Hi Team,
Any comments/ guidelines?
--
regards,
abdul basit | p: +92 32 1416 4196 | o: +92 30 0841 1445
On 6 January 2018 at 00:39, Abdul Basit <basit.engg(a)gmail.com
<mailto:basit.engg@gmail.com>> wrote:
Hi Daniel & K-Team,
I setup kamailio 5.0.5 from git on vanilla Debian GNU/Linux 8.3
(jessie)
# kamailio -v
version: kamailio 5.0.5 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, 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
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN
16, 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 on 16:53:42 Jan 5 2018 with gcc 4.9.2
Installed mongodb from debian repo
# dpkg -l | grep mongodb
ii mongodb 1:3.2.17-1
amd64 object/document-oriented database (metapackage)
ii mongodb-clients 1:3.2.17-1
amd64 object/document-oriented database (client apps)
ii mongodb-dev 1:2.4.10-5+deb8u1
amd64 object/document-oriented database (development)
ii mongodb-server 1:3.2.17-1
amd64 object/document-oriented database (server package)
# mongo --version
MongoDB shell version: 3.2.17
Will try sometime with mongodb latest version 3.6 as well as I
will get time.
Installed libmongoc driver through sid repo "deb
http://ftp.de.debian.org/debian <http://ftp.de.debian.org/debian>
sid main"
# dpkg -l | grep libmongoc
ii libmongoc-1.0-0
1.9.0+dfsg-1 amd64 MongoDB C client
library - runtime files
ii libmongoc-dev 1.9.0+dfsg-1
amd64 MongoDB C client library - dev files
Kamailio compiled with
# make cfg include_modules="utils app_lua json evapi db_mongodb
ndb_mongodb"
Created version collection in mongodb
# cat
/usr/local/src/kamailio/utils/kamctl/mongodb/kamailio/version-create.mongo
| mongo
Setup kamailio.cfg as per
https://telerain.com/kamailio
<https://telerain.com/kamailio/>
This time kamailio started successfully without any crash :)
---------
Now its time to use mongodb for kamailio backend database.
Used default kamailio configuration and defined mongodb connection as
#!define DBURL "mongodb://localhost/kamailio"
I enabled WITH_USRLOCDB [#!define WITH_USRLOCDB], kamailio refuse
to start with errors.
Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core>
[core/cfg.y:3411]: yyerror_at(): parse error in config file
/usr/local/etc/kamailio/kamailio.cfg, line 365, column 30-34:
syntax error
Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core>
[core/cfg.y:3411]: yyerror_at(): parse error in config file
/usr/local/etc/kamailio/kamailio.cfg, line 365, column 30-34:
Invalid arguments
Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core>
[core/cfg.y:3414]: yyerror_at(): parse error in config file
/usr/local/etc/kamailio/kamailio.cfg, line 365, column 35:
Jan 5 19:16:05 kmaongo kamailio[28067]: ERROR: bad config file (3
errors)
Jan 5 19:16:05 kmaongo kamailio: WARNING: <core>
[core/ppcfg.c:221]: pp_ifdef_level_check(): different number of
preprocessor directives: N(#!IF[N]DEF) - N(#!ENDIF) = 1
Jan 5 19:16:05 kmaongo kamailio: INFO: <core>
[core/sctp_core.c:53]: sctp_core_destroy(): SCTP API not initialized
Jan 5 19:16:05 kmaongo systemd[1]: kamailio.service: control
process exited, code=exited status=255
[FAILJan 5 19:16:05 kmaongo systemd[1]: Failed to start Kamailio
(OpenSER) - the Open Source SIP Server.
Jan 5 19:16:05 kmaongo systemd[1]: Unit kamailio.service entered
failed state.
failed!
Default userloc params in kamailio.cfg states line 365 as
# ----- usrloc params -----
/* enable DB persistency for location entries */
#!ifdef WITH_USRLOCDB
modparam("usrloc", "db_url", DBURL) [ << line 365 ]
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "use_domain", MULTIDOMAIN)
modparam("usrloc", "db_insert_null", 1)
#!endif
I created location collection as well but it didn't help.
I experienced same error when I enable WITH_ACCDB or any other
section that use DBURL.
1. Whats the syntax error here?
2. Is there any special configuration required to work with mongodb?
3. How can we create collections using 'kamdbctl create' ?
What else should I share for resolving the issue?
--
regards,
abdul basit
On 4 January 2018 at 12:50, Abdul Basit <basit.engg(a)gmail.com
<mailto:basit.engg@gmail.com>> wrote:
Hi Daniel,
Thank you for your reply.
I tested libmongoc with debian package available with repo.
Then I moved to compile from source. result was same.
But i will try it again with fresh installation and will post
here.
--
regards,
abdul basit
On 2 January 2018 at 16:38, Daniel-Constantin Mierla
<miconda(a)gmail.com <mailto:miconda@gmail.com>> wrote:
Hello,
the issue happens inside mongoc library. Have you tried
with the default one from Debian, without compiling it
from sources?
Cheers,
Daniel
On 01.01.18 16:51, Abdul Basit wrote:
Hi,
My last email was help for admin review.
Sharing logs through pastebin
https://pastebin.com/6HhdYLJK
Interesting part will start from line 983 where it start
initializing ndb_mongodb.
On 1 January 2018 at 20:32, Abdul Basit
<basit.engg(a)gmail.com <mailto:basit.engg@gmail.com>> wrote:
Hi,
I enabled but kamailio didn't generate any dump file
To enable code dump followed
https://www.kamailio.org/dokuwiki/doku.php/troubleshooting:corefiles
<https://www.kamailio.org/dokuwiki/doku.php/troubleshooting:corefiles>
I also un-commented lines in /etc/init.d/kamailio script
if test "$DUMP_CORE" = "yes" ; then
# set proper ulimit
ulimit -c unlimited
# directory for the core dump files
COREDIR=/tmp/corefiles
[ -d $COREDIR ] || mkdir -p $COREDIR
chmod 777 $COREDIR
echo "$COREDIR/core.%e.sig%s.%p" >
/proc/sys/kernel/core_pattern
fi
I think reason is that kamailio process didn't exit
after crash and keep on restarting. each time with
new PID.
However, debug file is attached. I hope this will help.
--
regards,
abdul basit
On 29 December 2017 at 20:11, M S
<shaheryarkh(a)gmail.com
<mailto:shaheryarkh@gmail.com>> wrote:
Hi,
Enable core dump and provide backtrace of
sigfault. See this for more info,
https://sourceware.org/gdb/onlinedocs/gdb/Backtrace.html
<https://sourceware.org/gdb/onlinedocs/gdb/Backtrace.html>
Thank you.
On Fri, Dec 29, 2017 at 12:25 PM, Abdul Basit
<basit.engg(a)gmail.com
<mailto:basit.engg@gmail.com>> wrote:
Adding further from
https://stackoverflow.com/questions/2549214/interpreting-segfault-messages
<https://stackoverflow.com/questions/2549214/interpreting-segfault-messages>
error 6 means, fault is
|* bit 2 == 1 means kernel, 1 means user-mode
* bit 4 == 1 means fault was an instruction
fetch |
That looks like kamailio is trying to invoke
for db connection where libmongo-c don't like
to be.
--
regards,
abdul basit
On 29 December 2017 at 15:39, Abdul Basit
<basit.engg(a)gmail.com
<mailto:basit.engg@gmail.com>> wrote:
Hi,
I am trying to setup mongo db as database
engine for kamailio as described at
<http://www.kamailio.org/wiki/tutorials/kamailio-and-mongodb>
http://www.kamailio.org/wiki/tutorials/kamailio-and-mongodb
<http://www.kamailio.org/wiki/tutorials/kamailio-and-mongodb>
and
https://telerain.com/kamailio
<https://telerain.com/kamailio/>
OS: Debian GNU/Linux 8.10 (jessie)
MongoDB server version: 3.4.10
mongo-c-driver-1.9.0.tar.gz compiled with
./configure --disable-static
--disable-silent-rules
--enable-debug-symbols --enable-ssl=no
--enable-sasl=yes --with-libbson=bundled
--enable-optimizations
--disable-automatic-init-and-cleanup
version: kamailio 5.0.4 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS,
USE_SCTP, TLS_HOOKS, DISABLE_NAGLE,
USE_MCAST, DNS_IP_HACK, SHM_MEM,
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
ADAPTIVE_WAIT_LOOPS=1024,
MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN
16, 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 on 20:45:44 Dec 27 2017 with gcc
4.9.2
include_modules= utils app_lua
db_postgres json evapi db_mongodb ndb_mongodb
Kamailio is crashing with segfault as
soon as it try to load libmongo-c
Dec 28 04:44:14 sipserver systemd[1]:
Starting Kamailio (OpenSER) - the Open
Source SIP Server...
Dec 28 04:44:14 sipserver kamailio: INFO:
<core> [core/sctp_core.c:75]:
sctp_core_check_support(): SCTP API not
enabled - if you want to use it, load
sctp module
Dec 28 04:44:14 sipserver kamailio: INFO:
<core> [core/tcp_main.c:4671]:
init_tcp(): using epoll_lt as the io
watch method (auto detected)
Dec 28 04:44:14 sipserver
kamailio[11685]: Listening on
Dec 28 04:44:14 sipserver
kamailio[11685]: udp: 127.0.0.1:5060
<http://127.0.0.1:5060>
Dec 28 04:44:14 sipserver
kamailio[11685]: udp: 192.168.10.20:5060
<http://192.168.10.20:5060>
Dec 28 04:44:14 sipserver
kamailio[11685]: tcp: 127.0.0.1:5060
<http://127.0.0.1:5060>
Dec 28 04:44:14 sipserver
kamailio[11685]: tcp: 192.168.10.20:5060
<http://192.168.10.20:5060>
Dec 28 04:44:14 sipserver
kamailio[11685]: Aliases:
Dec 28 04:44:14 sipserver
kamailio[11685]: tcp: localhost:5060
Dec 28 04:44:14 sipserver
kamailio[11685]: udp: localhost:5060
Dec 28 04:44:14 sipserver
/usr/local/sbin/kamailio[11687]: INFO: rr
[../outbound/api.h:52]: ob_load_api():
unable to import bind_ob - maybe module
is not loaded
.....
Dec 28 04:44:14 sipserver
/usr/local/sbin/kamailio[11687]: INFO:
<core> [core/udp_server.c:203]:
probe_max_receive_buffer(): SO_RCVBUF is
finally 425984
Dec 28 04:44:14 sipserver systemd[1]:
Started Kamailio (OpenSER) - the Open
Source SIP Server.
Dec 28 04:44:14 sipserver kernel:
[53109.390171] show_signal_msg: 20
callbacks suppressed
Dec 28 04:44:14 sipserver kernel:
[53109.390176] kamailio[11696] segfault
at 78 ip 00007f690c0e6e98 sp
00007ffcde1a4770 error 6 in
libmongoc-1.0.so.0.0.0[7f690c0ca000+6e000]
Dec 28 04:44:14 sipserver kernel:
[53109.390753] kamailio[11694] segfault
at 78 ip 00007f690c0e6e98 sp
00007ffcde1a4770 error 6 in
libmongoc-1.0.so.0.0.0[7f690c0ca000+6e000]
Dec 28 04:44:14 sipserver kernel:
[53109.393147] kamailio[11699] segfault
at 38 ip 00007f690c0e6e98 sp
00007ffcde1a4770 error 6 in
libmongoc-1.0.so.0.0.0[7f690c0ca000+6e000]
Dec 28 04:44:14 sipserver
/usr/local/sbin/kamailio[11687]: ALERT:
<core> [main.c:743]: handle_sigs(): child
process 11689 exited by a signal 11
Dec 28 04:44:14 sipserver
/usr/local/sbin/kamailio[11687]: ALERT:
<core> [main.c:746]: handle_sigs(): core
was not generated
Dec 28 04:44:14 sipserver
/usr/local/sbin/kamailio[11687]: ALERT:
<core> [main.c:743]: handle_sigs(): child
process 11688 exited by a signal 11
.......
Dec 28 04:44:14 sipserver systemd[1]:
kamailio.service: main process exited,
code=exited, status=1/FAILURE
Dec 28 04:44:14 sipserver systemd[1]:
Unit kamailio.service entered failed state.
As I tried googling the issue and found
few issues with tls connection.
I set in default kamailio.cfg but still
facing the saem issue.
enable_tls=no
...
loadmodule "ndb_mongodb.so"
modparam("ndb_mongodb", "server",
"name=cgr91rc8;uri='mongodb://localhost/kamailio'")
Its mongodb default installation and its
accessible without any auth yet.
Please suggest the way farward.
--
regards,
abdul basit
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users