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