Daniel-Constantin Mierla writes:
I checked the xmlrpc module commit log and last code
changes were in
September 2014 - even those are not related to any xml ops. In the past,
have you used the xmlrpc commands for other similar deployments with an
older version than 4.4 of kamailio?
I have issued kamctl functions over xmlrpc for a long time and have
never had issues before.
In the test where kamailio is crashing, xmlrpc command is issued from
sems (which I have not tried earlier). I compared this test to my
normal xmlrpc usage and found a difference.
Sems sends this kind of xmlrpc command:
T 2016/05/03 13:28:20.001689 127.0.0.1:48615 -> 127.0.0.1:6060 [AP]
POST /RPC2 HTTP/1.1.
User-Agent: XMLRPC++ 0.8.
Host: 127.0.0.1:6060.
Content-Type: text/xml.
Content-length: 143.
.
<?xml version="1.0"?>.
<methodCall><methodName>htable.reload</methodName>.
<params><param><value>htable</value></param></params></methodCall>.
whereas the same command from my normal source (web server) looks like
this:
T 2016/05/03 13:27:48.857234 127.0.0.1:48613 -> 127.0.0.1:6060 [AP]
POST /RPC2 HTTP/1.0.
Host: 127.0.0.1.
Connection: close.
User-Agent: OpenSIPg XML_RPC Client.
Content-Type: text/xml.
Content-Length: 194.
.
##
T 2016/05/03 13:27:48.857263 127.0.0.1:48613 -> 127.0.0.1:6060 [AP]
<?xml version="1.0" ?>.
<methodCall>.
.<methodName>htable.reload</methodName>.
.<params>.
..<param>.
...<value>.
....<string>htable</string>.
...</value>.
..</param>.
.</params>.
</methodCall>.
i see two differences:
1) sems does not include
Connection: close.
header in the requests
2) sems does not include param value inside <string></string>
perhaps the latter confuses kamailio xmlrpc request parser and causes
the crash.
i made several tests generating xmlrpc requests from my wweb server and
didn't get the crash. then i made one xmlrpc request from sems and got
crash immediate when a made a call.
-- juha