Page 1 of 1

Odd behaviour with SWA and contacts

Posted: Tue Oct 18, 2005 2:32 am
by vorlon2261
Hi all,

Have one user who can't access his contacts list via SWA. It reports

Code: Select all

MailFolderTree.get(Contacts)


then sits there doing nothing.

Has anyone seen this happen before? Its only on the one user, it happens regardless
of browser (initially seen on Firefox 1.0.4, we upgraded to 1.0.7 with no luck and it
appears on latest rev. of IE 6 on Win XP)

Also, upon login to SWA, the user gets a JavaScript popup with "-1" in the text. No idea
if that is related, it appears to pop up just as the main page finishes loading...

Posted: Tue Oct 18, 2005 11:15 am
by dkelly
Can you check your tomcat logs in $TOMCAT_HOME/logs to see if any errors are being logged there.

This will give us a better idea as to what might be happening.

Cheers

Dave

Posted: Tue Oct 18, 2005 7:38 pm
by vorlon2261
OK... Got the following:

catalina.log

Code: Select all

-1
java.lang.ArrayIndexOutOfBoundsException: -1
        at com.oddpost.mail.JavaMailHelper.connectToMailbox(JavaMailHelper.java:114)
        at com.oddpost.mail.JavaMailHelper.openFolder(JavaMailHelper.java:134)
        at com.oddpost.mail.JavaMailHelper.openFolderReadOnly(JavaMailHelper.java:144)
        at com.oddpost.server.mail.MailFolder.<init>(MailFolder.java:63)
        at com.oddpost.server.mail.MailFolderTree.get(MailFolderTree.java:134)
        at com.oddpost.server.module.Contacts.list(Contacts.java:163)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at com.oddpost.soap.SoapModule.invokeMethod(SoapModule.java:238)
        at com.oddpost.soap.SoapRequestImpl.execute(SoapRequestImpl.java:140)
        at com.oddpost.server.HttpRequestHandler.handleRequest(HttpRequestHandler.java:221)
        at com.oddpost.server.SoapServlet.doPost(SoapServlet.java:50)
        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(ApplicationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at com.oddpost.server.filter.HttpConfFilter.doFilter(HttpConfFilter.java:175)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
        at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)



And from scalix-swa_log

Code: Select all

<SOAP-ENV:Fault><faultcode>SOAP-EN
V:CLIENT.ArrayIndexOutOfBoundsException</faultcode><faultstring>MailFolderTree.get(Contacts)

</faultstring><detail><e:ArrayIndexOutOfBoundsException xmlns:e="http://scalix.com/errors"><message>MailFolderTree.get(Contacts)

</message><debug>java.lang.ArrayIndexOutOfBoundsException: -1
        at com.oddpost.mail.JavaMailHelper.connectToMailbox(JavaMailHelper.java:114)
        at com.oddpost.mail.JavaMailHelper.openFolder(JavaMailHelper.java:134)
        at com.oddpost.mail.JavaMailHelper.openFolderReadOnly(JavaMailHelper.java:144)
        at com.oddpost.server.mail.MailFolder.&lt;init&gt;(MailFolder.java:63)
        at com.oddpost.server.mail.MailFolderTree.get(MailFolderTree.java:134)
        at com.oddpost.server.module.Contacts.list(Contacts.java:163)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at com.oddpost.soap.SoapModule.invokeMethod(SoapModule.java:238)
        at com.oddpost.soap.SoapRequestImpl.execute(SoapRequestImpl.java:140)
        at com.oddpost.server.HttpRequestHandler.handleRequest(HttpRequestHandler.java:221)
        at com.oddpost.server.SoapServlet.doPost(SoapServlet.java:50)
        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(ApplicationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at com.oddpost.server.filter.HttpConfFilter.doFilter(HttpConfFilter.java:175)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
        ... skipping the last 27 lines as irrelevant...
</debug></e:ArrayIndexOutOfBoundsException></detail></SOAP-ENV:Fault>


Running tomcat 5.0.28 as grabbed from scalix.

Posted: Wed Oct 19, 2005 7:48 pm
by vorlon2261
An update on this. The user reports that viewing his account under the Outlook connector, that he had 2 contacts folders that appear to have been created either by Scalix or by the Outlook connector. Removal of one of these folders appears to fix the problem.

Only one issue with this and I'm sure this has been discussed elsewhere is that some
conditions (that I have yet to figure out) prevent the removal of this extra folder.

Posted: Fri Oct 21, 2005 7:34 am
by florian
under normal circumstances, one of the folders will be recognized as "Special",i.e. your primary contacts folder; this cannot be removed. The other should be. If it happens to be the case that the one that CAN be removed contains your data, please drag&drop that first! ;-)

There have been cases where both folders were marked special and could not be removed; the creation of this was triggered by an Outlook error. Outlook has a special switch "/resetfolders" to be used when starting it manually from a cmd window that has helped this in several occasions, however this seems again dependent on the OL version.

In worst case, one of the folders has to be removed with the omcontain low level mailbox editing tool that comes with Scalix.

-- Florian.