Matthew Schumacher
2021-Jul-16 18:16 UTC
[Samba] Debug file_new then open_file_ntcreate fails with doesn't exist
Hello List, I have a windows application that blows up when I use it on samba. The error it gives is the generic windows C++ Unhandled e06d7363h Exception and sometimes invalid parameter, both which could be anything. When I move the data to a real windows share, it works.? So, I turned on debugging to try and figure it out and I see this: [2021/07/16 09:50:33.003786,? 5, pid=4251, effective(1000, 10000), real(1000, 0)] ../../source3/smbd/files.c:176(file_new) ? file_new: new file fnum 989106358 [2021/07/16 09:50:33.003796, 10, pid=4251, effective(1000, 10000), real(1000, 0)] ../../source3/smbd/files.c:1290(file_name_hash) ? file_name_hash: /data/shop/PartShare/partlib/DB2017/ReadOnlyMode.ini hash 0x2ab89022 [2021/07/16 09:50:33.003806,? 5, pid=4251, effective(1000, 10000), real(1000, 0)] ../../source3/smbd/dosmode.c:182(unix_mode) ? unix_mode: unix_mode(PartShare/partlib/DB2017/ReadOnlyMode.ini) returning 0660 [2021/07/16 09:50:33.003815, 10, pid=4251, effective(1000, 10000), real(1000, 0)] ../../source3/smbd/open.c:3558(open_file_ntcreate) ? open_file_ntcreate: fname=PartShare/partlib/DB2017/ReadOnlyMode.ini, dos_attrs=0x0 access_mask=0x80 share_access=0x7 create_disposition = 0x1 create_options=0x200000 unix mode=0660 oplock_request=0 private_flags = 0x0 [2021/07/16 09:50:33.003838,? 5, pid=4251, effective(1000, 10000), real(1000, 0)] ../../source3/smbd/open.c:3636(open_file_ntcreate) ? open_file_ntcreate: FILE_OPEN requested for file PartShare/partlib/DB2017/ReadOnlyMode.ini and file doesn't exist. [2021/07/16 09:50:33.003860, 10, pid=4251, effective(1000, 10000), real(1000, 0)] ../../source3/smbd/open.c:6086(create_file_unixpath) ? create_file_unixpath: NT_STATUS_OBJECT_NAME_NOT_FOUND It looks like the application is wanting to create /data/shop/PartShare/partlib/DB2017/ReadOnlyMode.ini then immediately open it, but the open fails.? That would make sense why the thing blows up with an unhandled exception if there wasn't any error checking around open file given that we just created it. Anybody see this before or thoughts on work arounds?? I'm running the latest stable samba 4.14.6 in AD mode. Thanks, Matt
Jeremy Allison
2021-Jul-16 19:12 UTC
[Samba] Debug file_new then open_file_ntcreate fails with doesn't exist
On Fri, Jul 16, 2021 at 11:16:47AM -0700, Matthew Schumacher via samba wrote:>Hello List, > >I have a windows application that blows up when I use it on samba. The >error it gives is the generic windows C++ Unhandled e06d7363h >Exception and sometimes invalid parameter, both which could be >anything. > >When I move the data to a real windows share, it works.? So, I turned >on debugging to try and figure it out and I see this: > > >[2021/07/16 09:50:33.003786,? 5, pid=4251, effective(1000, 10000), >real(1000, 0)] ../../source3/smbd/files.c:176(file_new) >? file_new: new file fnum 989106358 >[2021/07/16 09:50:33.003796, 10, pid=4251, effective(1000, 10000), >real(1000, 0)] ../../source3/smbd/files.c:1290(file_name_hash) >? file_name_hash: /data/shop/PartShare/partlib/DB2017/ReadOnlyMode.ini >hash 0x2ab89022 >[2021/07/16 09:50:33.003806,? 5, pid=4251, effective(1000, 10000), >real(1000, 0)] ../../source3/smbd/dosmode.c:182(unix_mode) >? unix_mode: unix_mode(PartShare/partlib/DB2017/ReadOnlyMode.ini) >returning 0660 >[2021/07/16 09:50:33.003815, 10, pid=4251, effective(1000, 10000), >real(1000, 0)] ../../source3/smbd/open.c:3558(open_file_ntcreate) >? open_file_ntcreate: fname=PartShare/partlib/DB2017/ReadOnlyMode.ini, >dos_attrs=0x0 access_mask=0x80 share_access=0x7 create_disposition = >0x1 create_options=0x200000 unix mode=0660 oplock_request=0 >private_flags = 0x0 >[2021/07/16 09:50:33.003838,? 5, pid=4251, effective(1000, 10000), >real(1000, 0)] ../../source3/smbd/open.c:3636(open_file_ntcreate) >? open_file_ntcreate: FILE_OPEN requested for file >PartShare/partlib/DB2017/ReadOnlyMode.ini and file doesn't exist. >[2021/07/16 09:50:33.003860, 10, pid=4251, effective(1000, 10000), >real(1000, 0)] ../../source3/smbd/open.c:6086(create_file_unixpath) >? create_file_unixpath: NT_STATUS_OBJECT_NAME_NOT_FOUND > >It looks like the application is wanting to create >/data/shop/PartShare/partlib/DB2017/ReadOnlyMode.ini then immediately >open it, but the open fails.? That would make sense why the thing >blows up with an unhandled exception if there wasn't any error >checking around open file given that we just created it. > >Anybody see this before or thoughts on work arounds?? I'm running the >latest stable samba 4.14.6 in AD mode.We haven't seen that, it looks strange. I take it there's no other application running that could race and delete ? Can you check the recently release 4.15.rc1 to see if it's something that got fixed ? There have been *lots* of changes in the pathname area between 4.14.x -> 4.15.rc1.