[Serusers] Bug with allow_trusted ?

Francesco Bottà francesco.botta at eutelia.it
Wed Jan 19 17:01:59 CET 2005


Hi Andrei,

below the info:

[root at spsexp ser]# ser -V
version: ser 0.9.0 (i386/linux)
flags: STATS: Off, EXTRA_DEBUG, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
@(#) $Id: main.c,v 1.197 2004/12/03 19:09:31 andrei Exp $
main.c compiled on 12:42:44 Jan 19 2005 with gcc 3.3


 0(0) BUG: qm_*: prev. fragm. tail overwritten(c0c0c000, abcdefed)[0xbd6cee98:0xbd6ceeb0]!
 0(0) qm_status (0xbd517000):
 0(0)  heap size= 33340380
 0(0)  used= 1586532, used+overhead=1801928, free=31538452
 0(0)  max used (+overhead)= 1801928
 0(0) dumping all alloc'ed. fragments:
 0(0)       0. N  address=0xbd54b40c frag=0xbd54b3f4 size=4 used=1
 0(0)             alloc'd from mem/shm_mem.c: shm_mem_init_mallocs(192)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       1. N  address=0xbd54b440 frag=0xbd54b428 size=4 used=1
 0(0)             alloc'd from timer.c: init_timer(57)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       2. N  address=0xbd54b474 frag=0xbd54b45c size=4 used=1
 0(0)             alloc'd from tcp_main.c: init_tcp(1303)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       3. N  address=0xbd54b4a8 frag=0xbd54b490 size=4 used=1
 0(0)             alloc'd from tcp_main.c: init_tcp(1315)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       4. N  address=0xbd54b4dc frag=0xbd54b4c4 size=4096 used=1
 0(0)             alloc'd from tcp_main.c: init_tcp(1326)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       5. N  address=0xbd54c50c frag=0xbd54c4f4 size=4096 used=1
 0(0)             alloc'd from tcp_main.c: init_tcp(1338)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       6. N  address=0xbd54d53c frag=0xbd54d524 size=1680 used=1
 0(0)             alloc'd from main.c: main(1534)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       7. N  address=0xbd54dbfc frag=0xbd54dbe4 size=1040 used=1
 0(0)             alloc'd from sl_stats.c: init_sl_stats(179)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       8. N  address=0xbd54e03c frag=0xbd54e024 size=4 used=1
 0(0)             alloc'd from sl_funcs.c: sl_startup(82)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)       9. N  address=0xbd54e070 frag=0xbd54e058 size=1572864 used=1
 0(0)             alloc'd from h_table.c: init_hash_table(323)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      10. N  address=0xbd6ce0a0 frag=0xbd6ce088 size=16 used=1
 0(0)             alloc'd from lock.c: lock_initialize(99)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      11. N  address=0xbd6ce0e0 frag=0xbd6ce0c8 size=384 used=1
 0(0)             alloc'd from timer.c: tm_init_timers(515)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      12. N  address=0xbd6ce290 frag=0xbd6ce278 size=40 used=1
 0(0)             alloc'd from t_stats.c: init_tm_stats(163)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      13. N  address=0xbd6ce2e8 frag=0xbd6ce2d0 size=48 used=1
 0(0)             alloc'd from t_stats.c: init_tm_stats(171)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      14. N  address=0xbd6ce348 frag=0xbd6ce330 size=48 used=1
 0(0)             alloc'd from t_stats.c: init_tm_stats(178)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      15. N  address=0xbd6ce3a8 frag=0xbd6ce390 size=48 used=1
 0(0)             alloc'd from t_stats.c: init_tm_stats(185)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      16. N  address=0xbd6ce408 frag=0xbd6ce3f0 size=8 used=1
 0(0)             alloc'd from t_hooks.c: init_tmcb_lists(58)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      17. N  address=0xbd6ce440 frag=0xbd6ce428 size=8 used=1
 0(0)             alloc'd from ul_callback.c: init_ulcb_list(50)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      18. N  address=0xbd6ce478 frag=0xbd6ce460 size=20 used=1
 0(0)             alloc'd from t_hooks.c: insert_tmcb(93)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      19. N  address=0xbd6ce4bc frag=0xbd6ce4a4 size=512 used=1
 0(0)             alloc'd from domain_mod.c: mod_init(164)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      20. N  address=0xbd6ce6ec frag=0xbd6ce6d4 size=512 used=1
 0(0)             alloc'd from domain_mod.c: mod_init(170)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      21. N  address=0xbd6ce91c frag=0xbd6ce904 size=4 used=1
 0(0)             alloc'd from domain_mod.c: mod_init(179)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      22. N  address=0xbd6ce950 frag=0xbd6ce938 size=512 used=1
 0(0)             alloc'd from hash.c: new_hash_table(44)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      23. N  address=0xbd6ceb80 frag=0xbd6ceb68 size=512 used=1
 0(0)             alloc'd from hash.c: new_hash_table(44)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      24. N  address=0xbd6cedb0 frag=0xbd6ced98 size=4 used=1
 0(0)             alloc'd from trusted.c: init_trusted(124)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      25. N  address=0xbd6cede4 frag=0xbd6cedcc size=20 used=1
 0(0)             alloc'd from hash.c: hash_table_insert(98)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      26. N  address=0xbd6cee28 frag=0xbd6cee10 size=16 used=1
 0(0)             alloc'd from hash.c: hash_table_insert(105)
 0(0)         start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
 0(0)      27. N  address=0xbd6cee68 frag=0xbd6cee50 size=24 used=1
 0(0)             alloc'd from hash.c: hash_table_insert(129)
 0(0)         start check=f0f0f0f0, end check= c0c0c000, abcdefed
 0(0) dumping free list stats :
 0(0) hash= 4107. fragments no.:     1, unused:     0
                 bucket size:  16777216 -  33554432 (first  31752504)
 0(0) -----------------------------

If you need other info, tell me, please.

Best Regards,

Verbal
----- Original Message ----- 
From: "Bogdan-Andrei IANCU" <iancu at fokus.fraunhofer.de>
To: "Francesco Bottà" <francesco.botta at eutelia.it>
Cc: <serusers at lists.iptel.org>; <serdev at lists.iptel.org>
Sent: Wednesday, January 19, 2005 4:44 PM
Subject: Re: [Serusers] Bug with allow_trusted ?


this is not a configuration error , but a memory bug in SER - somewhere 
is written more than allocated.
Please post the whole SER output starting with the BUG message and what 
SER version you are using- I moved the mail on serdev.

bogdan


Francesco Bottà wrote:

>Hi all,
>
>maybe it's a bug in module permissions. I'm trying to use the allow_trusted function to trust my SIP/DSS-1 gateways.
>Below my conf regarding module permission:
>
>modparam("permissions", "db_url", "mysql://ser:heslo@localhost/ser")
>modparam("permissions", "db_mode", 1)
>modparam("permissions", "trusted_table", "trusted")
>
>[skip]
>
>        if (search("(User-Agent): Cisco-SIPGateway/IOS-12.x") && (allow_trusted())) {
>            setflag(2);
>            append_hf("P-hint:Trusted_GW\r\n");
>            route(2);
>            break;
>        };
>
>but SER crashed and below the backtrace of the coredump:
>
>
>
>#0  0x0026fc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
>#1  0x002ae989 in raise () from /lib/tls/libc.so.6
>#2  0x002b0342 in abort () from /lib/tls/libc.so.6
>#3  0x08083039 in qm_debug_frag (qm=0xbd4fb000, f=0xbd6b2e98) at mem/q_malloc.c:156
>#4  0x08083425 in qm_malloc (qm=0xbd4fb000, size=20, file=0xbf0dcf "hash.c", func=0xbf0e1c "hash_table_insert", line=98)
>    at mem/q_malloc.c:379
>#5  0x00beb8b3 in _shm_malloc (size=20, file=0xbf0dcf "hash.c", function=0xbf0e1c "hash_table_insert", line=98) at shm_mem.h:135
>#6  0x00beb04d in hash_table_insert (hash_table=0xbd6b2b80, src_ip=0xa1b6c58 "X.X.X.X", proto=0xa1b6c66 "any", 
>    pattern=0xa1b6c6a "sip:[0-9]*@X.X.X.X") at hash.c:98
>#7  0x00befb4a in reload_trusted_table () at trusted.c:400
>#8  0x00beefd4 in init_trusted () at trusted.c:129
>#9  0x00bedd33 in mod_init () at permissions.c:459
>#10 0x08075260 in init_mod (m=0x8140ce4) at sr_module.c:474
>#11 0x080751d8 in init_mod (m=0x8140dd4) at sr_module.c:471
>#12 0x080751d8 in init_mod (m=0x8140ec4) at sr_module.c:471
>#13 0x080751d8 in init_mod (m=0x8140fb4) at sr_module.c:471
>#14 0x080751d8 in init_mod (m=0x81410a4) at sr_module.c:471
>#15 0x080751d8 in init_mod (m=0x8141194) at sr_module.c:471
>#16 0x080751d8 in init_mod (m=0x8141284) at sr_module.c:471
>#17 0x080752f1 in init_modules () at sr_module.c:497
>#18 0x0805d197 in main (argc=2, argv=0xbff219d4) at main.c:1553
>
>
>and here other trace in debug mode:
>
> 0(0) Number of rows in trusted table: 2
> 0(0) qm_malloc(0xbd559000, 20) called from hash.c: hash_table_insert(98)
> 0(0) qm_malloc(0xbd559000, 20) returns address 0xbd710de4 frag. 0xbd710dcc (size=20) on 1 -th hit
> 0(0) qm_malloc(0xbd559000, 13) called from hash.c: hash_table_insert(105)
> 0(0) qm_malloc(0xbd559000, 16) returns address 0xbd710e28 frag. 0xbd710e10 (size=16) on 1 -th hit
> 0(0) qm_malloc(0xbd559000, 24) called from hash.c: hash_table_insert(129)
> 0(0) qm_malloc(0xbd559000, 24) returns address 0xbd710e68 frag. 0xbd710e50 (size=24) on 1 -th hit
> 0(0) Tuple <Y.Y.Y.Y, any, sip:[0-9]*@Y.Y.Y.Y> inserted into trusted hash table
> 0(0) qm_malloc(0xbd559000, 20) called from hash.c: hash_table_insert(98)
> 0(0) BUG: qm_*: prev. fragm. tail overwritten(c0c0c000, abcdefed)[0xbd710e98:0xbd710eb0]!
> 0(0) qm_status (0xbd559000):
> 0(0)  heap size= 33340380
> 0(0)  used= 1586532, used+overhead=1801928, free=31538452
> 0(0)  max used (+overhead)= 1801928
> 0(0) dumping all alloc'ed. fragments:
>
>If so, what I'm wrong with the conf?
>
>Any suggestions??
>
>Many thanx
>
>Verbal
>
>_______________________________________________
>Serusers mailing list
>serusers at lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>
>  
>




More information about the sr-users mailing list