[Samba] Errors in parse_share_modes Testing CTDB 2.3 and Samba 4.0.7

John P Janosik jpjanosi at us.ibm.com
Mon Jul 22 14:43:21 MDT 2013


I'm working on building a CTDB/Samba cluster on AIX 7.1 with the latest 
levels to replace an older one running CTDB 1.0.113 and Samba 3.6.1.  I 
have the new servers up and running and they seem to work, but I'm worried 
about some messages in the logs.  I run with log level 1 on the servers so 
that the connection details are logged.  On the old cluster there were 
only connection/closed connection, and client time-out messages in the 
logs.  On the new cluster I see the following messages very often:


[2013/07/22 15:09:02.594483,  1, pid=9437314] 
../librpc/ndr/ndr.c:412(ndr_pull_error)
  ndr_pull_error(11): Pull bytes 4 (../librpc/ndr/ndr_basic.c:148)
[2013/07/22 15:09:02.594636,  1, pid=9437314] 
locking/share_mode_lock.c:136(parse_share_modes)
  ndr_pull_share_mode_lock failed


I would like to know how I can tell if there is some problem with the 
locking database in CTDB before I go any farther in testing.  I upped the 
log level and I can see that this happens when getting each entry of a 
directory in dir.c:smbd_dirptr_get_entry() when it calls 
locking.c:get_file_infos() and eventually tries to parse the locking data. 
 I took a look at the Samba 3.6.1 source and I see that the code that 
parses the locking data has changed in 4.0.X.  I haven't spent enough time 
yet to understand the code to find the reason for the messages.

Can anyone give me some pointers on debugging this?  I've upped the log 
level to 10 and it pointed me down the code path that is getting hit, but 
doesn't make it clear to me what the problem is.  Here are all the 
messages generated at log level 10 inside the loop over the directory 
entries:

[2013/07/19 12:42:45.724992,  6, pid=4063418, effective(39803, 14161), 
real(0, 0)] smbd/dir.c:1061(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry: dirptr 0x2064dc18 now at offset 576
[2013/07/19 12:42:45.725084,  8, pid=4063418, effective(39803, 14161), 
real(0, 0)] smbd/dosmode.c:632(dos_mode)
  dos_mode: ./rt_aos4
[2013/07/19 12:42:45.725157,  8, pid=4063418, effective(39803, 14161), 
real(0, 0)] smbd/dosmode.c:206(dos_mode_from_sbuf)
  dos_mode_from_sbuf returning d
[2013/07/19 12:42:45.725227,  8, pid=4063418, effective(39803, 14161), 
real(0, 0)] smbd/dosmode.c:683(dos_mode)
  dos_mode returning d
[2013/07/19 12:42:45.725637,  1, pid=4063418, effective(39803, 14161), 
real(0, 0)] ../librpc/ndr/ndr.c:412(ndr_pull_error)
  ndr_pull_error(11): Pull bytes 4 (../librpc/ndr/ndr_basic.c:148)
[2013/07/19 12:42:45.725722,  1, pid=4063418, effective(39803, 14161), 
real(0, 0), class=locking] 
locking/share_mode_lock.c:136(parse_share_modes)
  ndr_pull_share_mode_lock failed
[2013/07/19 12:42:45.725792,  3, pid=4063418, effective(39803, 14161), 
real(0, 0)] smbd/dir.c:1144(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[*] found ./rt_aos4 fname=rt_aos4 (rt_aos4)
[2013/07/19 12:42:45.725880, 10, pid=4063418, effective(39803, 14161), 
real(0, 0)] smbd/trans2.c:1666(smbd_marshall_dir_entry)
  smbd_marshall_dir_entry: space_remaining = 16232
[2013/07/19 12:42:45.725955, 10, pid=4063418, effective(39803, 14161), 
real(0, 0)] smbd/trans2.c:1819(smbd_marshall_dir_entry)
  smbd_marshall_dir_entry: SMB_FIND_FILE_BOTH_DIRECTORY_INFO


If anyone would like more configuration details or complete logs I can 
provide them

Thanks,

John Janosik
jpjanosi at us.ibm.com 


More information about the samba mailing list