Hi Miklos,
Miklos Tirpak wrote:
unfortunately I do not have access to a 64 bit machine now. Could you help me with some gdb info?
sure
Break at cfg.c:132 when the config group "tm" is declared. Verify that
- "p &default_tm_cfg.ruri_matching" and "p &default_tm_cfg" return the
same address.
these are equal.
- p (char*)&default_tm_cfg.fr_inv_timeout_next -
(char*)&default_tm_cfg.ruri_matching and p mapping[30].offset return the same value.
no they dont return the same value.
If not, then could you check which offset is wrong with decreasing the index and checking each variable of the default_tm_cfg structure, like:
p (char*)&default_tm_cfg.reparse_on_dns_failover - (char*)&default_tm_cfg.ruri_matching p mapping[29].offset
The variable with last correct offset value is tm_auto_inv_100_r. I guess the two variables with pointers to strings are causing the problem. Please find my whole gdb output for verification below.
Thanks Nils
132 if (size != def_size) {
(gdb) p &default_tm_cfg.ruri_matching
$1 = (int *) 0x7f4c676d5860
(gdb) p &default_tm_cfg
$2 = (struct cfg_group_tm *) 0x7f4c676d5860
(gdb) p (char*)&default_tm_cfg.fr_inv_timeout_next
$3 = 0x7f4c676d58f0 "0u"
(gdb) p (char*)&default_tm_cfg.ruri_matching
$4 = 0x7f4c676d5860 "\001"
(gdb) p mapping[30].offset
$5 = 120
(gdb) p (char*)&default_tm_cfg.fr_inv_timeout_next - (char*)&default_tm_cfg.ruri_matching $6 = 144
(gdb) p &default_tm_cfg $7 = (struct cfg_group_tm *) 0x7f4c676d5860 (gdb) p default_tm_cfg $8 = {ruri_matching = 1, via1_matching = 1, fr_timeout = 30000, fr_inv_timeout = 120000, wait_timeout = 5000, delete_timeout = 200, rt_t1_timeout = 500, rt_t2_timeout = 4000, tm_max_inv_lifetime = 180000, tm_max_noninv_lifetime = 32000, noisy_ctimer = 1, tm_auto_inv_100 = 1,
tm_auto_inv_100_r = 0x7f4c674b7030 "trying -- your call is important to us", tm_unix_tx_timeout = 500, restart_fr_on_each_reply = 1, pass_provisional_replies = 0, tm_aggregate_auth = 1, unmatched_cancel = 0, default_code = 500,
default_reason = 0x7f4c674b7057 "Server Internal Error", reparse_invite = 1, ac_extra_hdrs = { s = 0x0, len = 0}, tm_blst_503 = 0, tm_blst_503_default = 0, tm_blst_503_min = 0, tm_blst_503_max = 3600, tm_blst_methods_add = 1, tm_blst_methods_lookup = 4294967287, cancel_b_flags = 1, reparse_on_dns_failover = 1, fr_inv_timeout_next = 30000} (gdb) p (char*)&default_tm_cfg.reparse_on_dns_failover - (char*)&default_tm_cfg.ruri_matching $9 = 140
(gdb) p mapping[29].offset $10 = 116 (gdb) p (char*)&default_tm_cfg.cancel_b_flags - (char*)&default_tm_cfg.ruri_matching $11 = 136
(gdb) p mapping[28].offset $12 = 112 (gdb) p (char*)&default_tm_cfg.tm_blst_methods_lookup - (char*)&default_tm_cfg.ruri_matching $13 = 132
(gdb) p mapping[27].offset $14 = 108 (gdb) p (char*)&default_tm_cfg.tm_blst_methods_add - (char*)&default_tm_cfg.ruri_matching $15 = 128
(gdb) p mapping[26].offset $16 = 104 (gdb) p (char*)&default_tm_cfg.tm_blst_503_max - (char*)&default_tm_cfg.ruri_matching $17 = 124
(gdb) p mapping[25].offset $18 = 100 (gdb) p (char*)&default_tm_cfg.tm_blst_503_min - (char*)&default_tm_cfg.ruri_matching $19 = 120
(gdb) p mapping[24].offset $20 = 96 (gdb) p (char*)&default_tm_cfg.tm_blst_503_default - (char*)&default_tm_cfg.ruri_matching $21 = 116
(gdb) p mapping[23].offset $22 = 92 (gdb) p (char*)&default_tm_cfg.tm_blst_503 - (char*)&default_tm_cfg.ruri_matching $23 = 112
(gdb) p mapping[22].offset $24 = 88 (gdb) p (char*)&default_tm_cfg.ac_extra_hdrs - (char*)&default_tm_cfg.ruri_matching $25 = 96 (gdb) p mapping[21].offset $26 = 84 (gdb) p (char*)&default_tm_cfg.reparse_invite - (char*)&default_tm_cfg.ruri_matching $27 = 88 (gdb) p mapping[20].offset $28 = 80 (gdb) p (char*)&default_tm_cfg.default_reason - (char*)&default_tm_cfg.ruri_matching $29 = 80 (gdb) p mapping[19].offset $30 = 76 (gdb) p (char*)&default_tm_cfg.default_code - (char*)&default_tm_cfg.ruri_matching $31 = 76 (gdb) p mapping[18].offset $32 = 72 (gdb) p (char*)&default_tm_cfg.unmatched_cancel - (char*)&default_tm_cfg.ruri_matching $33 = 72 (gdb) p mapping[17].offset $34 = 68 (gdb) p (char*)&default_tm_cfg.tm_aggregate_auth - (char*)&default_tm_cfg.ruri_matching $35 = 68 (gdb) p mapping[16].offset $36 = 64 (gdb) p (char*)&default_tm_cfg.pass_provisional_replies - (char*)&default_tm_cfg.ruri_matching $37 = 64 (gdb) p mapping[15].offset $38 = 60 (gdb) p (char*)&default_tm_cfg.restart_fr_on_each_reply - (char*)&default_tm_cfg.ruri_matching $39 = 60 (gdb) p mapping[14].offset $40 = 56 (gdb) p (char*)&default_tm_cfg.tm_unix_tx_timeout - (char*)&default_tm_cfg.ruri_matching $41 = 56 (gdb) p mapping[13].offset $42 = 52 (gdb) p (char*)&default_tm_cfg.tm_auto_inv_100_r - (char*)&default_tm_cfg.ruri_matching $43 = 48 (gdb) p mapping[12].offset $44 = 48
Thanks, Miklos
On 05/19/2009 02:24 AM, Nils Ohlmeier wrote:
Hello,
when I try to start SER with the ser-basic.cfg it fails with the following error message:
0(13147) ERROR: <core> [cfg/cfg.c:135]: ERROR: register_cfg_def(): the specified size (152) of the config structure does not equal with the calculated size (148), check whether the variable types are correctly defined!
Note: I added the size informations to this error message just a minute ago so that the error message is hopefully more meaningful.
Does anybody know what is wrong here? I'm using Gentoo Linux with 64bit, maybe that is the reason for this failure?!
Thanks Nils
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev