Just as with your previous post Confd_notification_send error "Malformed XML" this looks like an application memory issue
Need more input on the issue, e.g. a libconfd trace with timestamp. If you can have the libconfd trace set to CONFD_PROTO_TRACE debug level, you can match the notification and other API calls timestamps with the entry you see in the developer log on the ConfD side.
For example, here I am sending a NETCONF config change notification over the NETCONF stream,
Application:
static void send_cfg_change(void)
{
confd_tag_value_t vals[11];
int i = 0;
struct in_addr in;
confd_hkeypath_t *kp;
int msock;
struct sockaddr_in addr;
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_family = AF_INET;
addr.sin_port = htons(CONFD_PORT);
maapi_socket(&msock, &addr);
maapi_xpath2kpath(msock, "/interfaces/interface", &kp);
close(msock);
inet_pton(AF_INET, "160.160.160.160", &in);
CONFD_SET_TAG_XMLBEGIN(&vals[i], ncn_netconf_config_change, ncn__ns); i++;
CONFD_SET_TAG_XMLBEGIN(&vals[i], ncn_changed_by, ncn__ns); i++;
CONFD_SET_TAG_STR(&vals[i], ncn_username, "admin"); i++;
CONFD_SET_TAG_UINT32(&vals[i], ncn_session_id, 0); i++;
CONFD_SET_TAG_IPV4(&vals[i], ncn_source_host, in); i++;
CONFD_SET_TAG_XMLEND(&vals[i], ncn_changed_by, ncn__ns); i++;
CONFD_SET_TAG_ENUM_VALUE(&vals[i], ncn_datastore, ncn_running); i++;
CONFD_SET_TAG_XMLBEGIN(&vals[i], ncn_edit, ncn__ns); i++;
CONFD_SET_TAG_OBJECTREF(&vals[i], ncn_target, kp);i++;
CONFD_SET_TAG_XMLEND(&vals[i], ncn_edit, ncn__ns); i++;
CONFD_SET_TAG_XMLEND(&vals[i], ncn_netconf_config_change, ncn__ns); i++;
send_notification(vals, i);
confd_free_hkeypath(kp);
}
libconfd trace with debug level set to CONFD_PROTO_TRACE:
...
sending cfg change
TRACE Connected (maapi) to ConfD
TRACE MAAPI_XPATH2HKP
7-May-2017::12:59:09.837 14939/7fffca3bb3c0/5 SEND op=228 isrel=0 th=-1 #Bin</interfaces/interfac(1)....>
7-May-2017::12:59:09.837 14939/7fffca3bb3c0/5 GOT [221572658,[1945824463|321503962]]
--> CONFD_OK
TRACE NOTIFICATION_SEND NETCONF
7-May-2017::12:59:09.837 14939/7fffca3bb3c0/4 SEND op=15 isrel=0 th=-1 {170,'NETCONF',undefined,{19,{2017,5,7,10,59,9,837561,0,0}},0,{hxml,[{[1244620176|2103098691],start},{[1244620176|737643097],start},{870658415,#Bin<admin>},{372565948,{12,0}},{1399987302,{160,160,160,160}},{[1244620176|737643097],stop},{449538578,{28,0}},{[1244620176|1716487530],start},{1914145912,{34,[221572658,[1945824463|321503962]]}},{[1244620176|1716487530],stop},{[1244620176|2103098691],stop}]}}
netconf-console client side printout:
$ netconf-console --create-subscription=NETCONF
<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
<ok/>
</rpc-reply>
<?xml version="1.0" encoding="UTF-8"?>
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<eventTime>2017-05-07T10:59:09.837561+00:00</eventTime>
<netconf-config-change xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-notifications">
<changed-by>
<username>admin</username>
<session-id>0</session-id>
<source-host>160.160.160.160</source-host>
</changed-by>
<datastore>running</datastore>
<edit>
<target xmlns:notif="http://tail-f.com/ns/test/notif">/notif:interfaces/notif:interface</target>
</edit>
</netconf-config-change>
</notification>