Hello,
Thanks for the report. I recommend that you submit it as a bug report to
avoid all chances of it getting lost.
The acl code was totally rewritten for this release, and and in looking
at the code, I see that there is no implementation at all for OpenBSD,
not even an empty implementation, which leads to the seg fault.
I will contact the author to see if he has a solution. In the mean
time, I suggest that you comment out all
calls to jcr->xacl-> ...
Best regards,
Kern
On 02/20/2017 09:42 PM, Stuart Henderson wrote:
> I tried posting this a few days ago via gmane but it didn't come through,
> now retrying directly. Apologies if you get two copies.
>
> I'm running 7.4.5 on OpenBSD, which doesn't have ACLs. I'm seeing a segfault
> in the FD:
>
> Thread 4 received signal SIGSEGV, Segmentation fault.
> [Switching to thread 556104]
> blast_data_to_storage_daemon (jcr=0x15d9b875a028, addr=<optimized out>) at
> backup.c:166
> 166 if (jcr->xacl->get_acl_nr_errors() > 0) {
> (gdb) bt
> #0 blast_data_to_storage_daemon (jcr=0x15d9b875a028, addr=<optimized out>)
> at backup.c:166
> #1 0x000015d78a212d9b in backup_cmd (jcr=0x15d9b875a028) at job.c:2049
> #2 0x000015d78a214547 in handle_director_request (dir=<optimized out>) at
> job.c:312
> #3 handle_connection_request (caller=0x15da514a2628) at job.c:457
> #4 0x000015da3c3fed79 in workq_server (arg=0x15d78a43aa00 <dir_workq>) at
> workq.c:326
> #5 0x000015d9da9c23de in _rthread_start (v=0x0) at
> /usr/src/lib/librthread/rthread.c:114
> #6 0x000015da447b24db in __tfork_thread () at
> /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75
> #7 0x0000000000000000 in ?? ()
>
> It looks like it's just missing a null check before trying to dereference
> the function pointer (backup.c:166, 170) like is done in 184?
>
> (gdb) list
> 161 if (!find_files(jcr, (FF_PKT *)jcr->ff, save_file, plugin_save)) {
> 162 ok = false; /* error */
> 163 jcr->setJobStatus(JS_ErrorTerminated);
> 164 }
> 165
>> 166 if (jcr->xacl->get_acl_nr_errors() > 0) {
> 167 Jmsg(jcr, M_WARNING, 0, _("Had %ld acl errors while doing
> backup\n"), jcr->xacl->get_acl_nr_errors());
> 168 }
> 169
>> 170 if (jcr->xacl->get_xattr_nr_errors() > 0) {
> (gdb) list
> 171 Jmsg(jcr, M_WARNING, 0, _("Had %ld xattr errors while doing
> backup\n"), jcr->xacl->get_xattr_nr_errors());
> 172 }
> 173
> 174 /* Delete or keep snapshots */
> 175 close_snapshot_backup_session(jcr);
> 176 close_vss_backup_session(jcr);
> 177
> 178 accurate_finish(jcr); /* send deleted or base file
> list to SD */
> 179
> 180 stop_heartbeat_monitor(jcr);
> (gdb) list
> 181
> 182 sd->signal(BNET_EOD); /* end of sending data */
> 183
>> 184 if (jcr->xacl) {
> 185 delete(jcr->xacl);
> 186 jcr->xacl = NULL;
> 187 }
> 188 if (jcr->big_buf) {
> 189 bfree_and_null(jcr->big_buf);
> 190 }
>
> Thanks,
> Stuart
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Bacula-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel