[OpenSIPS-Users] [NEW] Dialog data persistence across reboot
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Tue Jun 9 11:13:40 CEST 2009
Hi Thomas,
Thanks for the report - the fix is on SVN. Let me know if solved the
problem.
Regards,
Bogdan
Thomas Gelf wrote:
> Hi Bogdan,
>
> it took some time, but today I finally find some time to test this. As
> mentioned on IRC it segfaults, here is the backtrace:
>
> #0 0x000000000049eee4 in db_print_columns (
> _b=0x714974 "hash_entry,hash_id,callid,from_uri,from_tag,to_uri,
> to_tag,caller_sock,callee_sock,start_time,state,timeout,caller_cseq,
> callee_cseq,caller_route_set,callee_route_set,caller_contact,
> callee_contact,", _l=65516, _c=<value optimized out>, _n=21) at
> db/db_ut.c:222
> #1 0x000000000049bc83 in db_do_insert (_h=0x781368, _k=0x7fffbb6b47c0,
> _v=0x7fffbb6b4520, _n=21, val2str=0x2af5f142def0 <db_mysql_val2str>,
> submit_query=<value optimized out>) at db/db_query.c:162
> #2 0x00002af5f142b86f in db_mysql_insert (_h=0x781368,
> _k=0x7fffbb6b47c0, _v=0x7fffbb6b4520, _n=21) at dbase.c:925
> #3 0x00002af5f37d0fe8 in update_dialog_dbinfo (cell=0x2af5f53044d0) at
> dlg_db_handler.c:657
> #4 0x00002af5f37d86da in dlg_onreply (t=0x2af5f5308b60, type=<value
> optimized out>, param=<value optimized out>) at dlg_handlers.c:325
> #5 0x00002af5f03c7b68 in run_trans_callbacks (type=128,
> trans=0x2af5f5308b60, req=0x2af5f5304f30, rpl=0x7815b8, code=200)
> at t_hooks.c:208
> #6 0x00002af5f03d96b3 in relay_reply (t=0x2af5f5308b60, p_msg=0x7815b8,
> branch=1, msg_status=200, cancel_bitmap=0x7fffbb6b4bb8) at
> t_reply.c:1226
> #7 0x00002af5f03d9f4b in reply_received (p_msg=0x7815b8) at
> t_reply.c:1484
> #8 0x000000000041cce0 in forward_reply (msg=0x7815b8) at forward.c:507
> #9 0x00000000004426a8 in receive_msg (
> buf=0x7042e0 "SIP/2.0 200 OK\r\n"..., len=1131,
> rcv_info=0x7fffbb6b4cc0) at receive.c:203
> #10 0x00000000004706fa in udp_rcv_loop () at udp_server.c:449
> #11 0x00000000004227a2 in main (argc=<value optimized out>,
> argv=0x7fffbb6b4e98) at main.c:786
>
> As you know I'm not a C-coder, but I tried to give it a quick look. The
> problem here is the _n=21 (from DIALOG_TABLE_COL_NO, has former been 18
> and is now 21). However, there are still only 18 values - vars, profiles
> and script_flags are not set in update_dialog_dbinfo. I tried to replace
> DIALOG_TABLE_COL_NO with "18" on line 657 in dlg_db_handler.c - prevents
> segfaulting, but vars etc are (obviously?) not be stored to db.
>
> Best regards,
> Thomas Gelf
>
>
> Bogdan-Andrei Iancu schrieb:
>
>> Hi,
>>
>> I added to the dialog module support for data persistence (dialog script
>> flags, dialog script variables, dialog profiles) across restart. As this
>> data is highly dynamic nature (may changes very often), it is flushed to
>> DB only at shutdown time - so do not expect to see it in DB during runtime.
>>
>> This will directly affect the script functionality - you can rely on not
>> loosing the dialog context if rebooting, and also the module using
>> dialog module (like load-balancer which needs to keep the profiles in
>> order to do the job).
>>
>> Regards,
>> Bogdan
>>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
More information about the Users
mailing list