Hello, I pushed a patch that takes care of initializing the columns array of the result - it is in the master branch for now.
However, the log messages don't seem to be complete, were you sending all. The backtrace shows a line which is executed only if an error message is printed, it is not in the logs you sent. One thing that I remembered was that usrloc requires parameter db_insert_null to be set in order to work with mongodb: - http://kamailio.org/docs/modules/stable/modules/usrloc.html#usrloc.p.db_insert_null The crash shouldn't happen and hopefully the patch I pushed catches it. Try the patch without db_insert_null just to see if there is still a crash or not. Cheers, Daniel On Thu, Jan 29, 2015 at 11:51 AM, Mickael Marrache < mickaelmarra...@gmail.com> wrote: > Now, it didn't crash during the REGISTER but during the INVITE: > > > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:705]: > db_mongodb_query(): query to collection [location] > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:726]: > db_mongodb_query(): query filter: { "username" : "m1" } > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:745]: > db_mongodb_query(): columns filter: { "contact" : 1, "expires" : 1, "q" : > 1, "callid" : 1, "cseq" : 1, "flags" : > > 1, "cflags" : 1, "user_agent" : 1, "received" : 1, "path" : 1, "socket" : > 1, "methods" : 1, "last_modified" : 1, "ruid" : 1, "instance" : 1, "reg_id" > : 1 } > > kamailio[32599]: DEBUG: <core> [db_res.c:118]: db_new_result(): allocate > 56 bytes for result set at 0x7f83a32daa48 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:203]: > db_mongodb_get_columns(): 16 columns returned from the query > > kamailio[32599]: DEBUG: <core> [db_res.c:155]: db_allocate_columns(): > allocate 128 bytes for result names at 0x7f83a32daf98 > > kamailio[32599]: DEBUG: <core> [db_res.c:165]: db_allocate_columns(): > allocate 64 bytes for result types at 0x7f83a32daed8 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[0] named: contact > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[0] at > 0x7f83a32daab8 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:285]: > db_mongodb_get_columns(): use DB1_STRING result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32daab8)[0]=[contact] (2) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[1] named: expires > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[1] at > 0x7f83a32dab98 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:275]: > db_mongodb_get_columns(): use DB1_DATETIME result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32dab98)[1]=[expires] (9) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[2] named: q > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[2] at > 0x7f83a32dabe0 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:270]: > db_mongodb_get_columns(): use DB1_DOUBLE result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32dabe0)[2]=[q] (1) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[3] named: callid > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[3] at > 0x7f83a32dac70 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:285]: > db_mongodb_get_columns(): use DB1_STRING result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32dac70)[3]=[callid] (2) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[4] named: cseq > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[4] at > 0x7f83a32dac28 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:260]: > db_mongodb_get_columns(): use DB1_INT result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32dac28)[4]=[cseq] (16) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[5] named: flags > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[5] at > 0x7f83a32dab50 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:260]: > db_mongodb_get_columns(): use DB1_INT result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32dab50)[5]=[flags] (16) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[6] named: cflags > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[6] at > 0x7f83a32dae50 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:260]: > db_mongodb_get_columns(): use DB1_INT result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32dae50)[6]=[cflags] (16) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[7] named: user_agent > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[7] at > 0x7f83a32dacb8 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:285]: > db_mongodb_get_columns(): use DB1_STRING result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32dacb8)[7]=[user_agent] (2) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[8] named: received > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[8] at > 0x7f83a32dad00 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:285]: > db_mongodb_get_columns(): use DB1_STRING result type > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:314]: > db_mongodb_get_columns(): RES_NAMES(0x7f83a32dad00)[8]=[received] (2) > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:231]: > db_mongodb_get_columns(): Found a field[9] named: path > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:250]: > db_mongodb_get_columns(): allocate 16 bytes for RES_NAMES[9] at > 0x7f83a329f778 > > kamailio[32599]: DEBUG: db_mongodb [mongodb_dbase.c:285]: > db_mongodb_get_columns(): use DB1_STRING result type > > kamailio[32595]: ALERT: <core> [main.c:784]: handle_sigs(): child process > 32599 exited by a signal 6 > > kamailio[32595]: ALERT: <core> [main.c:787]: handle_sigs(): core was > generated > > kamailio[32595]: INFO: <core> [main.c:799]: handle_sigs(): terminating due > to SIGCHLD > > kamailio[32605]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32602]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32603]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32600]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32598]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32601]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32604]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32597]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32606]: INFO: <core> [main.c:850]: sig_usr(): signal 15 received > > kamailio[32595]: ERROR: ctl [ctl.c:382]: mod_destroy(): ERROR: ctl: could > not delete unix socket /tmp/kamailio_ctl: Operation not permitted (1) > > kamailio[32595]: DEBUG: db_mongodb [mongodb_dbase.c:948]: > db_mongodb_delete(): delete filter document: { "expires" : { "$date" : > 1422527804000 }, "expires" : { "$date" : 0 } } > > kamailio[32595]: DEBUG: <core> [db_pool.c:102]: pool_remove(): removing > connection from the pool > > kamailio[32595]: DEBUG: tm [t_funcs.c:118]: tm_shutdown(): DEBUG: > tm_shutdown : start > > kamailio[32595]: DEBUG: tm [t_funcs.c:121]: tm_shutdown(): DEBUG: > tm_shutdown : emptying hash table > > kamailio[32595]: DEBUG: tm [t_funcs.c:123]: tm_shutdown(): DEBUG: > tm_shutdown : removing semaphores > > kamailio[32595]: DEBUG: tm [t_funcs.c:125]: tm_shutdown(): DEBUG: > tm_shutdown : destroying tmcb lists > > kamailio[32595]: DEBUG: tm [t_funcs.c:128]: tm_shutdown(): DEBUG: > tm_shutdown : done > > kamailio[32595]: DEBUG: <core> [mem/shm_mem.c:242]: shm_mem_destroy(): > shm_mem_destroy > > kamailio[32595]: DEBUG: <core> [mem/shm_mem.c:245]: shm_mem_destroy(): > destroying the shared memory lock > > kamailio[32595]: DEBUG: <core> [main.c:803]: handle_sigs(): terminating > due to SIGCHLD > > > > Regarding the core dump: > > > > #0 0x00000031afa32625 in raise () from /lib64/libc.so.6 > > #1 0x00000031afa33e05 in abort () from /lib64/libc.so.6 > > #2 0x00000000006196f9 in fm_free (qm=0x7f83a3241010, p=0x20300000203, > file=0x7f83a2621608 "<core>: db_res.c", func=0x7f83a2622100 > "db_free_columns", line=86) at mem/f_malloc.c:588 > > #3 0x00007f83a260d7ab in db_free_columns (_r=0x7f83a32daa48) at > db_res.c:86 > > #4 0x00007f83a260e79e in db_free_result (_r=0x7f83a32daa48) at > db_res.c:134 > > #5 0x00007f83a23ed7cb in db_mongodb_free_result (_h=0x7f83a32de718, > _r=0x7f83a32daa48) at mongodb_dbase.c:646 > > #6 0x00007f83a23efd65 in db_mongodb_query (_h=0x7f83a32de718, > _k=0x7fff25b74840, _op=0x0, _v=0x7fff25b74800, _c=0x7fff25b74850, _n=1, > _nc=16, _o=0x7f83a02f8c80, _r=0x7fff25b747f8) at mongodb_dbase.c:783 > > #7 0x00007f83a00d27d2 in db_load_urecord (_c=0x7f83a32de718, > _d=0x7f839b9700e8, _aor=0x7fff25b74c80) at udomain.c:601 > > #8 0x00007f83a00d7e8e in get_urecord (_d=0x7f839b9700e8, > _aor=0x7fff25b74c80, _r=0x7fff25b74c90) at udomain.c:1106 > > #9 0x00007f839fe7b271 in lookup_helper (_m=0x7f83a33083e0, > _d=0x7f839b9700e8, _uri=0x0, _mode=0) at lookup.c:173 > > #10 0x00007f839fe79ffd in lookup (_m=0x7f83a33083e0, _d=0x7f839b9700e8, > _uri=0x0) at lookup.c:88 > > #11 0x00007f839fe7eb35 in lookup_branches (msg=0x7f83a33083e0, > d=0x7f839b9700e8) at lookup.c:448 > > #12 0x00007f839fe870dd in w_lookup_branches (_m=0x7f83a33083e0, > _d=0x7f839b9700e8 "H", _p2=0x0) at reg_mod.c:499 > > #13 0x000000000041d3f2 in do_action (h=0x7fff25b755d0, a=0x7f83a32d8cc8, > msg=0x7f83a33083e0) at action.c:1094 > > #14 0x0000000000429a7a in run_actions (h=0x7fff25b755d0, a=0x7f83a32d8cc8, > msg=0x7f83a33083e0) at action.c:1583 > > #15 0x000000000042a0df in run_actions_safe (h=0x7fff25b774c0, > a=0x7f83a32d8cc8, msg=0x7f83a33083e0) at action.c:1648 > > #16 0x0000000000540b7c in rval_get_int (h=0x7fff25b774c0, > msg=0x7f83a33083e0, i=0x7fff25b75d90, rv=0x7f83a32d91f8, cache=0x0) at > rvalue.c:924 > > #17 0x0000000000544db4 in rval_expr_eval_int (h=0x7fff25b774c0, > msg=0x7f83a33083e0, res=0x7fff25b75d90, rve=0x7f83a32d91f0) at rvalue.c:1918 > > #18 0x000000000041ce4e in do_action (h=0x7fff25b774c0, a=0x7f83a32d9d58, > msg=0x7f83a33083e0) at action.c:1064 > > #19 0x0000000000429a7a in run_actions (h=0x7fff25b774c0, a=0x7f83a32d9d58, > msg=0x7f83a33083e0) at action.c:1583 > > #20 0x0000000000419dea in do_action (h=0x7fff25b774c0, a=0x7f83a32c9048, > msg=0x7f83a33083e0) at action.c:712 > > #21 0x0000000000429a7a in run_actions (h=0x7fff25b774c0, a=0x7f83a32c3cd8, > msg=0x7f83a33083e0) at action.c:1583 > > #22 0x0000000000419dea in do_action (h=0x7fff25b774c0, a=0x7f83a328d418, > msg=0x7f83a33083e0) at action.c:712 > > #23 0x0000000000429a7a in run_actions (h=0x7fff25b774c0, a=0x7f83a328d418, > msg=0x7f83a33083e0) at action.c:1583 > > #24 0x000000000041d2cd in do_action (h=0x7fff25b774c0, a=0x7f83a328d658, > msg=0x7f83a33083e0) at action.c:1079 > > #25 0x0000000000429a7a in run_actions (h=0x7fff25b774c0, a=0x7f83a327d898, > msg=0x7f83a33083e0) at action.c:1583 > > #26 0x000000000042a1a7 in run_top_route (a=0x7f83a327d898, > msg=0x7f83a33083e0, c=0x0) at action.c:1669 > > #27 0x000000000050747e in receive_msg ( > > buf=0xa6f780 "INVITE sip:XXXXXX@XXXXXXX SIP/2.0\r\nRecord-Route: > <sip:XXXXXXXXX;lr>\r\nVia: SIP/2.0/UDP > XXXXXXX;branch=z9hG4bK2be.f31409f558981039fd70ad46afc97176.0\r\nVia: > SIP/2.0/UDP XXXX"..., > > len=1151, rcv_info=0x7fff25b777b0) at receive.c:216 > > #28 0x0000000000606e76 in udp_rcv_loop () at udp_server.c:521 > > #29 0x00000000004a5c97 in main_loop () at main.c:1629 > > #30 0x00000000004aaf2a in main (argc=13, argv=0x7fff25b77bc8) at > main.c:2561 > > > > I can try to reproduce the issue with the REGISTER if you need. > > > > Mickael > > > > *From:* sr-users [mailto:sr-users-boun...@lists.sip-router.org] *On > Behalf Of *Daniel-Constantin Mierla > *Sent:* Thursday, January 29, 2015 12:26 PM > *To:* Kamailio (SER) - Users Mailing List > *Subject:* Re: [SR-Users] Core dump while saving user location in mongo > > > > Also, give the error messages from syslog file. > > Cheers, > Daniel > > On 29/01/15 11:23, Daniel-Constantin Mierla wrote: > > Hello, > > can you give the parameters for usrloc module? Are you using DB_ONLY mode? > > Cheers, > Daniel > > On 29/01/15 08:55, Mickael Marrache wrote: > > Hi, > > > > When my proxy receives a REGISTER request, it crashes while saving the > user location in MongoDB. > > > > This is the backtrace from the core dump: > > > > #0 0x0000003f08e32625 in raise () from /lib64/libc.so.6 > > #1 0x0000003f08e33e05 in abort () from /lib64/libc.so.6 > > #2 0x00000000006196f9 in fm_free (qm=0x7f4368bf7010, p=0x210add0, > file=0x7f4367fd7608 "<core>: db_res.c", func=0x7f4367fd8100 > "db_free_columns", line=86) at mem/f_malloc.c:588 > > #3 0x00007f4367fc37ab in db_free_columns (_r=0x7f4368ca0430) at > db_res.c:86 > > #4 0x00007f4367fc479e in db_free_result (_r=0x7f4368ca0430) at > db_res.c:134 > > #5 0x00007f4367da37cb in db_mongodb_free_result (_h=0x7f4368c94718, > _r=0x7f4368ca0430) at mongodb_dbase.c:646 > > #6 0x00007f4367da5d65 in db_mongodb_query (_h=0x7f4368c94718, > _k=0x7fffa03d5550, _op=0x0, _v=0x7fffa03d5510, _c=0x7fffa03d5560, _n=1, > _nc=16, _o=0x7f4365ed2c80, _r=0x7fffa03d5508) at mongodb_dbase.c:783 > > #7 0x00007f4365cac7d2 in db_load_urecord (_c=0x7f4368c94718, > _d=0x7f436154a0e8, _aor=0x7fffa03d59d0) at udomain.c:601 > > #8 0x00007f4365cb1e8e in get_urecord (_d=0x7f436154a0e8, > _aor=0x7fffa03d59d0, _r=0x7fffa03d5760) at udomain.c:1106 > > #9 0x00007f4365a75dea in add_contacts (_m=0x7f4368cbdc40, > _d=0x7f436154a0e8, _a=0x7fffa03d59d0, _mode=1, _use_regid=1) at save.c:832 > > #10 0x00007f4365a77d32 in save (_m=0x7f4368cbdc40, _d=0x7f436154a0e8, > _cflags=4, _uri=0x0) at save.c:986 > > #11 0x00007f4365a606db in w_save2 (_m=0x7f4368cbdc40, _d=0x7f436154a0e8 > "H\240TaC\177", _cflags=0x4 <Address 0x4 out of bounds>) at reg_mod.c:447 > > #12 0x000000000041d489 in do_action (h=0x7fffa03d6180, a=0x7f4368c71e98, > msg=0x7f4368cbdc40) at action.c:1100 > > #13 0x0000000000429a7a in run_actions (h=0x7fffa03d6180, a=0x7f4368c71e98, > msg=0x7f4368cbdc40) at action.c:1583 > > #14 0x000000000042a0df in run_actions_safe (h=0x7fffa03d7470, > a=0x7f4368c71e98, msg=0x7f4368cbdc40) at action.c:1648 > > #15 0x0000000000540b7c in rval_get_int (h=0x7fffa03d7470, > msg=0x7f4368cbdc40, i=0x7fffa03d6658, rv=0x7f4368c72830, cache=0x0) at > rvalue.c:924 > > #16 0x0000000000544db4 in rval_expr_eval_int (h=0x7fffa03d7470, > msg=0x7f4368cbdc40, res=0x7fffa03d6658, rve=0x7f4368c72828) at rvalue.c:1918 > > #17 0x00000000005451aa in rval_expr_eval_int (h=0x7fffa03d7470, > msg=0x7f4368cbdc40, res=0x7fffa03d6ae0, rve=0x7f4368c72070) at rvalue.c:1926 > > #18 0x000000000041ce4e in do_action (h=0x7fffa03d7470, a=0x7f4368c73148, > msg=0x7f4368cbdc40) at action.c:1064 > > #19 0x0000000000429a7a in run_actions (h=0x7fffa03d7470, a=0x7f4368c71cc0, > msg=0x7f4368cbdc40) at action.c:1583 > > #20 0x0000000000419dea in do_action (h=0x7fffa03d7470, a=0x7f4368c3bdb8, > msg=0x7f4368cbdc40) at action.c:712 > > #21 0x0000000000429a7a in run_actions (h=0x7fffa03d7470, a=0x7f4368c33898, > msg=0x7f4368cbdc40) at action.c:1583 > > #22 0x000000000042a1a7 in run_top_route (a=0x7f4368c33898, > msg=0x7f4368cbdc40, c=0x0) at action.c:1669 > > #23 0x000000000050747e in receive_msg ( > > buf=0xa6f780 "REGISTER sip:XXXXXXXXXXXX:5060;transport=tcp > SIP/2.0\r\nVia: SIP/2.0/UDP > XXXXXXXXX;branch=z9hG4bK242c.26de52a75c8675f6757e0958454a0ad5.0;i=1\r\nv: > SIP/2.0/TCP XXXXXXXXXX:62051;received=XXXXXXXX"..., > > len=1004, rcv_info=0x7fffa03d7760) at receive.c:216 > > #24 0x0000000000606e76 in udp_rcv_loop () at udp_server.c:521 > > #25 0x00000000004a5c97 in main_loop () at main.c:1629 > > #26 0x00000000004aaf2a in main (argc=13, argv=0x7fffa03d7b78) at > main.c:2561 > > > > I tested multiple times, it occurs everytime. > > > > Let me know if you need more information. > > > > Thanks, > > Mickael > > > > > _______________________________________________ > > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list > > sr-users@lists.sip-router.org > > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users > > > > -- > > Daniel-Constantin Mierla > > http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda > > > > -- > > Daniel-Constantin Mierla > > http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda > > -- Daniel-Constantin Mierla - http://www.asipto.com http://twitter.com/#!/miconda - http://www.linkedin.com/in/micond <http://www.linkedin.com/in/miconda>
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users