<div dir="ltr"><div>Hello all,</div><div><br></div><div>I've been experiencing memory exhaustion (all 8GiB of it) on hosts running kamailio for quite some time now while on the 5.4.x train. I can't really say about previous versions, because the setup was quite different back when I was using those.</div><div><br></div><div>After about 2 days of operation, RAM is exhausted and kamailio is killed by the kernel OOM which frees up memory again. Restarting kamailio via systemd will also free up most memory. I can't seem to find what is using it up, so I'm guessing there might be a memory leak, but I'm not 100% sure so I thought I'd ask the list for opinions.</div><div><br></div><div>I'm including the output of kamcmd pkg and shm stats and kamctl stats here. My take on those is that there's nothing to show where all this RAM is going. Kamailio version is 5.4.5+bpo10 on debian buster and is started with '-P /run/kamailio/kamailio.pid -f /etc/kamailio/kamailio.cfg -m 2048 -M 16' (51 processes total). Thanks!<br></div><div><br></div><div>kamctl stats<br>{<br>  "jsonrpc":  "2.0",<br>  "result": [<br>    "core:bad_URIs_rcvd = 6470677",<br>    "core:bad_msg_hdr = 25370",<br>    "core:drop_replies = 0",<br>    "core:drop_requests = 342064",<br>    "core:err_replies = 0",<br>    "core:err_requests = 0",<br>    "core:fwd_replies = 24367",<br>    "core:fwd_requests = 375703",<br>    "core:rcv_replies = 45021597",<br>    "core:rcv_replies_18x = 834856",<br>    "core:rcv_replies_1xx = 1505425",<br>    "core:rcv_replies_1xx_bye = 17",<br>    "core:rcv_replies_1xx_cancel = 7",<br>    "core:rcv_replies_1xx_invite = 1497313",<br>    "core:rcv_replies_1xx_message = 0",<br>    "core:rcv_replies_1xx_prack = 0",<br>    "core:rcv_replies_1xx_refer = 0",<br>    "core:rcv_replies_1xx_reg = 0",<br>    "core:rcv_replies_1xx_update = 0",<br>    "core:rcv_replies_2xx = 41764997",<br>    "core:rcv_replies_2xx_bye = 328464",<br>    "core:rcv_replies_2xx_cancel = 223572",<br>    "core:rcv_replies_2xx_invite = 371129",<br>    "core:rcv_replies_2xx_message = 190",<br>    "core:rcv_replies_2xx_prack = 0",<br>    "core:rcv_replies_2xx_refer = 3205",<br>    "core:rcv_replies_2xx_reg = 12783948",<br>    "core:rcv_replies_2xx_update = 0",<br>    "core:rcv_replies_3xx = 1052",<br>    "core:rcv_replies_3xx_bye = 0",<br>    "core:rcv_replies_3xx_cancel = 0",<br>    "core:rcv_replies_3xx_invite = 1052",<br>    "core:rcv_replies_3xx_message = 0",<br>    "core:rcv_replies_3xx_prack = 0",<br>    "core:rcv_replies_3xx_refer = 0",<br>    "core:rcv_replies_3xx_reg = 0",<br>    "core:rcv_replies_3xx_update = 0",<br>    "core:rcv_replies_401 = 17120",<br>    "core:rcv_replies_404 = 525917",<br>    "core:rcv_replies_407 = 553",<br>    "core:rcv_replies_480 = 23138",<br>    "core:rcv_replies_486 = 74201",<br>    "core:rcv_replies_4xx = 1715492",<br>    "core:rcv_replies_4xx_bye = 2146",<br>    "core:rcv_replies_4xx_cancel = 594",<br>    "core:rcv_replies_4xx_invite = 317850",<br>    "core:rcv_replies_4xx_message = 208",<br>    "core:rcv_replies_4xx_prack = 0",<br>    "core:rcv_replies_4xx_refer = 1",<br>    "core:rcv_replies_4xx_reg = 2382",<br>    "core:rcv_replies_4xx_update = 0",<br>    "core:rcv_replies_5xx = 29462",<br>    "core:rcv_replies_5xx_bye = 15",<br>    "core:rcv_replies_5xx_cancel = 10",<br>    "core:rcv_replies_5xx_invite = 3501",<br>    "core:rcv_replies_5xx_message = 0",<br>    "core:rcv_replies_5xx_prack = 0",<br>    "core:rcv_replies_5xx_refer = 0",<br>    "core:rcv_replies_5xx_reg = 25157",<br>    "core:rcv_replies_5xx_update = 0",<br>    "core:rcv_replies_6xx = 5169",<br>    "core:rcv_replies_6xx_bye = 0",<br>    "core:rcv_replies_6xx_cancel = 0",<br>    "core:rcv_replies_6xx_invite = 5169",<br>    "core:rcv_replies_6xx_message = 0",<br>    "core:rcv_replies_6xx_prack = 0",<br>    "core:rcv_replies_6xx_refer = 0",<br>    "core:rcv_replies_6xx_reg = 0",<br>    "core:rcv_replies_6xx_update = 0",<br>    "core:rcv_requests = 67620661",<br>    "core:rcv_requests_ack = 707431",<br>    "core:rcv_requests_bye = 336874",<br>    "core:rcv_requests_cancel = 226878",<br>    "core:rcv_requests_info = 70",<br>    "core:rcv_requests_invite = 1038320",<br>    "core:rcv_requests_message = 796",<br>    "core:rcv_requests_notify = 6027113",<br>    "core:rcv_requests_options = 29079952",<br>    "core:rcv_requests_prack = 0",<br>    "core:rcv_requests_publish = 40344",<br>    "core:rcv_requests_refer = 3217",<br>    "core:rcv_requests_register = 20919429",<br>    "core:rcv_requests_subscribe = 5296608",<br>    "core:rcv_requests_update = 0",<br>    "core:unsupported_methods = 0",<br>    "dialog:active_dialogs = 458",<br>    "dialog:early_dialogs = 123",<br>    "dialog:expired_dialogs = 105",<br>    "dialog:failed_dialogs = 321224",<br>    "dialog:processed_dialogs = 645092",<br>    "dns:failed_dns_request = 534",<br>    "dns:slow_dns_request = 0",<br>    "mysql:driver_errors = 18",<br>    "shmem:fragments = 8836",<br>    "shmem:free_size = 1955034032",<br>    "shmem:max_used_size = 250791392",<br>    "shmem:real_used_size = 192449616",<br>    "shmem:total_size = 2147483648",<br>    "shmem:used_size = 105997528",<br>    "siptrace:traced_replies = 0",<br>    "siptrace:traced_requests = 0",<br>    "sl:1xx_replies = 0",<br>    "sl:200_replies = 14330540",<br>    "sl:202_replies = 0",<br>    "sl:2xx_replies = 0",<br>    "sl:300_replies = 0",<br>    "sl:301_replies = 0",<br>    "sl:302_replies = 0",<br>    "sl:3xx_replies = 0",<br>    "sl:400_replies = 3",<br>    "sl:401_replies = 7979168",<br>    "sl:403_replies = 14845",<br>    "sl:404_replies = 1159237",<br>    "sl:407_replies = 2445205",<br>    "sl:408_replies = 0",<br>    "sl:483_replies = 79336",<br>    "sl:4xx_replies = 28",<br>    "sl:500_replies = 0",<br>    "sl:5xx_replies = 0",<br>    "sl:6xx_replies = 0",<br>    "sl:failures = 1",<br>    "sl:received_ACKs = 342064",<br>    "sl:sent_err_replies = 0",<br>    "sl:sent_replies = 26008362",<br>    "sl:xxx_replies = 0",<br>    "sst:expired_sst = 0",<br>    "tcp:con_reset = 0",<br>    "tcp:con_timeout = 0",<br>    "tcp:connect_failed = 0",<br>    "tcp:connect_success = 0",<br>    "tcp:current_opened_connections = 0",<br>    "tcp:current_write_queue_size = 0",<br>    "tcp:established = 24562",<br>    "tcp:local_reject = 0",<br>    "tcp:passive_open = 24562",<br>    "tcp:send_timeout = 0",<br>    "tcp:sendq_full = 0",<br>    "tmx:2xx_transactions = 41122607",<br>    "tmx:3xx_transactions = 1049",<br>    "tmx:4xx_transactions = 1904640",<br>    "tmx:5xx_transactions = 8025",<br>    "tmx:6xx_transactions = 5165",<br>    "tmx:UAC_transactions = 2602132",<br>    "tmx:UAS_transactions = 43036902",<br>    "tmx:active_transactions = 145",<br>    "tmx:inuse_transactions = 888",<br>    "tmx:rpl_absorbed = 1541413",<br>    "tmx:rpl_generated = 1111996",<br>    "tmx:rpl_received = 44996889",<br>    "tmx:rpl_relayed = 43455476",<br>    "tmx:rpl_sent = 44567472"<br>  ],<br>  "id": 15546<br>}<br><br>kamcmd mod.stats all pkg<br>Module: core<br>{<br>        init_io_wait(469): 8040<br>        init_modules(911): 16<br>        get_hdr_field(116): 464<br>        parse_headers(325): 128<br>        rpc_hash_add(151): 2048<br>        cnt_hash_add(394): 2048<br>        register_select_table(458): 48<br>        sr_wtimer_add(373): 80<br>        add_callback(59): 312<br>        sr_wtimer_init(351): 136<br>        cfg_declare(50): 3168<br>        fix_sock_str(500): 480<br>        fix_hostname(1466): 96<br>        grp_hash_add(241): 728<br>        init_dst_set(89): 32296<br>        cfg_script_fixup(303): 8<br>        cfg_script_fixup(247): 288<br>        cfg_script_fixup(241): 120<br>        new_db_id(318): 304<br>        fix_expr(554): 192<br>        parse_pvname_list(1599): 480<br>        mk_switch_jmp_table(73): 448<br>        fix_param(1140): 672<br>        pv_parse_index(776): 1232<br>        subst_parser(291): 144<br>        subst_parser(274): 64<br>        subst_parser(301): 8<br>        route_new_list(199): 1152<br>        init_io_wait(516): 7256<br>        db_do_init2(299): 280<br>        parse_select(204): 2496<br>        fix_param(1079): 704<br>        mk_match_cond_table(100): 944<br>        mk_name_lst(3754): 72<br>        mk_listen_id(3771): 96<br>        yyparse(2853): 19728<br>        fix_param(1045): 11792<br>        fixup_regexp_null(213): 368<br>        tr_new(1730): 12352<br>        fix_match(490): 384<br>        fixup_pvar_all(279): 14512<br>        mk_rval_expr2(2703): 845408<br>        mk_elem(90): 528<br>        fix_match_rve(3059): 1464<br>        pv_cache_add(349): 63872<br>        mk_rval_expr1(2643): 522656<br>        mk_case_stm(3879): 3432<br>        mk_rval_expr_v(2562): 2513784<br>        mk_action(118): 493240<br>        parse_params2(593): 6496<br>        set_mod_param_regex(145): 1248<br>        set_mod_param_regex(134): 2520<br>        tr_table_add(1959): 360<br>        register_module(253): 39928<br>        register_module(236): 4784<br>        load_module(437): 2624<br>        new_cfg_script_var(134): 88<br>        dupl_string_name(74): 56<br>        dupl_string(49): 184<br>        new_cfg_script_var(126): 104<br>        pv_parse_format(1173): 30744<br>        cfg_new_group(79): 864<br>        new_sock_info(304): 96<br>        new_sock_info(299): 2400<br>        yyparse(659): 352<br>        yyparse(1879): 216<br>        add_alias(103): 256<br>        add_alias(99): 320<br>        yyparse(2388): 408<br>        yyparse(678): 368<br>        sr_push_yy_state(1695): 208<br>        sr_push_yy_state(1634): 584<br>        addstr(1448): 572072<br>        rpc_hash_add(105): 28128<br>        str_hash_alloc(59): 512<br>        pv_table_add(236): 19448<br>        pv_init_buffer(2139): 327680<br>        pv_init_buffer(2129): 320<br>        init_nonsip_hooks(43): 24<br>        rval_get_str(1281): 54920<br>        init_rlist(146): 24<br>        fix_socket_list(1675): 56<br>        route_add(124): 5312<br>        str_hash_alloc(59): 768<br>        mk_rval_expr_v(2575): 3304<br>        pp_define(1827): 1344<br>        init_counters(125): 128<br>        cnt_hash_add(341): 27856<br>        str_hash_alloc(59): 1280<br>        Total: 5708952<br>}<br><br>Module: permissions<br>{<br>        get_pathname(243): 64<br>        Total: 64<br>}<br><br>Module: auth<br>{<br>        generate_random_secret(240): 32<br>        generate_random_secret(239): 32<br>        Total: 64<br>}<br><br>Module: dialog<br>{<br>        dlg_bridge_init_hdrs(66): 80<br>        Total: 80<br>}<br><br>Module: acc<br>{<br>        parse_acc_extra(116): 6384<br>        Total: 6384<br>}<br><br>Module: xlog<br>{<br>        mod_init(212): 8200<br>        xdbg_fixup_helper(498): 7736<br>        xlog_fixup_helper(533): 36280<br>        Total: 52216<br>}<br><br>Module: dmq<br>{<br>        make_socket_str_from_uri(143): 24<br>        Total: 24<br>}<br><br>Module: rr<br>{<br>        register_rrcb(61): 96<br>        Total: 96<br>}<br><br>Module: jsonrpcs<br>{<br>        jsonrpc_dgram_mod_init(182): 40<br>        jsonrpc_init_fifo_server(123): 128<br>        jsonrpc_fifo_mod_init(525): 40<br>        Total: 208<br>}<br><br>Module: sqlops<br>{<br>        sqlops_tr_buffer_init(46): 2048<br>        sql_init_con(83): 480<br>        Total: 2528<br>}<br><br>Module: db_mysql<br>{<br>        db_mysql_new_connection(78): 3560<br>        db_mysql_new_connection(68): 96<br>        Total: 3656<br>}<br><br>Module: phonenum<br>{<br>        sr_phonenum_add_item(99): 16<br>        sr_phonenum_add_item(93): 608<br>        pv_parse_phonenum_name(131): 224<br>        Total: 848<br>}<br><br>Module: pv<br>{<br>        tr_parse_string(2717): 96<br>        tr_parse_uri(2806): 64<br>        tr_parse_string(2639): 336<br>        tr_parse_string(2628): 424<br>        tr_parse_paramlist(2978): 288<br>        tr_parse_paramlist(2906): 192<br>        tr_parse_string(2569): 120<br>        pv_parse_xavp_name(541): 2664<br>        pv_parse_xavp_name(515): 3720<br>        tr_parse_string(2484): 864<br>        tr_parse_string(2473): 904<br>        add_var(58): 4384<br>        tr_parse_string(2519): 2144<br>        tr_parse_string(2509): 5184<br>        add_var(65): 1544<br>        Total: 22928<br>}<br><br>Module: textops<br>{<br>        tr_txt_parse_re(212): 32<br>        hname_fixup(3528): 1960<br>        fixup_method(3598): 1648<br>        Total: 3640<br>}<br><br>Module: tmx<br>{<br>        pv_parse_t_var_name(390): 176<br>        Total: 176<br>}<br><br>Module: rtpengine<br>{<br>        build_rtpp_socks(1801): 24<br>        child_init(1987): 240<br>        Total: 264<br>}<br><br>Module: htable<br>{<br>        fixup_ht_key(352): 352<br>        pv_parse_ht_name(158): 2240<br>        Total: 2592<br>}<br><br>Module: textopsx<br>{<br>        fixup_hname_param(593): 320<br>        Total: 320<br>}<br><br>Module: avpops<br>{<br>        avpops_parse_pvar(57): 64<br>        Total: 64<br>}<br><br>Module: ndb_redis<br>{<br>        redisc_add_server(348): 216648<br>        Total: 216648<br>}<br><br>Module: sl<br>{<br>        sl_register_callback(514): 64<br>        Total: 64<br>}<br><br>Module: siptrace<br>{<br>        mod_init(341): 384<br>        Total: 384<br>}<br><br>Module: tm<br>{<br>        Total: 0<br>}<br><br>Module: kex<br>{<br>        Total: 0<br>}<br><br>Module: topos<br>{<br>        Total: 0<br>}<br><br>Module: mtree<br>{<br>        Total: 0<br>}<br><br>Module: cfgutils<br>{<br>        Total: 0<br>}<br><br>Module: dispatcher<br>{<br>        Total: 0<br>}<br><br>Module: outbound<br>{<br>        Total: 0<br>}<br><br>kamcmd mod.stats all shm<br>Module: core<br>{<br>        dns_cache_mk_rd_entry(1110): 1288<br>        counters_prefork_init(212): 65280<br>        cfg_clone_str(130): 136<br>        cfg_shmize(217): 824<br>        main_loop(1341): 8<br>        init_pt(107): 8<br>        init_pt(106): 8<br>        init_pt(105): 7552<br>        build_req_buf_from_sip_req(2218): 791408<br>        xavp_new_value(116): 186472<br>        sip_msg_shm_clone(496): 4101904<br>        msg_lump_cloner(986): 755320<br>        create_avp(175): 145064<br>        register_timer(995): 216<br>        cfg_register_ctx(47): 64<br>        init_tcp(4962): 8192<br>        init_tcp(4956): 32768<br>        init_tcp(4947): 8<br>        init_tcp(4940): 8<br>        init_tcp(4933): 8<br>        init_tcp(4927): 8<br>        init_tcp(4915): 8<br>        init_avps(90): 8<br>        init_avps(89): 8<br>        init_dst_blacklist(438): 16384<br>        init_dst_blacklist(430): 8<br>        timer_alloc(498): 96<br>        init_dns_cache(361): 8<br>        init_dns_cache(352): 16384<br>        init_dns_cache(344): 16<br>        init_dns_cache(336): 8<br>        init_timer(267): 8<br>        init_timer(266): 16384<br>        init_timer(265): 8<br>        init_timer(264): 8<br>        init_timer(253): 8<br>        init_timer(221): 8<br>        init_timer(210): 278544<br>        init_timer(209): 8<br>        init_timer(197): 8<br>        cfg_child_cb_new(829): 64<br>        sr_cfg_init(361): 8<br>        sr_cfg_init(354): 8<br>        sr_cfg_init(347): 8<br>        sr_cfg_init(335): 8<br>        sr_cfg_init(323): 8<br>        ksr_shutdown_phase_init(120): 8<br>        qm_shm_lock_init(1202): 8<br>        Total: 6424576<br>}<br><br>Module: permissions<br>{<br>        domain_name_table_insert(978): 96<br>        addr_hash_table_insert(458): 2776<br>        subnet_table_insert(670): 336<br>        init_addresses(526): 8<br>        new_domain_name_table(865): 2048<br>        init_addresses(512): 8<br>        new_subnet_table(635): 57456<br>        init_addresses(498): 8<br>        new_addr_hash_table(418): 2048<br>        init_trusted(220): 8<br>        new_hash_table(98): 2048<br>        Total: 66840<br>}<br><br>Module: auth<br>{<br>        Total: 0<br>}<br><br>Module: dialog<br>{<br>        dlg_update_cseq(636): 456<br>        dlg_get_iuid_shm_clone(308): 4688<br>        set_dlg_profile(580): 139680<br>        dlg_set_leg_info(553): 64608<br>        dlg_set_leg_info(544): 16296<br>        build_new_dlg(469): 356616<br>        dlg_set_leg_info(536): 29176<br>        new_dlg_var(127): 624976<br>        new_dlg_var(108): 1675696<br>        init_dlg_table(297): 131088<br>        init_dlg_table(289): 8<br>        init_dlg_table(282): 8<br>        init_dlg_table(277): 8<br>        init_dlg_timer(57): 8<br>        init_dlg_timer(48): 32<br>        new_dlg_profile(188): 2272<br>        new_dlg_var(117): 642216<br>        dlg_set_leg_info(562): 18208<br>        init_dlg_callback(55): 32<br>        register_dlgcb(124): 189728<br>        Total: 3895800<br>}<br><br>Module: acc<br>{<br>        Total: 0<br>}<br><br>Module: xlog<br>{<br>        Total: 0<br>}<br><br>Module: dmq<br>{<br>        alloc_job_queue(255): 64<br>        shm_str_dup(802): 280<br>        build_dmq_node(164): 3616<br>        add_peer(68): 168<br>        mod_init(236): 8<br>        mod_init(229): 48<br>        init_dmq_node_list(70): 24<br>        init_peer_list(33): 24<br>        Total: 4232<br>}<br><br>Module: rr<br>{<br>        Total: 0<br>}<br><br>Module: jsonrpcs<br>{<br>        Total: 0<br>}<br><br>Module: sqlops<br>{<br>        Total: 0<br>}<br><br>Module: db_mysql<br>{<br>        Total: 0<br>}<br><br>Module: phonenum<br>{<br>        Total: 0<br>}<br><br>Module: pv<br>{<br>        add_shvar(177): 8<br>        add_shvar(170): 64<br>        lock_set_alloc(66): 80<br>        Total: 152<br>}<br><br>Module: textops<br>{<br>        Total: 0<br>}<br><br>Module: tmx<br>{<br>        tmx_check_pretran(271): 6280<br>        tmx_check_pretran(250): 3320<br>        tmx_init_pretran_table(90): 512<br>        Total: 10112<br>}<br><br>Module: rtpengine<br>{<br>        rtpengine_hash_table_init(111): 14336<br>        rtpengine_hash_table_init(96): 2048<br>        rtpengine_hash_table_init(85): 1024<br>        rtpengine_hash_table_init(76): 2048<br>        rtpengine_hash_table_init(67): 2048<br>        rtpengine_hash_table_init(58): 32<br>        add_rtpengine_socks(978): 96<br>        add_rtpengine_socks(959): 256<br>        get_rtpp_set(873): 8<br>        get_rtpp_set(864): 56<br>        mod_init(1606): 8<br>        mod_init(1599): 24<br>        mod_init(1586): 8<br>        mod_init(1579): 8<br>        mod_init(1565): 16<br>        rtpp_function_call(2657): 1367600<br>        shm_str_dup(802): 2205800<br>        Total: 3595416<br>}<br><br>Module: htable<br>{<br>        ht_init_tables(394): 2574336<br>        ht_cell_new(186): 68875496<br>        ht_add_table(315): 256<br>        ht_add_table(289): 8424<br>        Total: 71458512<br>}<br><br>Module: textopsx<br>{<br>        Total: 0<br>}<br><br>Module: avpops<br>{<br>        Total: 0<br>}<br><br>Module: ndb_redis<br>{<br>        Total: 0<br>}<br><br>Module: sl<br>{<br>        init_sl_stats_child(125): 9792<br>        sl_startup(90): 8<br>        init_sl_stats(110): 8<br>        Total: 9808<br>}<br><br>Module: siptrace<br>{<br>        mod_init(320): 8<br>        Total: 8<br>}<br><br>Module: tm<br>{<br>        cancel_reason_pack(1224): 104<br>        update_totag_set(321): 656<br>        build_local_reparse(328): 28384<br>        update_totag_set(320): 864<br>        _reply_light(500): 21480<br>        init_tm_stats_child(56): 13056<br>        build_cell(334): 8250680<br>        relay_reply(2064): 439848<br>        build_uac_req(1597): 118672<br>        insert_tmcb(135): 49272<br>        init_tmcb_lists(72): 16<br>        init_tmcb_lists(70): 16<br>        init_hash_table(482): 2097152<br>        tm_rpc_response_list_init(77): 16<br>        Total: 11020216<br>}<br><br>Module: kex<br>{<br>        pkg_proc_stats_init(79): 2448<br>        Total: 2448<br>}<br><br>Module: topos<br>{<br>        lock_set_alloc(66): 2064<br>        Total: 2064<br>}<br><br>Module: mtree<br>{<br>        mt_add_to_tree(229): 2656<br>        mod_init(247): 8<br>        mt_add_to_tree(255): 9559984<br>        mt_add_to_tree(291): 811224<br>        mt_add_to_tree(301): 269848<br>        mt_init_tree(149): 152<br>        mt_init_tree(136): 256<br>        mt_init_tree(125): 176<br>        mt_init_tree(114): 2376<br>        mt_table_spec(840): 8<br>        Total: 10646688<br>}<br><br>Module: cfgutils<br>{<br>        mod_init(898): 32<br>        mod_init(892): 8<br>        mod_init(884): 8<br>        Total: 48<br>}<br><br>Module: dispatcher<br>{<br>        mod_init(484): 80<br>        reindex_dests(723): 7680<br>        ds_avl_insert(3621): 11984<br>        ds_set_attrs(301): 960<br>        pack_dest(411): 1456<br>        ds_init_data(262): 16<br>        ds_init_data(254): 16<br>        ds_parse_reply_codes(1112): 808<br>        mod_init(339): 8<br>        mod_init(337): 8<br>        ds_ping_active_init(138): 8<br>        Total: 23024<br>}<br><br>Module: outbound<br>{<br>        mod_init(99): 24<br>        Total: 24<br>}</div></div>