Samba 4.2 and Microsoft Lease test cases

Steve French smfrench at gmail.com
Tue Feb 10 20:54:43 MST 2015


So looking at the failure of one of these (test 874 from the Microsoft
suite) against current Samba 4.2-stable - I do see the "STATUS
UNSUCCESSFUL" in the wireshark trace as the log implied I would

2015-02-10 21:51:08.494 [Comment] reaching state 'S831'
2015-02-10 21:51:08.501 [Comment] checking step 'event
OnLeaseBreakNotification(0,SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED,3,1)'
2015-02-10 21:51:08.501 [CheckSucceeded] Assert.IsTrue succeeded.
expected '0', actual '0' (newEpoch of OnLeaseBreakNotification, state
S831)
2015-02-10 21:51:08.502 [CheckSucceeded] Assert.IsTrue succeeded.
expected 'SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED', actual
'SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED' (flags of
OnLeaseBreakNotification, state S831)
2015-02-10 21:51:08.510 [CheckSucceeded] Assert.IsTrue succeeded.
expected '3', actual '3' (currentLeaseState of
OnLeaseBreakNotification, state S831)
2015-02-10 21:51:08.511 [CheckSucceeded] Assert.IsTrue succeeded.
expected '1', actual '1' (newLeaseState of OnLeaseBreakNotification,
state S831)
2015-02-10 21:51:08.513 [Checkpoint] "[MS-SMB2] 3.3.4.7: Otherwise the
server MUST set the Flags field of the message to
SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED, indicating to the client
that lease acknowledgment is required."
2015-02-10 21:51:08.514 [Checkpoint] "[TestInfo] Lease.LeaseState is
not SMB2_LEASE_READ_CACHING."
2015-02-10 21:51:08.515 [Checkpoint] "[MS-SMB2] The server MUST set
the CurrentLeaseState field of the message to Lease.LeaseState, set
Lease.Breaking to TRUE, set Lease.BreakToLeaseState to the new lease
state indicated by the object store"
2015-02-10 21:51:08.516 [Comment] reaching state 'S832'
2015-02-10 21:51:08.517 [Comment] executing step 'call
LeaseBreakAcknowledgmentRequest(ValidLeaseKey,1)'
2015-02-10 21:51:08.536 [CheckSucceeded] Assert.AreEqual succeeded.
Expect that the Command is OPLOCK_BREAK.
2015-02-10 21:51:08.537 [Comment] Unbinding variable 'leaseState'
2015-02-10 21:51:08.537 [Comment] reaching state 'S833'
2015-02-10 21:51:08.538 [Comment] checking step 'return
LeaseBreakAcknowledgmentRequest'
2015-02-10 21:51:08.538 [Comment] reaching state 'S834'
2015-02-10 21:51:08.545 [CheckFailed] Assert.IsTrue failed. expected
matching event, found 'event
LeaseBreakResponse(STATUS_UNSUCCESSFUL,0)'. Diagnosis:
  1. event parameters do not match
    comment: checking step 'event LeaseBreakResponse(STATUS_SUCCESS,1)'
    assert  failed: expected 'STATUS_SUCCESS', actual
'STATUS_UNSUCCESSFUL' (status of LeaseBreakResponse, state S834)
    comment: This step would have covered "[MS-SMB2] The server MUST
locate the lease on which the client is acknowledging a lease break by
performing a lookup in LeaseTable.LeaseList using the LeaseKey of the
request as the lookup key.", "[MS-SMB2] The server MUST set
Lease.LeaseState to LeaseState received in the request, and MUST set
Lease.Breaking to FALSE.", "[MS-SMB2] The server then MUST construct a
lease break response using the syntax specified in section 2.2.25 with
the following values:", "[MS-SMB2] LeaseState MUST be set to
Lease.LeaseState."

2015-02-10 21:51:08.567 [Comment]    at
Microsoft.SpecExplorer.Runtime.Testing.DefaultTestManager.ExpectEvent(TimeSpan
timeOut, Boolean failIfNone, ExpectedEvent[] expected)

2015-02-10 21:51:08.979 [TestFailed]
Microsoft.Protocols.TestSuites.FileSharing.SMB2Model.TestSuite.BreakReadHandleLeaseV1TestCase.BreakReadHandleLeaseV1TestCaseS874

On Tue, Feb 10, 2015 at 12:39 PM, Steve French <smfrench at gmail.com> wrote:
> I did a run of Microsoft SMB2/SMB3 functional test cases against Samba
> 4.2 recently and noticed that the BreakReadHandleLeaseV1 cases mostly
> fail (TestCases S850, S874, S898, S922, S954, S985, S648 for example)
> while most other test cases (except for the Symbolic Link ones) are
> fine as are all of the "BVT" category of tests. kernel oplocks are
> disabled in smb.conf (in order to enable durable handles and SMB2.1
> leases).
>
> I will trace it but see things logged like:
>
> 2015-02-10 12:29:26.241 [Comment] executing step 'call
> LeaseBreakAcknowledgmentRequest(ValidLeaseKey,1)'
> 2015-02-10 12:29:26.263 [CheckSucceeded] Assert.AreEqual succeeded.
> Expect that the Command is OPLOCK_BREAK.
> 2015-02-10 12:29:26.265 [Comment] reaching state 'S15'
> 2015-02-10 12:29:26.265 [Comment] checking step 'return
> LeaseBreakAcknowledgmentRequest'
> 2015-02-10 12:29:26.266 [Comment] reaching state 'S16'
> 2015-02-10 12:29:26.274 [CheckFailed] Assert.IsTrue failed. expected
> matching event, found 'event
> LeaseBreakResponse(STATUS_UNSUCCESSFUL,0)'. Diagnosis:
>   1. event parameters do not match
>     comment: checking step 'event LeaseBreakResponse(STATUS_SUCCESS,1)'
>     assert  failed: expected 'STATUS_SUCCESS', actual
> 'STATUS_UNSUCCESSFUL' (status of LeaseBreakResponse, state S16)
>     comment: This step would have covered "[MS-SMB2] The server MUST
> locate the lease on which the client is acknowledging a lease break by
> performing a lookup in LeaseTable.LeaseList using the LeaseKey of the
> request as the lookup key.", "[MS-SMB2] The server MUST set
> Lease.LeaseState to LeaseState received in the request, and MUST set
> Lease.Breaking to FALSE.", "[MS-SMB2] The server then MUST construct a
> lease break response using the syntax specified in section 2.2.25 with
> the following values:", "[MS-SMB2] LeaseState MUST be set to
> Lease.LeaseState."
>
> Anyone successfully run the Microsoft BreakReadHandleLeaseV1 test
> cases against current Samba?  I wanted to rule out misconfiguration
> before I dove into debugging this much
>
> --
> Thanks,
>
> Steve



-- 
Thanks,

Steve


More information about the samba-technical mailing list