smbd crashes with SIGABRT during SMB2 tree connect when two CephFS shares are configured against the same filesystem with the same credentials but differ in their ceph_new:proxy setting. The crash is reproducible by mapping a proxy-enabled share after a non-proxy share, or vice versa. Core was generated by `/usr/local/sbin/smbd --foreground --no-process-group'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; [Current thread is 1 (Thread 0x7f3fdd28ef40 (LWP 176845))] (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007f3fe040ad93 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89 #2 0x00007f3fe03afe8e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f3fe03977b3 in __GI_abort () at abort.c:77 #4 0x00007f3fe09a20ae in dump_core () at ../../source3/lib/dumpcore.c:339 #5 0x00007f3fe0994aac in smb_panic_s3 (why=0x7ffd72098d50 "Signal 11: Segmentation fault") at ../../source3/lib/util.c:698 #6 0x00007f3fe05e4ba9 in smb_panic (why=0x7ffd72098d50 "Signal 11: Segmentation fault") at ../../lib/util/fault.c:209 #7 0x00007f3fe05e4658 in fault_report (sig=11) at ../../lib/util/fault.c:83 #8 0x00007f3fe05e466d in sig_fault (sig=11) at ../../lib/util/fault.c:94 #9 <signal handler called> #10 0x00007f3fc98c2ab7 in RWRef<Client::_state>::RWRef (this=0x7ffd720993f0, s=..., require=Client::CLIENT_MOUNTING, ir=true) at /root/workspace/ceph.git/src/client/RWRef.h:156 #11 0x00007f3fc98570fe in Client::getcwd (this=0xa24132addf876ddf, dir=Python Exception <class 'OverflowError'>: int too big to convert, perms=...) at /root/workspace/ceph.git/src/client/Client.cc:13517 #12 0x00007f3fc980a7d6 in ceph_mount_info::get_cwd (this=0x1d87b3b0, perms=...) at /root/workspace/ceph.git/src/libcephfs.cc:321 #13 ceph_getcwd (cmount=0x1d87b3b0) at /root/workspace/ceph.git/src/libcephfs.cc:691 #14 0x00007f3fdb2a86ad in vfs_ceph_ll_walk (handle=0x1db7ca10, name=0x1db7a4d0 "/volumes/_nogroup/subvol/03da1a1a-9497-4322-a2e1-fcccc6cecc22", pin=0x7ffd72099570, stx=0x7ffd720994e0, want=256, flags=0) at ../../source3/modules/vfs_ceph_new.c:1060 #15 0x00007f3fdb2ad50e in vfs_ceph_iget (handle=0x1db7ca10, name=0x1db7a4d0 "/volumes/_nogroup/subvol/03da1a1a-9497-4322-a2e1-fcccc6cecc22", flags=0, iref=0x7ffd720995b0) at ../../source3/modules/vfs_ceph_new.c:2255 #16 0x00007f3fdb2ad94c in vfs_ceph_open_share_root (handle=0x1db7ca10, root_fsp=0x1d96d850, connectpath=0x1db7a4d0 "/volumes/_nogroup/subvol/03da1a1a-9497-4322-a2e1-fcccc6cecc22") at ../../source3/modules/vfs_ceph_new.c:2327 #17 0x00007f3fe0a86268 in smb_vfs_call_open_share_root (handle=0x1db7ca10, root_fsp=0x1d96d850, connectpath=0x1db7a4d0 "/volumes/_nogroup/subvol/03da1a1a-9497-4322-a2e1-fcccc6cecc22") at ../../source3/smbd/vfs.c:1241 #18 0x00007f3fe0aa4057 in make_connection_snum (xconn=0x1d8744a0, conn=0x1d976eb0, snum=4, session=0x1d854810, pdev=0x7f3fe0bffb33 "???") at ../../source3/smbd/smb2_service.c:800 #19 0x00007f3fe0aa45a8 in make_connection_smb2 (req=0x1d8781d0, tcon=0x1d885df0, snum=4, pdev=0x7f3fe0bffb33 "???", pstatus=0x7ffd7209990c) at ../../source3/smbd/smb2_service.c:902 #20 0x00007f3fe0aca591 in smbd_smb2_tree_connect (req=0x1d8781d0, in_path=0x1d878630 "\\\\192.168.122.103\\cephfs-subvol-new", out_share_type=0x1d878978 "", out_share_flags=0x1d87897c, out_capabilities=0x1d878980, out_maximal_access=0x1d878984, out_tree_id=0x1d878988, disconnect=0x1d87898c) at ../../source3/smbd/smb2_tcon.c:383 #21 0x00007f3fe0acad94 in smbd_smb2_tree_connect_send (mem_ctx=0x1d8781d0, ev=0x1d84c9e0, smb2req=0x1d8781d0, in_flags=0, in_path=0x1d878630 "\\\\192.168.122.103\\cephfs-subvol-new") at ../../source3/smbd/smb2_tcon.c:592 #22 0x00007f3fe0ac96db in smbd_smb2_request_process_tcon (req=0x1d8781d0) at ../../source3/smbd/smb2_tcon.c:106 #23 0x00007f3fe0aba0ed in smbd_smb2_request_dispatch (req=0x1d8781d0) at ../../source3/smbd/smb2_server.c:3497 #24 0x00007f3fe0ac175b in smbd_smb2_advance_incoming (xconn=0x1d8744a0, n=142) at ../../source3/smbd/smb2_server.c:5221 #25 0x00007f3fe0ac1ad0 in smbd_smb2_io_handler (xconn=0x1d8744a0, fde_flags=1) at ../../source3/smbd/smb2_server.c:5332 #26 0x00007f3fe0ac1b71 in smbd_smb2_connection_handler (ev=0x1d84c9e0, fde=0x1d86ef90, flags=1, private_data=0x1d8744a0) at ../../source3/smbd/smb2_server.c:5359 #27 0x00007f3fe0c7be01 in tevent_common_invoke_fd_handler (fde=0x1d86ef90, flags=1, removed=0x0) at ../../lib/tevent/tevent_fd.c:174 #28 0x00007f3fe0c88596 in epoll_event_loop (epoll_ev=0x1d84cf90, tvalp=0x7ffd72099f90) at ../../lib/tevent/tevent_epoll.c:699 #29 0x00007f3fe0c88c7f in epoll_event_loop_once (ev=0x1d84c9e0, location=0x7f3fe0bf3ef0 "../../source3/smbd/smb2_process.c:2180") at ../../lib/tevent/tevent_epoll.c:929 #30 0x00007f3fe0c84265 in std_event_loop_once (ev=0x1d84c9e0, location=0x7f3fe0bf3ef0 "../../source3/smbd/smb2_process.c:2180") at ../../lib/tevent/tevent_standard.c:110 #31 0x00007f3fe0c7a76a in _tevent_loop_once (ev=0x1d84c9e0, location=0x7f3fe0bf3ef0 "../../source3/smbd/smb2_process.c:2180") at ../../lib/tevent/tevent.c:860 #32 0x00007f3fe0c7aabb in tevent_common_loop_wait (ev=0x1d84c9e0, location=0x7f3fe0bf3ef0 "../../source3/smbd/smb2_process.c:2180") at ../../lib/tevent/tevent.c:989 #33 0x00007f3fe0c8430a in std_event_loop_wait (ev=0x1d84c9e0, location=0x7f3fe0bf3ef0 "../../source3/smbd/smb2_process.c:2180") at ../../lib/tevent/tevent_standard.c:141 #34 0x00007f3fe0c7ab61 in _tevent_loop_wait (ev=0x1d84c9e0, location=0x7f3fe0bf3ef0 "../../source3/smbd/smb2_process.c:2180") at ../../lib/tevent/tevent.c:1008 #35 0x00007f3fe0aa172e in smbd_process (ev_ctx=0x1d84c9e0, msg_ctx=0x1d849120, sock_fd=36, interactive=false, transport_type=SMB_TRANSPORT_TYPE_TCP) at ../../source3/smbd/smb2_process.c:2180 #36 0x0000000000404f21 in smbd_accept_connection (ev=0x1d84c9e0, fde=0x1d86ee80, flags=1, private_data=0x1d86a6a0) at ../../source3/smbd/server.c:1387 #37 0x00007f3fe0c7be01 in tevent_common_invoke_fd_handler (fde=0x1d86ee80, flags=1, removed=0x0) at ../../lib/tevent/tevent_fd.c:174 #38 0x00007f3fe0c88596 in epoll_event_loop (epoll_ev=0x1d84cf90, tvalp=0x7ffd7209a400) at ../../lib/tevent/tevent_epoll.c:699 #39 0x00007f3fe0c88c7f in epoll_event_loop_once (ev=0x1d84c9e0, location=0x4118e8 "../../source3/smbd/server.c:1784") at ../../lib/tevent/tevent_epoll.c:929 #40 0x00007f3fe0c84265 in std_event_loop_once (ev=0x1d84c9e0, location=0x4118e8 "../../source3/smbd/server.c:1784") at ../../lib/tevent/tevent_standard.c:110 #41 0x00007f3fe0c7a76a in _tevent_loop_once (ev=0x1d84c9e0, location=0x4118e8 "../../source3/smbd/server.c:1784") at ../../lib/tevent/tevent.c:860 #42 0x00007f3fe0c7aabb in tevent_common_loop_wait (ev=0x1d84c9e0, location=0x4118e8 "../../source3/smbd/server.c:1784") at ../../lib/tevent/tevent.c:989 #43 0x00007f3fe0c8430a in std_event_loop_wait (ev=0x1d84c9e0, location=0x4118e8 "../../source3/smbd/server.c:1784") at ../../lib/tevent/tevent_standard.c:141 #44 0x00007f3fe0c7ab61 in _tevent_loop_wait (ev=0x1d84c9e0, location=0x4118e8 "../../source3/smbd/server.c:1784") at ../../lib/tevent/tevent.c:1008 #45 0x0000000000405cae in smbd_parent_loop (ev_ctx=0x1d84c9e0, parent=0x1d85c7e0) at ../../source3/smbd/server.c:1784 #46 0x00000000004090c4 in main (argc=3, argv=0x7ffd7209aa68) at ../../source3/smbd/server.c:2822
This bug was referenced in samba master: a1881f96f7309411087c3b4b3fe9db964a5ef644
Created attachment 19132 [details] patch from master for v4-24-test
Created attachment 19133 [details] patch from master for v4-23-test
Reassigning for inclusion in 4.24 and 4.23.
This bug was referenced in samba v4-23-test: 219107af131f455024687ee4241da0f5887069bb
This bug was referenced in samba v4-24-test: 00b044680d3484ac333d7bf227e183823ee23891
This bug was referenced in samba v4-23-stable (Release samba-4.23.11): 219107af131f455024687ee4241da0f5887069bb
This bug was referenced in samba v4-24-stable (Release samba-4.24.6): 00b044680d3484ac333d7bf227e183823ee23891