Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#421 Segmentation fault in dialog_update_db

1.7.x
closed-out-of-date
core (110)
5
2012-10-29
2011-09-19
Sergey Lavrov
No

opensips-1.7.0 rev 8357
OS: CentOS 5.6 x86_64

Core was generated by `/usr/sbin/opensips'.
Program terminated with signal 11, Segmentation fault.
#0 0x00002ac79c877917 in dialog_update_db (ticks=<value optimized out>, param=<value optimized out>) at dlg_db_handler.c:1060
1060 SET_STR_VALUE(values+18, cell->legs[DLG_CALLER_LEG].r_cseq);

---

(gdb) bt
#0 0x00002ac79c877917 in dialog_update_db (ticks=<value optimized out>, param=<value optimized out>) at dlg_db_handler.c:1060
#1 0x00002ac79c870ac7 in mod_destroy () at dialog.c:756
#2 0x000000000046a5cc in destroy_modules () at sr_module.c:371
#3 0x0000000000425372 in cleanup (show_status=1) at main.c:344
#4 0x0000000000425dcb in handle_sigs () at main.c:545
#5 0x000000000042a295 in main_loop (argc=<value optimized out>, argv=0x2ac7a1d1cd70) at main.c:996
#6 main (argc=<value optimized out>, argv=0x2ac7a1d1cd70) at main.c:1503

---
(gdb) bt full
#0 0x00002ac79c877917 in dialog_update_db (ticks=<value optimized out>, param=<value optimized out>) at dlg_db_handler.c:1060
index = 2075
values = {{type = DB_INT, nul = 0, free = 124133132, val = {int_val = 2075, double_val = 1.0251862151205866e-320, time_val = 2075, string_val = 0x81b <Address 0x81b out of bounds>, str_val = {
s = 0x81b <Address 0x81b out of bounds>, len = -399977312}, blob_val = {s = 0x81b <Address 0x81b out of bounds>, len = -399977312}, bitmap_val = 2075}}, {type = DB_INT, nul = 0, free = -399957912, val = {
int_val = 1446169044, double_val = 7.1450244271947809e-315, time_val = 1446169044, string_val = 0x5632c9d4 <Address 0x5632c9d4 out of bounds>, str_val = {s = 0x5632c9d4 <Address 0x5632c9d4 out of bounds>, len = 33188},
blob_val = {s = 0x5632c9d4 <Address 0x5632c9d4 out of bounds>, len = 33188}, bitmap_val = 1446169044}}, {type = DB_STR, nul = 55, free = 836356976, val = {int_val = 16, double_val = 1.0185579797423812e-312,
time_val = 206158430224, string_val = 0x3000000010 <Address 0x3000000010 out of bounds>, str_val = {s = 0x3000000010 <Address 0x3000000010 out of bounds>, len = 836356976}, blob_val = {
s = 0x3000000010 <Address 0x3000000010 out of bounds>, len = 836356976}, bitmap_val = 16}}, {type = DB_STR, nul = 32767, free = -397064800, val = {int_val = -397081856, double_val = 1.1863557979041877e-312,
time_val = 240121086720, string_val = 0x37e8550300 "V\020\062\350\067", str_val = {s = 0x37e8550300 "V\020\062\350\067", len = -400077266}, blob_val = {s = 0x37e8550300 "V\020\062\350\067", len = -400077266},
bitmap_val = 3897885440}}, {type = DB_STR, nul = 0, free = 8, val = {int_val = 0, double_val = 0, time_val = 0, string_val = 0x0, str_val = {s = 0x0, len = 123765312}, blob_val = {s = 0x0, len = 123765312},
bitmap_val = 0}}, {type = DB_STR, nul = 55, free = -1642617560, val = {int_val = 1, double_val = 4.9406564584124654e-324, time_val = 1, string_val = 0x1 <Address 0x1 out of bounds>, str_val = {
s = 0x1 <Address 0x1 out of bounds>, len = -399980033}, blob_val = {s = 0x1 <Address 0x1 out of bounds>, len = -399980033}, bitmap_val = 1}}, {type = DB_STR, nul = 32767, free = -397067808, val = {int_val = 7518184,
double_val = 3.7144764335133263e-317, time_val = 7518184, string_val = 0x72b7e8 "x\264'\241\307*", str_val = {s = 0x72b7e8 "x\264'\241\307*", len = 600}, blob_val = {s = 0x72b7e8 "x\264'\241\307*", len = 600},
bitmap_val = 7518184}}, {type = DB_STR, nul = 55, free = 836357232, val = {int_val = 608, double_val = 2.7808754840900286e-310, time_val = 56285546414688,
string_val = 0x333100000260 <Address 0x333100000260 out of bounds>, str_val = {s = 0x333100000260 <Address 0x333100000260 out of bounds>, len = 124141312}, blob_val = {
s = 0x333100000260 <Address 0x333100000260 out of bounds>, len = 124141312}, bitmap_val = 608}}, {type = DB_STR, nul = 0, free = 130, val = {int_val = 8208, double_val = 4.0552908210649516e-320, time_val = 8208,
string_val = 0x2010 <Address 0x2010 out of bounds>, str_val = {s = 0x2010 <Address 0x2010 out of bounds>, len = 124133104}, blob_val = {s = 0x2010 <Address 0x2010 out of bounds>, len = 124133104}, bitmap_val = 8208}}, {
type = DB_INT, nul = 0, free = -400079495, val = {int_val = 124133132, double_val = 6.1329916031876708e-316, time_val = 124133132,
string_val = 0x7661f0c "15:49:13 /usr/sbin/opensips[17540]: INFO:snmpstats:mod_destroy:", ' ' <repeats 18 times>, "Shutting down the AgentX Sub-Agent!\n", str_val = {
s = 0x7661f0c "15:49:13 /usr/sbin/opensips[17540]: INFO:snmpstats:mod_destroy:", ' ' <repeats 18 times>, "Shutting down the AgentX Sub-Agent!\n", len = -397067808}, blob_val = {
s = 0x7661f0c "15:49:13 /usr/sbin/opensips[17540]: INFO:snmpstats:mod_destroy:", ' ' <repeats 18 times>, "Shutting down the AgentX Sub-Agent!\n", len = -397067808}, bitmap_val = 124133132}}, {type = DB_STR, nul = 0,
free = 10, val = {int_val = 836357232, double_val = 6.953184929793506e-310, time_val = 140734029745264, string_val = 0x7fff31d9cc70 "\300W\252\234\307*", str_val = {s = 0x7fff31d9cc70 "\300W\252\234\307*",
len = -1642617560}, blob_val = {s = 0x7fff31d9cc70 "\300W\252\234\307*", len = -1642617560}, bitmap_val = 836357232}}, {type = DB_STR, nul = 0, free = -397067808, val = {int_val = 0,
double_val = 2.1219957909652723e-314, time_val = 4294967296, string_val = 0x100000000 <Address 0x100000000 out of bounds>, str_val = {s = 0x100000000 <Address 0x100000000 out of bounds>, len = 130}, blob_val = {
s = 0x100000000 <Address 0x100000000 out of bounds>, len = 130}, bitmap_val = 0}}, {type = DB_STR, nul = 0, free = 124133104, val = {int_val = 0, double_val = 2.1219957909652723e-314, time_val = 4294967296,
string_val = 0x100000000 <Address 0x100000000 out of bounds>, str_val = {s = 0x100000000 <Address 0x100000000 out of bounds>, len = -400075806}, blob_val = {s = 0x100000000 <Address 0x100000000 out of bounds>,
len = -400075806}, bitmap_val = 0}}, {type = DB_STR, nul = 0, free = 8208, val = {int_val = 17, double_val = 8.3991159793011913e-323, time_val = 17, string_val = 0x11 <Address 0x11 out of bounds>, str_val = {
s = 0x11 <Address 0x11 out of bounds>, len = 21}, blob_val = {s = 0x11 <Address 0x11 out of bounds>, len = 21}, bitmap_val = 17}}, {type = DB_STR, nul = 0, free = 0, val = {int_val = 10,
double_val = 4.9406564584124654e-323, time_val = 10, string_val = 0xa <Address 0xa out of bounds>, str_val = {s = 0xa <Address 0xa out of bounds>, len = 21}, blob_val = {s = 0xa <Address 0xa out of bounds>, len = 21},
bitmap_val = 10}}, {type = DB_STR, nul = 0, free = 21, val = {int_val = 10, double_val = 4.9406564584124654e-323, time_val = 10, string_val = 0xa <Address 0xa out of bounds>, str_val = {
s = 0xa <Address 0xa out of bounds>, len = 836357232}, blob_val = {s = 0xa <Address 0xa out of bounds>, len = 836357232}, bitmap_val = 10}}, {type = DB_INT, nul = 0, free = -400086853, val = {int_val = 2,
double_val = 6.9531436082560066e-310, time_val = 140733193388034, string_val = 0x7fff00000002 <Address 0x7fff00000002 out of bounds>, str_val = {s = 0x7fff00000002 <Address 0x7fff00000002 out of bounds>, len = 21},
blob_val = {s = 0x7fff00000002 <Address 0x7fff00000002 out of bounds>, len = 21}, bitmap_val = 2}}, {type = DB_INT, nul = 0, free = 124008048, val = {int_val = 1316389189, double_val = 6.5038267484171976e-315,
time_val = 1316389189, string_val = 0x4e768145 <Address 0x4e768145 out of bounds>, str_val = {s = 0x4e768145 <Address 0x4e768145 out of bounds>, len = -397067808}, blob_val = {
s = 0x4e768145 <Address 0x4e768145 out of bounds>, len = -397067808}, bitmap_val = 1316389189}}, {type = DB_STR, nul = 0, free = -397067776, val = {int_val = -1581138384, double_val = 2.3239316716494807e-310,
time_val = 47036900687408, string_val = 0x2ac7a1c1be30 "04bfe16a\030", str_val = {s = 0x2ac7a1c1be30 "04bfe16a\030", len = 1}, blob_val = {s = 0x2ac7a1c1be30 "04bfe16a\030", len = 1}, bitmap_val = 2713828912}}, {
type = DB_STR, nul = 1, free = 1, val = {int_val = 0, double_val = 0, time_val = 0, string_val = 0x0, str_val = {s = 0x0, len = 0}, blob_val = {s = 0x0, len = 0}, bitmap_val = 0}}, {type = DB_INT, nul = 0,
free = -397067808, val = {int_val = 0, double_val = 0, time_val = 0, string_val = 0x0, str_val = {s = 0x0, len = 4096}, blob_val = {s = 0x0, len = 4096}, bitmap_val = 0}}, {type = DB_INT, nul = 0, free = -1, val = {
int_val = 0, double_val = 0, time_val = 0, string_val = 0x0, str_val = {s = 0x0, len = -400159497}, blob_val = {s = 0x0, len = -400159497}, bitmap_val = 0}}, {type = DB_STR, nul = 1, free = 5571861, val = {int_val = 1,
double_val = 4.9406564584124654e-324, time_val = 1, string_val = 0x1 <Address 0x1 out of bounds>, str_val = {s = 0x1 <Address 0x1 out of bounds>, len = 33188}, blob_val = {s = 0x1 <Address 0x1 out of bounds>,
len = 33188}, bitmap_val = 1}}, {type = DB_STR, nul = 1, free = 0, val = {int_val = 0, double_val = 0, time_val = 0, string_val = 0x0, str_val = {s = 0x0, len = 4096}, blob_val = {s = 0x0, len = 4096},
bitmap_val = 0}}, {type = DB_INT, nul = 0, free = 1316389155, val = {int_val = 0, double_val = 0, time_val = 0, string_val = 0x0, str_val = {s = 0x0, len = 1316432953}, blob_val = {s = 0x0, len = 1316432953},
bitmap_val = 0}}, {type = DB_INT, nul = 0, free = 1316432953, val = {int_val = 16, double_val = 2.1219957988703226e-314, time_val = 4294967312, string_val = 0x100000010 <Address 0x100000010 out of bounds>, str_val = {
s = 0x100000010 <Address 0x100000010 out of bounds>, len = 0}, blob_val = {s = 0x100000010 <Address 0x100000010 out of bounds>, len = 0}, bitmap_val = 16}}}
cell = 0x2ac7a2e42200
on_shutdown = 1 '\001'
callee_leg = 1
ins_done = 0
insert_keys = {0x2ac79caa5820, 0x2ac79caa5810, 0x2ac79caa57c0, 0x2ac79caa57d0, 0x2ac79caa57e0, 0x2ac79caa57f0, 0x2ac79caa5800, 0x2ac79caa5900, 0x2ac79caa58f0, 0x2ac79caa5850, 0x2ac79caa58c0, 0x2ac79caa58b0, 0x2ac79caa58e0,
0x2ac79caa58d0, 0x2ac79caa5910, 0x2ac79caa5920, 0x2ac79caa5830, 0x2ac79caa5860, 0x2ac79caa5880, 0x2ac79caa5870, 0x2ac79caa58a0, 0x2ac79caa5890, 0x2ac79caa5930, 0x2ac79caa5940, 0x2ac79caa5950, 0x2ac79caa5960}
my_ps_update = 0x0
my_ps_insert = 0x0
ins_list = 0x0
__FUNCTION__ = "dialog_update_db"
---Type <return> to continue, or q <return> to quit---
#1 0x00002ac79c870ac7 in mod_destroy () at dialog.c:756
No locals.
#2 0x000000000046a5cc in destroy_modules () at sr_module.c:371
t = 0x78cbb0
foo = 0x78cae0
#3 0x0000000000425372 in cleanup (show_status=1) at main.c:344
No locals.
#4 0x0000000000425dcb in handle_sigs () at main.c:545
chld = 0
chld_status = 139
overall_status = 139
i = <value optimized out>
do_exit = 1
__FUNCTION__ = "handle_sigs"
#5 0x000000000042a295 in main_loop (argc=<value optimized out>, argv=0x2ac7a1d1cd70) at main.c:996
i = 3
pid = <value optimized out>
si = 0x400
startup_done = 0x0
load_p = <value optimized out>
chd_rank = 16
__FUNCTION__ = "main_loop"
#6 main (argc=<value optimized out>, argv=0x2ac7a1d1cd70) at main.c:1503
cfg_log_stderr = <value optimized out>
cfg_stream = 0x75e65e0
c = <value optimized out>
r = -1591250040
tmp = 0x4e3eb7 "H\215\005Ba$"
tmp_len = <value optimized out>
port = 0
proto = <value optimized out>
ret = <value optimized out>
seed = 4171048114
rfd = <value optimized out>
__FUNCTION__ = "main"

Discussion

    • assigned_to: nobody --> vladut-paiu
     
  • Hello,

    First of all, could you please update to the latest 1.7 SVN revision ? There have been some fixes related to saving dialogs in DB at shutdown.

    Secondly, your core shows some memory corruption. If the problem still persists upon updating to the latest 1.7, please do the following to enable memory debugging :

    edit Makefile.defs, uncomment the line with
    -DDBG_QM_MALLOC \ and comment the line with
    -DF_MALLOC \

    and then recompile OpenSIPS. Make sure there are no commented lines above -DDBG_QM_MALLOC.

    When OpenSIPS will crash again, please return with the core.

    Regards,
    Vlad

     
    • status: open --> closed-out-of-date