Daniel-Constantin Mierla writes:
These ones are no longer related to xmlrpc, but
triggered by an sqlops
query - first bracktrace, the other two are during the signal
handling.
OK, but there must be some kind of relation to xmlrpc, because I have
had this same test system running without any problems for months and
now suddenly I started to experience crashes, which happen always after
xmlrpc queries.
The one for sqlops leads quite a bit inside the
libmysqlclient, which
can happen because there is a buffer overflow in kamailio for the
operations in the system memory or an issue in the libmysqlclient.
Trying to investigate on the first option -- does it happen always after
an xmlrpc command? If yes, it is any kind of command or a specific
xmlrpc command (I see you used htable.reload)?
Yes. I made another test. I sent
three xmlrpc queries (htable.reload)
and got crash after the third. Why after third could be explained by
this sql_query that gets executed once per minute:
route [cleaner] { # Clean old statistics from database
sql_query_async("sip_proxy_usage", "DELETE FROM statistics WHERE
(unix_timestamp() - time_stamp) > 86400");
}
So xmlrpc query or queries did something and that something triggered
subsequent sql_query to crash.
Thinking more of it -- is the route[cleaner]
executed with rtimer on a
dedicated timer process?
If yes, then the private memory operations should not conflict between
rtimer process and sip worker process (that handled xmlrpc)... Even
there would be a buffer overflow, only the same process is affected.
Cheers,
Daniel
--
Daniel-Constantin Mierla