Windows spooler sends SMB blocks with non-sequential order.

Gerald (Jerry) Carter jerry at
Tue May 17 17:29:43 GMT 2005

Hash: SHA1

Arcady Chernyak wrote:

| I have found that when Windows spooler sends print file
| to SAMBA it may send packets with non-sequential
| order but with correct offsets. See bellow some output
| from Ethereal.
| Samba supports non-sequential SMB offset for file
| shares well, but doesn't support it at all for the
| SMB printing. I guess that this is the critical
| bug because sometimes Windows sends print file in
| "out of order" SMB blocks.
| The problem is difficult to reproduce because it is
| intermittent and happens rarely.
| I used fast XP-SP2 machine over 1 GHz Ethernet switch
| to increase reproducibility.
| For 100 GHz network it happens once in 10 file transfers.
| You should use big files (I used 500 MB file) and calculate
| MD5 sum to check file integrity. (Blocks'
| swapping doesn't affect file checksums)

We definitely don't do not sequential reads in the
printing code.  However, i'm also guessing that you
have 'disable spoolss = yes' in your smb.conf.  Could
you confirm (or refute) this assumption?  Thanks.

In the WritePrinter() call there are 2 buffer_size
32-bite values.  I'm guessing one of these might
be the offset, but this is not exposed in the Win32
api.  Will have to look at it some more.  We can
definitely fix the lanman interface to print_job_write()

Thanks for reporting this.  And as jeremy said a raw
ethereal trace would be very helpful.  Please open a
bug report at at attach the
trace there.

cheers, jerry
Version: GnuPG v1.4.0 (GNU/Linux)
Comment: Using GnuPG with Thunderbird -


More information about the samba-technical mailing list