[jcifs] Exception: Invalid access to memory location

Maher Martin MMaher at Webasto.de
Thu May 12 15:56:39 GMT 2005


JCIFS Version  1.1.11

 

Hi,

 

I'm playing around with Ntlm Authentication & SmbFile and I'm getting an
"Invalid access to memory location" exception when invoking the
"smbFile.exists()" method when trying to access a file on an NTFS
server. I've checked that the server name, file location, etc is valid
so I'm 100% sure that this isn't the problem. The problem comes when I
use the NtlmPasswordAuthentication object instance from the
NtlmHttpFilter. 

I'm using the NtlmHttpFilter example that comes with version 1.1.11 of
jcifs. 

 

I've included the exception and a snippet of the code I'm using below.
Any help would be really appreciated. 

 

Thanks,

Martin

 

jcifs.smb.SmbAuthException: Invalid access to memory location.

        at
jcifs.smb.SmbComSessionSetupAndX.<init>(SmbComSessionSetupAndX.java:46)

        at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:255)

        at jcifs.smb.SmbSession.send(SmbSession.java:228)

        at jcifs.smb.SmbTree.treeConnect(SmbTree.java:134)

        at jcifs.smb.SmbFile.connect(SmbFile.java:827)

        at jcifs.smb.SmbFile.connect0(SmbFile.java:797)

        at jcifs.smb.SmbFile.queryPath(SmbFile.java:1202)

        at jcifs.smb.SmbFile.exists(SmbFile.java:1285)

        at
com.webasto.ntlmtest.SmbHelper.debufSmbFile(SmbHelper.java:60)

        at
com.webasto.ntlmtest.SmbHelper.smbFile2Html(SmbHelper.java:53)

        at
com.webasto.ntlmtest.NtlmHttpAuthExample.doGet(NtlmHttpAuthExample.java:
113)

        at
com.webasto.ntlmtest.NtlmHttpAuthExample.doPost(NtlmHttpAuthExample.java
:128)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:237)

        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)

        at
com.webasto.ntlmtest.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:214)

        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186)

        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)

        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214)

        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)

        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198)

        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152)

        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)

        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137)

        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)

        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118)

        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)

        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)

        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)

        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)

        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9)

        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705)

        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7)

        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:683)

        at java.lang.Thread.run(Thread.java:534)

 

When executing the following code:

 

public class NtlmHttpAuthExample extends HttpServlet {

 

  /**

   * <p>

   * Refer to method javadoc in super class

   * </p>

   * 

   * @param arg0

   * @throws javax.servlet.ServletException

   * @see javax.servlet.GenericServlet#init(javax.servlet.ServletConfig)

   */

  public void init(ServletConfig arg0) throws ServletException {

    super.init(arg0);

  }

 

  public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException,

      ServletException {

        ...

        smbFile =
SmbHelper.getSmbFile((NtlmPasswordAuthentication)req.getUserPrincipal(),

            reqServerName,

            reqFileName);

 

        

        out.println(smbFile.exists());

        

  }

 

}

 

public class SmbHelper {

  public static SmbFile getSmbFile(NtlmPasswordAuthentication
ntlmPwdAuth,

      String servername,

      String filename) throws MalformedURLException {

    String completeUrl = "smb://" 

      + servername

      + filename.replace('\\', '/');

    

    System.out.println("SMB URL=" + completeUrl);

    SmbFile smbFile = new SmbFile(completeUrl,ntlmPwdAuth);

    return smbFile;

  }

}

 

 

 

 

 

 

-------------- next part --------------
HTML attachment scrubbed and removed


More information about the jcifs mailing list