Bug 15386 - Copying a file from Previous Versions on Windows segfault
Summary: Copying a file from Previous Versions on Windows segfault
Status: RESOLVED INVALID
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: VFS Modules (show other bugs)
Version: 4.13.13
Hardware: x64 Linux
: P5 minor (vote)
Target Milestone: ---
Assignee: Samba QA Contact
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-05 12:09 UTC by Tercio Filho
Modified: 2023-06-05 15:09 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tercio Filho 2023-06-05 12:09:07 UTC
When an user is trying to restore a file from previous version(vfs shadow_copy2) in Windows 10, the file is copied, but samba segfault.

[2023/06/05 08:52:05.444923,  0] ../../lib/util/fault.c:159(smb_panic_log)
  ===============================================================
[2023/06/05 08:52:05.445017,  0] ../../lib/util/fault.c:160(smb_panic_log)
  INTERNAL ERROR: Signal 11: Segmentation fault in pid 1838 (4.13.13-Debian)
[2023/06/05 08:52:05.445041,  0] ../../lib/util/fault.c:164(smb_panic_log)
  If you are running a recent Samba version, and if you think this problem is not yet fixed in the latest versions, please consider reporting this bug, see https://wiki.samba.org/index.php/Bug_Reporting
[2023/06/05 08:52:05.445066,  0] ../../lib/util/fault.c:169(smb_panic_log)
  ===============================================================
[2023/06/05 08:52:05.445086,  0] ../../lib/util/fault.c:170(smb_panic_log)
  PANIC (pid 1838): Signal 11: Segmentation fault in 4.13.13-Debian
[2023/06/05 08:52:05.448866,  0] ../../lib/util/fault.c:274(log_stack_trace)
  BACKTRACE: 31 stack frames:
   #0 /lib/x86_64-linux-gnu/libsamba-util.so.0(log_stack_trace+0x30) [0x7f8fcdb08220]
   #1 /lib/x86_64-linux-gnu/libsamba-util.so.0(smb_panic+0x26) [0x7f8fcdb08486]
   #2 /lib/x86_64-linux-gnu/libsamba-util.so.0(+0x186a1) [0x7f8fcdb086a1]
   #3 /lib/x86_64-linux-gnu/libpthread.so.0(+0x13140) [0x7f8fcd3f5140]
   #4 /lib/x86_64-linux-gnu/libc.so.6(+0x15d319) [0x7f8fcd369319]
   #5 /usr/lib/x86_64-linux-gnu/samba/vfs/shadow_copy2.so(+0x512c) [0x7f8fc8b3012c]
   #6 /usr/lib/x86_64-linux-gnu/samba/vfs/shadow_copy2.so(+0x8076) [0x7f8fc8b33076]
   #7 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(stat_cache_lookup+0x3bb) [0x7f8fcd9700fb]
   #8 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(unix_convert+0x4a4) [0x7f8fcd958334]
   #9 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(+0x1aaac7) [0x7f8fcd959ac7]
   #10 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(filename_convert+0x1a) [0x7f8fcd959ffa]
   #11 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(smbd_smb2_request_process_create+0xbd1) [0x7f8fcd99cd21]
   #12 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(smbd_smb2_request_dispatch+0xeac) [0x7f8fcd993ccc]
   #13 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(+0x1e5847) [0x7f8fcd994847]
   #14 /lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_invoke_fd_handler+0x7d) [0x7f8fcd40b70d]
   #15 /lib/x86_64-linux-gnu/libtevent.so.0(+0xda77) [0x7f8fcd411a77]
   #16 /lib/x86_64-linux-gnu/libtevent.so.0(+0xbc07) [0x7f8fcd40fc07]
   #17 /lib/x86_64-linux-gnu/libtevent.so.0(_tevent_loop_once+0x94) [0x7f8fcd40adf4]
   #18 /lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_loop_wait+0x1b) [0x7f8fcd40b09b]
   #19 /lib/x86_64-linux-gnu/libtevent.so.0(+0xbba7) [0x7f8fcd40fba7]
   #20 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(smbd_process+0x828) [0x7f8fcd9828f8]
   #21 /usr/sbin/smbd(+0xe715) [0x55ba8a93c715]
   #22 /lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_invoke_fd_handler+0x7d) [0x7f8fcd40b70d]
   #23 /lib/x86_64-linux-gnu/libtevent.so.0(+0xda77) [0x7f8fcd411a77]
   #24 /lib/x86_64-linux-gnu/libtevent.so.0(+0xbc07) [0x7f8fcd40fc07]
   #25 /lib/x86_64-linux-gnu/libtevent.so.0(_tevent_loop_once+0x94) [0x7f8fcd40adf4]
   #26 /lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_loop_wait+0x1b) [0x7f8fcd40b09b]
   #27 /lib/x86_64-linux-gnu/libtevent.so.0(+0xbba7) [0x7f8fcd40fba7]
   #28 /usr/sbin/smbd(main+0x1ddf) [0x55ba8a936d1f]
   #29 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7f8fcd22fd0a]
   #30 /usr/sbin/smbd(_start+0x2a) [0x55ba8a936eba]
