[Pkg-samba-maint] Bug#519829:
David J G Porter (Private)
david at djgp.com
Mon Jul 20 12:48:12 UTC 2009
I _think_ I had the same problem until I set:
//|host msdfs|/ = no
/in smb.conf on the server. My setup doesn't involve DFS so this didn't
break anything else.
/I'm not a Samba expert so I can't tell you why that works and I can't
find an upstream bug report for anything like this.
In case anyone's interested, here's a summary of what I did:
*Server*
Debian 4.0 etch, up to date as of this post:
Linux morgaine 2.6.18-6-686 #1 SMP Tue May 5 00:40:20 UTC 2009 i686
GNU/Linux
Samba: 3.0.24-6etch10
*Clients*
OK: all M$ clients (XP, Vista), Ubuntu 8.04LTS
Bad: Ubuntu Jaunty 9.04
*Description*
I have a login script which maps various Samba network shares using
smbmount (mount.cifs). No special options. The problem occurred on all
shares. BUT, if I connected to a share via Gnome's Nautilus, the problem
did _NOT_ occur. I couldn't live with this because I needed CLI access
to most of them.
In the simplest case, the error could be caused by:
$ cd [shared directory]
$ echo > hello (works fine if the file doesn't exist)
$ echo > hello
bash: hello: No such file or directory
It also occurs freely in all other apps, from Gedit to OpenOffice.
I set the log level to 10 and traced both cases (see below for
excerpts). In both cases, the shared path is
"//morgaine/david/Repository/tmp/hello" and real server path
"/home/david/Repository/tmp/hello".
In the smbmount case (where the error occurs), Samba visibly has a
problem resolving the SMB name using unix_convert() to the real
filesystem path: it ends up stat'ing
"morgaine/david/Repository/tmp/hello" instead of mapping
"morgaine/david" (the host and share name) to "/home/david". When using
the Nautilus share, call_trans2qfilepathinfo() is called instead, which
defers to various dfs routines before calling unix_convert. I thought
this was a clue and changed the "host msdfs" parameter on a hunch.
/
As I said, I have no idea what's going on, this was just deductive work.
I've ordered DVD's for lenny and will be upgrading next week, if
anyone's interested in the result.
HTH
-- David
*USING SMBMOUNT*
[2009/07/20 09:29:14, 10]
lib/util_sock.c:read_smb_length_return_keepalive(623)
got smb length of 158
[2009/07/20 09:29:14, 6] smbd/process.c:process_smb(1110)
got message type 0x0 of len 0x9e
[2009/07/20 09:29:14, 3] smbd/process.c:process_smb(1111)
Transaction 594 of length 162
[2009/07/20 09:29:14, 5] lib/util.c:show_msg(485)
[2009/07/20 09:29:14, 5] lib/util.c:show_msg(495)
size=158
smb_com=0x32
smb_rcls=0
smb_reh=0
smb_err=0
smb_flg=0
smb_flg2=53249
smb_tid=1
smb_pid=12715
smb_uid=100
smb_mid=595
smt_wct=15
smb_vwv[ 0]= 82 (0x52)
smb_vwv[ 1]= 8 (0x8)
smb_vwv[ 2]= 2 (0x2)
smb_vwv[ 3]= 4100 (0x1004)
smb_vwv[ 4]= 0 (0x0)
smb_vwv[ 5]= 0 (0x0)
smb_vwv[ 6]= 0 (0x0)
smb_vwv[ 7]= 0 (0x0)
smb_vwv[ 8]= 0 (0x0)
smb_vwv[ 9]= 82 (0x52)
smb_vwv[10]= 68 (0x44)
smb_vwv[11]= 8 (0x8)
smb_vwv[12]= 150 (0x96)
smb_vwv[13]= 1 (0x1)
smb_vwv[14]= 6 (0x6)
smb_bcc=93
[2009/07/20 09:29:14, 10] lib/util.c:dump_data(2222)
[000] 00 00 00 FC 03 00 00 00 00 2F 00 2F 00 6D 00 6F ........ ././.m.o
[010] 00 72 00 67 00 61 00 69 00 6E 00 65 00 2F 00 64 .r.g.a.i .n.e./.d
[020] 00 61 00 76 00 69 00 64 00 2F 00 52 00 65 00 70 .a.v.i.d ./.R.e.p
[030] 00 6F 00 73 00 69 00 74 00 6F 00 72 00 79 00 2F .o.s.i.t .o.r.y./
[040] 00 74 00 6D 00 70 00 2F 00 68 00 65 00 6C 00 6C .t.m.p./ .h.e.l.l
[050] 00 6F 00 00 00 00 00 00 00 00 00 00 00 .o...... .....
[2009/07/20 09:29:14, 3] smbd/process.c:switch_message(915)
switch message SMBtrans2 (pid 24093) conn 0x841cc18
[2009/07/20 09:29:14, 4] smbd/uid.c:change_to_user(178)
change_to_user: Skipping user change - already user
[2009/07/20 09:29:14, 5] smbd/filename.c:unix_convert(108)
unix_convert called on file "morgaine/david/Repository/tmp/hello"
[2009/07/20 09:29:14, 5] smbd/filename.c:unix_convert(185)
unix_convert begin: name = morgaine/david/Repository/tmp/hello,
dirpath = , start = morgaine/david/Repository/tmp/hello
[2009/07/20 09:29:14, 3] smbd/trans2.c:call_trans2setfilepathinfo(3833)
call_trans2setfilepathinfo: stat of
morgaine/david/Repository/tmp/hello failed (No such file or directory)
[2009/07/20 09:29:14, 10] smbd/trans2.c:set_bad_path_error(2677)
set_bad_path_error: err = 2 bad_path = 0
[2009/07/20 09:29:14, 3] smbd/error.c:error_packet(146)
error packet at smbd/trans2.c(2683) cmd=50 (SMBtrans2)
NT_STATUS_OBJECT_NAME_NOT_FOUND
...
*USING NAUTILUS*
[2009/07/20 09:23:00, 10]
lib/util_sock.c:read_smb_length_return_keepalive(623)
got smb length of 130
[2009/07/20 09:23:00, 6] smbd/process.c:process_smb(1110)
got message type 0x0 of len 0x82
[2009/07/20 09:23:00, 3] smbd/process.c:process_smb(1111)
Transaction 122 of length 134
[2009/07/20 09:23:00, 5] lib/util.c:show_msg(485)
[2009/07/20 09:23:00, 5] lib/util.c:show_msg(495)
size=130
smb_com=0x32
smb_rcls=0
smb_reh=0
smb_err=0
smb_flg=0
smb_flg2=55297
smb_tid=1
smb_pid=13186
smb_uid=101
smb_mid=123
smt_wct=15
smb_vwv[ 0]= 62 (0x3E)
smb_vwv[ 1]= 0 (0x0)
smb_vwv[ 2]= 10 (0xA)
smb_vwv[ 3]=16644 (0x4104)
smb_vwv[ 4]= 0 (0x0)
smb_vwv[ 5]= 0 (0x0)
smb_vwv[ 6]= 0 (0x0)
smb_vwv[ 7]= 0 (0x0)
smb_vwv[ 8]= 0 (0x0)
smb_vwv[ 9]= 62 (0x3E)
smb_vwv[10]= 68 (0x44)
smb_vwv[11]= 0 (0x0)
smb_vwv[12]= 130 (0x82)
smb_vwv[13]= 1 (0x1)
smb_vwv[14]= 5 (0x5)
smb_bcc=65
[2009/07/20 09:23:00, 10] lib/util.c:dump_data(2222)
[000] 00 44 20 07 01 00 00 00 00 5C 00 6D 00 6F 00 72 .D ..... .\.m.o.r
[010] 00 67 00 61 00 69 00 6E 00 65 00 5C 00 73 00 68 .g.a.i.n .e.\.s.h
[020] 00 61 00 72 00 65 00 64 00 5C 00 73 00 77 00 61 .a.r.e.d .\.s.w.a
[030] 00 70 00 5C 00 68 00 65 00 6C 00 6C 00 6F 00 00 .p.\.h.e .l.l.o..
[040] 00 .
[2009/07/20 09:23:00, 3] smbd/process.c:switch_message(915)
switch message SMBtrans2 (pid 24102) conn 0x841d870
[2009/07/20 09:23:00, 4] smbd/uid.c:change_to_user(178)
change_to_user: Skipping user change - already user
[2009/07/20 09:23:00, 3] smbd/trans2.c:call_trans2qfilepathinfo(2912)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 263
[2009/07/20 09:23:00, 10] smbd/msdfs.c:parse_processed_dfs_path(91)
temp in parse_processed_dfs_path: .morgaine/shared/swap/hello. after
trimming \'s
[2009/07/20 09:23:00, 10] smbd/msdfs.c:parse_processed_dfs_path(101)
parse_processed_dfs_path: hostname: morgaine
[2009/07/20 09:23:00, 10] smbd/msdfs.c:parse_processed_dfs_path(113)
parse_processed_dfs_path: servicename: shared
[2009/07/20 09:23:00, 10] smbd/msdfs.c:parse_processed_dfs_path(123)
parse_processed_dfs_path: rest of the path: swap/hello
[2009/07/20 09:23:00, 10] smbd/msdfs.c:resolve_dfs_path(337)
resolve_dfs_path: Conn path = /srv/samba/shared req_path = swap/hello
[2009/07/20 09:23:00, 5] smbd/filename.c:unix_convert(108)
unix_convert called on file "swap/hello"
[2009/07/20 09:23:00, 5] smbd/filename.c:unix_convert(180)
conversion finished swap/hello -> swap/hello
[2009/07/20 09:23:00, 8] lib/util.c:is_in_path(1814)
is_in_path: swap/hello
[2009/07/20 09:23:00, 8] lib/util.c:is_in_path(1834)
is_in_path: match not found
[2009/07/20 09:23:00, 3] smbd/vfs.c:reduce_name(923)
reduce_name [swap/hello] [/srv/samba/shared]
[2009/07/20 09:23:00, 10] smbd/vfs.c:reduce_name(992)
reduce_name realpath [swap/hello] -> [/srv/samba/shared/swap/hello]
[2009/07/20 09:23:00, 3] smbd/vfs.c:reduce_name(1029)
reduce_name: swap/hello reduced to /srv/samba/shared/swap/hello
[2009/07/20 09:23:00, 3] smbd/trans2.c:call_trans2qfilepathinfo(2963)
call_trans2qfilepathinfo swap/hello (fnum = -1) level=263 call=5
total_data=0
[2009/07/20 09:23:00, 8] smbd/dosmode.c:dos_mode(377)
dos_mode: swap/hello
[2009/07/20 09:23:00, 8] smbd/dosmode.c:dos_mode_from_sbuf(193)
dos_mode_from_sbuf returning
[2009/07/20 09:23:00, 8] smbd/dosmode.c:dos_mode(415)
dos_mode returning
[2009/07/20 09:23:00, 10] smbd/trans2.c:call_trans2qfilepathinfo(3273)
call_trans2qfilepathinfo: SMB_FILE_ALL_INFORMATION
...
*USING SMBMOUNT (with msdfs = no)*
[2009/07/20 14:34:52, 10]
lib/util_sock.c:read_smb_length_return_keepalive(623)
got smb length of 116
[2009/07/20 14:34:52, 6] smbd/process.c:process_smb(1110)
got message type 0x0 of len 0x74
[2009/07/20 14:34:52, 3] smbd/process.c:process_smb(1111)
Transaction 13 of length 120
[2009/07/20 14:34:52, 5] lib/util.c:show_msg(485)
[2009/07/20 14:34:52, 5] lib/util.c:show_msg(495)
size=116
smb_com=0x32
smb_rcls=0
smb_reh=0
smb_err=0
smb_flg=0
smb_flg2=49153
smb_tid=1
smb_pid=3956
smb_uid=100
smb_mid=1717
smt_wct=15
smb_vwv[ 0]= 50 (0x32)
smb_vwv[ 1]= 0 (0x0)
smb_vwv[ 2]= 2 (0x2)
smb_vwv[ 3]= 4000 (0xFA0)
smb_vwv[ 4]= 0 (0x0)
smb_vwv[ 5]= 0 (0x0)
smb_vwv[ 6]= 0 (0x0)
smb_vwv[ 7]= 0 (0x0)
smb_vwv[ 8]= 0 (0x0)
smb_vwv[ 9]= 50 (0x32)
smb_vwv[10]= 66 (0x42)
smb_vwv[11]= 0 (0x0)
smb_vwv[12]= 0 (0x0)
smb_vwv[13]= 1 (0x1)
smb_vwv[14]= 5 (0x5)
smb_bcc=51
[2009/07/20 14:34:52, 10] lib/util.c:dump_data(2222)
[000] 00 00 02 00 00 00 00 2F 00 52 00 65 00 70 00 6F ......./ .R.e.p.o
[010] 00 73 00 69 00 74 00 6F 00 72 00 79 00 2F 00 74 .s.i.t.o .r.y./.t
[020] 00 6D 00 70 00 2F 00 68 00 65 00 6C 00 6C 00 6F .m.p./.h .e.l.l.o
[030] 00 00 00 ...
[2009/07/20 14:34:52, 3] smbd/process.c:switch_message(915)
switch message SMBtrans2 (pid 26063) conn 0x841c5d8
[2009/07/20 14:34:52, 4] smbd/uid.c:change_to_user(178)
change_to_user: Skipping user change - already user
[2009/07/20 14:34:52, 3] smbd/trans2.c:call_trans2qfilepathinfo(2912)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 512
[2009/07/20 14:34:52, 5] smbd/filename.c:unix_convert(108)
unix_convert called on file "Repository/tmp/hello"
[2009/07/20 14:34:52, 5] smbd/filename.c:unix_convert(180)
conversion finished Repository/tmp/hello -> Repository/tmp/hello
[2009/07/20 14:34:52, 8] lib/util.c:is_in_path(1814)
is_in_path: Repository/tmp/hello
[2009/07/20 14:34:52, 8] lib/util.c:is_in_path(1834)
is_in_path: match not found
[2009/07/20 14:34:52, 3] smbd/vfs.c:reduce_name(923)
reduce_name [Repository/tmp/hello] [/home/david]
[2009/07/20 14:34:52, 10] smbd/vfs.c:reduce_name(992)
reduce_name realpath [Repository/tmp/hello] ->
[/home/david/Repository/tmp/hello]
[2009/07/20 14:34:52, 3] smbd/vfs.c:reduce_name(1029)
reduce_name: Repository/tmp/hello reduced to
/home/david/Repository/tmp/hello
[2009/07/20 14:34:52, 3] smbd/trans2.c:call_trans2qfilepathinfo(2963)
call_trans2qfilepathinfo Repository/tmp/hello (fnum = -1) level=512
call=5 total_data=0
[2009/07/20 14:34:52, 8] smbd/dosmode.c:dos_mode(377)
dos_mode: Repository/tmp/hello
[2009/07/20 14:34:52, 8] smbd/dosmode.c:dos_mode_from_sbuf(193)
dos_mode_from_sbuf returning a
[2009/07/20 14:34:52, 8] smbd/dosmode.c:dos_mode(415)
dos_mode returning a
[2009/07/20 14:34:52, 10] smbd/trans2.c:call_trans2qfilepathinfo(3408)
call_trans2qfilepathinfo: SMB_QUERY_FILE_UNIX_BASIC
[2009/07/20 14:34:52, 4] smbd/trans2.c:call_trans2qfilepathinfo(3409)
call_trans2qfilepathinfo: st_mode=100700
...
/
/
More information about the Pkg-samba-maint
mailing list