Description:
For client initiated backup, ua->UA_sock == jcr->file_bsock, see
(ua_run.c:275):
if (rc.fdcalled) {
jcr->file_bsock = ua->UA_sock;
jcr->file_bsock->set_jcr(jcr);
}
So when jcr is freed, the ua->UA_sock which is used by ua->error_msg
and others, is no longer valid.
}
Dmsg4(100, "JobId=%u NewJobId=%d pool=%s priority=%d\n", (int)jcr->JobId,
JobId, jcr->pool->name(), jcr->JobPriority);
- free_jcr(jcr); /* release jcr */
if (JobId == 0) {
ua->error_msg(_("Job %s failed.\n"), edit_int64(rc.jr.JobId, ed1));
} else {
ua->send_msg(_("Job queued. JobId=%s\n"), edit_int64(JobId, ed1));
}
+
+ free_jcr(jcr); /* release jcr */
+
if (rc.fdcalled) {
ua->signal(BNET_FDCALLED); /* After this point, this is a new connection */
ua->UA_sock = new_bsock();