I added this to my config to try and it caused a segfault on startup in sql_query.
It seems the db connection is not initialised at this point.
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00007f47450517ef in sql_do_query (con=0x7f474d573930, query=0x7ffffc18f350,
res=0x7f474d7220a0) at sql_api.c:257
#2 0x00007f4745059a7b in sql_query (msg=0x7f47484ea540, dbl=0x7f474d573930
"@;WMG\177", query=0x7f474d6780e8 "\250\016rMG\177",
res=0x7f474d7220a0 "j8Wi") at sqlops.c:209
#3 0x0000000000419ca2 in do_action (h=0x7ffffc18fa50, a=0x7f474d7207b0,
msg=0x7f47484ea540) at action.c:1117
#4 0x0000000000422878 in run_actions (h=0x7ffffc18fa50, a=0x7f474d720420,
msg=0x7f47484ea540) at action.c:1599
#5 0x0000000000423017 in run_top_route (a=0x7f474d720420, msg=0x7f47484ea540,
c=0x7ffffc18fa50) at action.c:1685
#6 0x00007f4742d1cbec in child_init (rank=-127) at htable.c:223
#7 0x00000000004f7ec2 in init_mod_child (m=0x7f474d56dad8, rank=-127) at
sr_module.c:924
#8 0x00000000004f7d65 in init_mod_child (m=0x7f474d56e3e0, rank=-127) at
sr_module.c:921
#9 0x00000000004f8048 in init_child (rank=-127) at sr_module.c:948
#10 0x000000000046ce42 in main_loop () at main.c:1571
#11 0x000000000047030b in main (argc=13, argv=0x7ffffc18fec8) at main.c:2533
(gdb) frame 1
#1 0x00007f47450517ef in sql_do_query (con=0x7f474d573930, query=0x7ffffc18f350,
res=0x7f474d7220a0) at sql_api.c:257
257 if(con->dbf.raw_query(con->dbh, query, &db_res)!=0)
(gdb) p con
$1 = (sql_con_t *) 0x7f474d573930
(gdb) p con->dbf
$2 = {cap = 0, use_table = 0, init = 0, init2 = 0, close = 0, query = 0, fetch_result = 0,
raw_query = 0, free_result = 0, insert = 0, delete = 0, update = 0, replace = 0,
last_inserted_id = 0, insert_update = 0, insert_delayed = 0,
affected_rows = 0, start_transaction = 0, end_transaction = 0, abort_transaction = 0,
query_lock = 0}
(gdb)
Regards,
Hugh
From: sr-users-bounces(a)lists.sip-router.org [mailto:sr-users-bounces@lists.sip-router.org]
On Behalf Of Sebastian Damm
Sent: 15 May 2014 10:34
To: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List
Subject: [SR-Users] DB select htable:mod-init doesn't work
Hi,
I'm trying to fill a hash table on startup in the htable:mod-init event route. But it
doesn't work. Kamailio doesn't start at all, but doesn't print out an error in
the log.
This is what the route looks like:
event_route[htable:mod-init] {
xlog("L_NOTICE", "Loading Carrier domains into Hash
table.\n");
sql_query("ser", "select domain_name from carrier_domains",
"domains");
xlog("L_NOTICE", "Loaded from database...\n");
while($var(i)<$dbr(domains=>cols)) {
xlog("L_NOTICE", "Entry:
$dbr(domains=>[$var(i),0])\n");
$sht(carrierips=>$var(i)) = $dbr(domains=>[$var(i),0]);
$var(i) = $var(i) + 1;
}
}
Of course, the necessary parameters are set.
modparam("htable", "htable", "carrierips=>size=6")
modparam("sqlops","sqlcon","ser=>mysql://user:password@127.0.0.1/ser<http://user:password@127.0.0.1/ser>")
In the log I see the following:
May 15 11:25:33 linux /usr/sbin/kamailio[20872]: NOTICE: <script>: Loading Carrier
domains into Hash table.
As you can see, there should be a lot more output, but nothing happens anymore after that.
In ngrep I see other queries going to the same database from other modules, but my query
from the event route is never executed.
Am I missing something?
Best Regards,
Sebastian
________________________________
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It
may contain proprietary material, confidential information and/or be subject to legal
privilege. It should not be copied, disclosed to, retained or used by, any other party. If
you are not an intended recipient then please promptly delete this e-mail and any
attachment and all copies and inform the sender. Thank you for understanding.