[SR-Users] Kamailio fail to start with db_mongodb and ndb_mongodb modules
Daniel-Constantin Mierla
miconda at gmail.com
Tue Jan 9 11:06:46 CET 2018
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 at gmail.com
> <mailto:basit.engg at 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 at gmail.com
> <mailto:basit.engg at 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 at gmail.com <mailto:miconda at 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 at gmail.com <mailto:basit.engg at 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 at gmail.com
>> <mailto:shaheryarkh at 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 at gmail.com
>> <mailto:basit.engg at 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 at gmail.com
>> <mailto:basit.engg at 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 at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180109/e14ef15f/attachment-0001.html>
More information about the sr-users
mailing list