Announcement

Collapse
No announcement yet.

Can't list more than 32 files per folder on OS X 10.9 share

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Chris
    replied
    As an alternative to downgrading to Beyond Compare 3.2.4, one of our customers provided another workaround by email.

    Please note this solution hasn't been tested by Scooter Software.

    I was able to solve it with these commands on my Windows 7 client:

    To disable SMBv2 and SMBv3 on the SMB client, run the following commands:
    sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
    sc.exe config mrxsmb20 start= disabled

    I found it at http://support.microsoft.com/kb/2696547

    Leave a comment:


  • Chris
    replied
    AshuJoshi,

    I just emailed the address you used to register for this forum with a link to Beyond Compare 3.2.4. It should avoid the error with OSX 10.9.

    Leave a comment:


  • AshuJoshi
    replied
    I just upgraded to Mavericks 10.9.1 - and of course Apple has not taken care of the problem. Can Scooter Software please put together a solution? Or send a link to a version that would work?

    Leave a comment:


  • Chris
    replied
    Send an email to support@scootersoftware.com and we'll provide you a link for version 3.2.4.

    Leave a comment:


  • Royce
    replied
    Good to see I'm not the only one having this problem. This is the first time I've tried using BC3 to compare windows to mac and I hit this issue immediately. I'll try rolling back to 3.2.4.

    Edit:
    Anywhere I can download 3.2.4? The main site doesn't list old versions.

    And one more thing to add, in windows explorer I can see my mac listed under Network. In BC3, when browsing for folder, it does not show under Network. I have to paste the UNC file path directly into the folder compare file path and then it can access the mac share, but I hit the error during the compare.
    Last edited by Royce; 02-Dec-2013, 09:49 PM.

    Leave a comment:


  • ZoŽ
    replied
    dempson,

    Thanks for your research. The difference appears to be controlled by whether the Windows application uses the FIND_FIRST_EX_LARGE_FETCH flag with FindFirstFileEx; if you use it Mavericks works and if you don't it doesn't. We did start using that flag in 3.2, but it caused similar problems for various NAS devices, so right now BC only uses it for local drives. Short-term, you could roll back to BC 3.2.4 and it should work right. Given the issues we already had reported against it, I'm reluctant to reintroduce that flag in v3, but I am looking into making it used more often in the v4 alpha. I'll re-evaluate if Apple doesn't handle it in a timely manner, but hopefully it'll be fixed in 10.9.1.

    Leave a comment:


  • dempson
    replied
    A correction to my previous comment: dir on my command line exhibits the same problem as Beyond Compare: I'm using JPSoft's TCC LE 13.03.39 as my command interpreter.

    Testing again with the Windows 7 standard cmd.exe I don't see any problem in the same directory. Therefore the problem is affecting both TCC LE and Beyond Compare 3, but isn't affecting Windows Explorer or cmd.exe.

    I've had a look at the network traffic with Wireshark. tcc.exe and Beyond Compare have an identical sequence, but it differs notably from the one used by cmd.exe in a few places.

    With cmd.exe (which works) I see the following sequence:

    1. Create Request; Find Request using SMB2_FIND_ID_BOTH_DIRECTORY_INFO with output buffer length 65536; Find Request using SMB2_FIND_ID_BOTH_DIRECTORY_INFO with output buffer length 128.

    The Mac responds with a full directory listing spanning the two requests.

    2. Find Request using SMB2_FIND_FULL_DIRECTORY_INFO with output buffer length 616 asking for a single entry.

    The Mac responds with a single entry, as specified (the "." entry).

    3. Find Request using SMB2_FIND_FULL_DIRECTORY_INFO with output buffer length 65536.

    The Mac responds with a directory listing limited to 65536 bytes, continuing from ".." but not enough to complete the whole directory.

    4. Find Request using SMB2_FIND_FULL_DIRECTORY_INFO with output buffer length 65536.

    The Mac responds with a continuation of the previous directory listing, up to the last file.

    5. Find Request using SMB2_FIND_FULL_DIRECTORY_INFO with output buffer length 65536.

    The Mac responds with an error saying no more files.

    6. Close Request


    When tcc.exe or Beyond Compare does the same directory listing, the same messages are used, but some of the parameters differ. At step 3, the output buffer size is only 4096 instead of 65536, which results in a much more limited number of files being returned in the response. At step 4, the same limited length of 4096 bytes is used, and a continuation of the response isn't sufficient to complete the directory listing. Step 5 never happened - the next message is a close request, even though the Mac hasn't reported a no more files error yet.

    Testing with a different directory had an even worse result: tcc.exe and Beyond Compare only did up to step 3 (again asking for 4096 bytes) then closed the request.

    I can't see any obvious reason for the directory listing terminating at the point it did. I've discounted a few initial theories by trying different directories.

    Doing a similar test with a Windows server results in a longer sequence of SMB2_FIND_FULL_DIRECTORY_INFO requests with buffer size of 4096, until it gets one which returned a no more files error, as expected.

    Given the evidence I've seen so far, it looks more like a Windows client bug than a Mac server bug, but why is it only appearing with a Mac server?

    Leave a comment:


  • AshuJoshi
    replied
    Dempson - I don't see any problems from Command Line access - seems to be working normally for all the folders that BC is having trouble with.

    Leave a comment:


  • AshuJoshi
    replied
    Chris - I tried the directory command by mapping it to a Network driven and from the DOS Command in Windows 8 - it works fine and there are no error messages. In case of BC2 - I get an error code 58 - turns out this is the Windows Error Code related to domain joining. And in BC3 - the error is something like cannot find server.

    My guess is that this is a combination of problems related to how BC accesses file shares and the changes made by Apple. I am hoping that BC can issue a patch - and is more responsive of the two companies. Not all Apple Users are BC users - so I am hoping that being a BC customer twice - I get better support from Scooter.

    Leave a comment:


  • AshuJoshi
    replied
    Originally posted by Chris View Post
    fgbc,

    Does it work correctly if you run the DIR from your Windows PC in a command prompt, or does it fail to show all files like dempson described earlier in this thread?
    Yes it does work correctly. I have confirmed this - it breaks only in BC. I just bought BC3 (I was using BC2) - and the problem remains. I understand Mac may be broken but there is something that BC does that makes it worse, and irrecoverable. Given that this problem is dominant in BC - I really, really hope that Scooter looks for a solution.

    Leave a comment:


  • Chris
    replied
    This is also being discussed on Stack Overflow:
    http://stackoverflow.com/questions/1...ver-cannot-per

    It looks like Apple broke something when they changed from SMB1 to SMB2, hopefully they release a fix before too long.

    Leave a comment:


  • Chris
    replied
    fgbc,

    Does it work correctly if you run the DIR from your Windows PC in a command prompt, or does it fail to show all files like dempson described earlier in this thread?

    Leave a comment:


  • fgbc
    replied
    Directory compare not working

    Another echo in the chorus - from win7, both explorer and shell access to mac share works as expected, with full directory listings, access to files, etc. Using BC for directory compare results consistently with "the specified server cannot perform the requested operation" and BC is borked.

    Leave a comment:


  • Chris
    replied
    If dir from the command line also returns incomplete directory listings, then this is probably a bug on Apple's part that they will need to fix.

    Leave a comment:


  • dempson
    replied
    As another data point: I've just tried accessing an OS X 10.9 Mavericks share from my Windows 7 PC, and I can repeat the problem, but not consistently.

    It doesn't affect the top-level folder which is shared, or one of the subfolders I tried, but another subfolder which contains 103 files reported the same error "The specified server cannot perform the requested operation". A second attempt to open that subfolder showed some of the files (47). On another subfolder with a lot more files (162 files plus 40 folders), I got the error on the first attempt to open it, and the second attempt showed it as an empty folder.

    Windows Explorer has no problem accessing any of the folders I tried including the big one.

    dir on the command line exhibits a similar problem to Beyond Compare: the folder with 103 files shows as having 47, and the one with 162 files plus 40 folders shows as being empty, with only the "." directory entry and not even a ".." entry.

    Leave a comment:

Working...
X