[2023/06/05 08:52:05.449189,  0] ../../source3/lib/util.c:838(smb_panic_s3)
  smb_panic(): calling panic action [/usr/share/samba/panic-action 1838]
[2023/06/05 08:52:05.473164,  0] ../../source3/lib/util.c:845(smb_panic_s3)
  smb_panic(): action returned status 0
[2023/06/05 08:52:05.473250,  0] ../../source3/lib/dumpcore.c:315(dump_core)
  dumping core in /var/log/samba/cores/smbd


$ uname -a
Linux samba 5.10.0-23-amd64 #1 SMP Debian 5.10.179-1 (2023-05-12) x86_64 GNU/Linux

$ smbstatus --version
Version 4.13.13-Debian

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

$ cat /etc/samba/smb.conf

 # Global parameters
 [global]
     workgroup = XXXXXXXXXX
     security = USER
     server role = standalone server
     netbios name = SERVIDOR
     domain master = Yes

     log file = /var/log/samba/log.%m
     log level = 1
     max log size = 5000
     panic action = /usr/share/samba/panic-action %d

     map to guest = Bad User
     passdb backend = tdbsam
     username map = /etc/samba/user.map

     interfaces = enp1s0
     bind interfaces only = Yes

     server min protocol = SMB3_00

     # Disable Usershares
     usershare path =

     # Disable Printing
     disable spoolss = Yes
     load printers = No
     printcap name = /dev/null
     printing = bsd

     # Name Resolution
     wins support = Yes
     name resolve order = host

     # Enable Windows ACLs
     #store dos attributes = Yes
     #map acl inherit = Yes
     #vfs objects = acl_xattr

     # Audit Activity Settings
     full_audit:prefix = %d|%u|%I|%m
     full_audit:success = ftruncate get_shadow_copy_data linkat mkdirat mknodat pread pwrite read readlinkat renameat symlinkat unlinkat write pwrite_recv pread_recv recvfile
     full_audit:failure = connect
     full_audit:facility = LOCAL5
     full_audit:priority = NOTICE

     socket options = TCP_NODELAY IPTOS_LOWDELAY

     # Enable POSIX ACLs
     inherit acls = Yes
     inherit owner = Yes
     inherit permissions = Yes

     # Vetoed files
     veto files = /TheVolumeSettingsFolder/.DS_Store/.TemporaryItems/TheFindByContentFolder/.FBCindex/.FBCIndexCopy/.localized/Network Trash Folder/Temporary Items/Cleanup At Startup/.FBCLockFolder/.Trashes/Thumbs.db/
Comment 1 Tercio Filho 2023-06-05 12:11:47 UTC
This happens every time I try.

Steps to reproduce:

1 - Right click on a file
2 - Select Restore from previous versions
3 - In the list, select some file and right-click Copy
4 - Go to another folder and right-click Paste

The file is copied, but samba segfault.
Comment 2 Volker Lendecke 2023-06-05 14:22:43 UTC
Hmmm. I know debian ships Samba 4.13 as latest and greatest, but unfortunately for you upstream Samba discontinued 4.13 more than a year ago, see 

https://wiki.samba.org/index.php/Samba_Release_Planning

Also given that Samba 4.17 is around the corner for debian, would it be possible for you to try that as a backport?
Comment 3 Tercio Filho 2023-06-05 15:09:23 UTC
Sure, my bad. I'll consider it resolved. I'll try to update and if I found the same issue, I'll file another bug. Thanks.