Re: jcifs.smb.SmbException: The parameter is incorrect

Michael B Allen <[email protected]> Sat, 14 Feb 2015 22:59:13 -0500
Newsgroups gmane.network.samba.java
Message-ID <CAGMFw4jWOf5ULP+71wNQgL6mzg5RZ+HOuuV5UXLuG8VpZ03BcQ@mail.gmail.com>
On Thu, Feb 12, 2015 at 9:18 AM, M. D. <[email protected]> wrote:
>  Hello,
>
> We are occasionally getting the following exception when trying to store =
files on a remote NetApp Data Ontap Version 8.2 server:
>
> Caused by: jcifs.smb.SmbException: The parameter is incorrect.
>         at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:566)
>         at jcifs.smb.SmbTransport.send(SmbTransport.java:667)
>         at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:316)
>         at jcifs.smb.SmbSession.send(SmbSession.java:218)
>         at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
>         at jcifs.smb.SmbSession.logon(SmbSession.java:147)
>         at jcifs.smb.SmbSession.logon(SmbSession.java:140)
>
> We would appreciate any help or suggestion in how to deal with this issue=
.
>
> Client OS is Linux, using jcifs 1.3.17
> Configuration:
> jcifs.util.loglevel=3D4
> jcifs.smb.client.dfs.disabled=3Dtrue
>
> We don't do any NTLM HTTP filtering
>
>
> SmbComNegotiate[command=3DSMB_COM_NEGOTIATE,received=3Dfalse,errorCode=3D=
0,flags=3D0x0018,flags2=3D0xC003,signSeq=3D0,tid=3D0,pid=3D28060,uid=3D0,mi=
d=3D1,wordCount=3D0,byteCount=3D12,wordCount=3D0,dialects=3DNT LM 0.12]
> New data read: Transport1[s24020/10.10.18.210:0]
> 00000: FF 53 4D 42 72 00 00 00 00 98 01 C0 00 00 00 00  |=D1=8FSMBr......=
=D0=90....|
> 00010: 00 00 00 00 00 00 00 00 00 00 9C 6D 00 00 01 00  |...........m....=
|
>
> SmbComNegotiateResponse[command=3DSMB_COM_NEGOTIATE,received=3Dfalse,erro=
rCode=3D0,flags=3D0x0098,flags2=3D0xC001,signSeq=3D0,tid=3D0,pid=3D28060,ui=
d=3D0,mid=3D1,wordCount=3D17,byteCount=3D16,wordCount=3D17,dialectIndex=3D0=
,securityMode=3D0x3,security=3Duser,encryptedPasswords=3Dtrue,maxMpxCount=
=3D1124,maxNumberVcs=3D50,maxBufferSize=3D33028,maxRawSize=3D0,sessionKey=
=3D0x3552962B,capabilities=3D0x0000D2FC,serverTime=3DMon Jan 01 01:00:00 CE=
T 1601,serverTimeZone=3D0,encryptionKeyLength=3D8,byteCount=3D16,oemDomainN=
ame=3DTEST]
> treeConnect: unc=3D\\s24020\IPC$,service=3D?????
> sessionSetup: accountName=3Dsvc-it-edi-s24020,primaryDomain=3DTest
>
> SmbComSessionSetupAndX[command=3DSMB_COM_SESSION_SETUP_ANDX,received=3Dfa=
lse,errorCode=3D0,flags=3D0x0018,flags2=3D0xC003,signSeq=3D0,tid=3D0,pid=3D=
28060,uid=3D0,mid=3D2,wordCount=3D13,byteCount=3D119,andxCommand=3D0x75,and=
xOffset=3D180,snd_buf_size=3D16644,maxMpxCount=3D10,VC_NUMBER=3D1,sessionKe=
y=3D0,lmHash.length=3D24,ntHash.length=3D24,capabilities=3D4180,accountName=
=3Dsvc-it-edi-s24020,primaryDomain=3DTEST,NATIVE_OS=3DLinux,NATIVE_LANMAN=
=3DjCIFS]
> SmbComTreeConnectAndX[command=3DSMB_COM_TREE_CONNECT_ANDX,received=3Dfals=
e,errorCode=3D0,flags=3D0x0018,flags2=3D0x0000,signSeq=3D0,tid=3D0,pid=3D28=
060,uid=3D0,mid=3D0,wordCount=3D4,byteCount=3D35,andxCommand=3D0xFF,andxOff=
set=3D0,disconnectTid=3Dfalse,passwordLength=3D1,password=3D,path=3D\\s2402=
0\IPC$,service=3D?????]
> New data read: Transport1[s24020/10.10.18.210:0]
> 00000: FF 53 4D 42 73 0D 00 00 C0 98 01 C0 00 00 00 00  |=D1=8FSMBs...=D0=
=90..=D0=90....|
> 00010: 00 00 00 00 00 00 00 00 00 00 9C 6D 00 00 02 00  |...........m....=
|
> SmbComSessionSetupAndXResponse[command=3DSMB_COM_SESSION_SETUP_ANDX,recei=
ved=3Dfalse,errorCode=3DThe parameter is incorrect.,flags=3D0x0098,flags2=
=3D0xC001,signSeq=3D0,tid=3D0,pid=3D28060,uid=3D0,mid=3D2,wordCount=3D0,byt=
eCount=3D0,andxCommand=3D0xFF,andxOffset=3D0,isLoggedInAsGuest=3Dfalse,nati=
veOs=3D,nativeLanMan=3D,primaryDomain=3D]

Hi M.D.,

I have no idea. Your debugging info shows Test\svc-it-edi-s24020
trying to mount \\s24020\IPC$. NetApp just doesn't like something
about that.

The way I would debug this sort of problem would be to get a Windows
client to do the same thing using exactly the same parameters and then
compare the two operations field-by-field in Wireshark. Or if it
sometimes works, get a log / trace of it working and compare the
fields and see if there is anything different that is meaningful.

Also, try searching the archives for "jcifs netapp parameter
incorrect". NetApp comes up once in a while. It's a little fickle. And
it's hard to test. I tried to run the simulator once but it was too
slow.

Mike

--=20
Michael B Allen
Java Active Directory Integration
http://www.ioplex.com/