Hello,
I'm working from the 2.2 nightly build repo on Debian Jessie, 64-bit,
specifically, 2.2.1~20160830~7261cf0-1.
I have a simple test script that runs a stored procedure on a Microsoft SQL
2014 server and xlogs the returned AVPs. This works fine. When I break it up
into an async() function and a return route block, I get a crash every time.
Script:
route {
xlog("L_INFO", "Sending query...\n");
async(avp_db_query("exec dbo.doStuff '1','2','3','4'",
"$avp(db1);$avp(db2);$avp(db3)"), post_db_dip);
}
route [post_db_dip] {
xlog("L_INFO", "Back from query.\n");
while (is_avp_set("$avp(db1)") && is_avp_set("$avp(db2)") &&
is_avp_set("$avp(db3)")) {
xlog("L_INFO", "db1=$avp(db1), db2=$avp(db2),
db3=$avp(db3)\n");
avp_delete("$avp(db1)");
avp_delete("$avp(db2)");
avp_delete("$avp(db3)");
}
xlog("L_INFO", "End of processing.\n");
sl_send_reply("600", "Road Closed");
exit;
}
The debug=6:
...
/usr/sbin/opensips[19887]: DBG:avpops:ops_async_dbquery: query [exec
dbo.doStuff '1','2','3','4']
/usr/sbin/opensips[19887]: DBG:db_virtual:db_virtual_async_raw_query: f call
handle size = 1
/usr/sbin/opensips[19887]: DBG:db_virtual:try_reconnect: try reconnect
/usr/sbin/opensips[19887]: DBG:db_virtual:db_virtual_async_raw_query: flags1 = 3
/usr/sbin/opensips[19883]: DBG:core:handle_sigs: status = 11
/usr/sbin/opensips[19883]: INFO:core:handle_sigs: child process 19887 exited by
a signal 11
/usr/sbin/opensips[19883]: INFO:core:handle_sigs: core was not generated
/usr/sbin/opensips[19883]: INFO:core:handle_sigs: terminating due to SIGCHLD
/usr/sbin/opensips[19890]: INFO:core:sig_usr: signal 15 received
/usr/sbin/opensips[19889]: INFO:core:sig_usr: signal 15 received
/usr/sbin/opensips[19888]: INFO:core:sig_usr: signal 15 received
/usr/sbin/opensips[19886]: INFO:core:sig_usr: signal 15 received
/usr/sbin/opensips[19885]: INFO:core:sig_usr: signal 15 received
/usr/sbin/opensips[19884]: INFO:core:sig_usr: signal 15 received
/usr/sbin/opensips[19883]: INFO:core:cleanup: cleanup
...and so forth.
The process that crashes, 19887 in this particular case, is a listener process.
I never see the "Back from xlog" xlog appear. OpenSIPS immediately respawns
but I suspect that's systemd.
Am I doing something wrong, or is this a bug?
- Jeff
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users