Bug 11565

Summary: REGRESSION: zimbra webmail client unable to log in/function (AJAX)
Product: WebKit Reporter: Rachael Worthington (cheers) <rachael>
Component: EvangelismAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, jonathanjohnsson, kevin, kmccullough, markmalone, myles, pshah
Priority: P1 Keywords: InRadar, Regression
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
URL: http://www.zimbra.com/products/hosted_demo.php

Description Rachael Worthington (cheers) 2006-11-10 11:09:37 PST
1. go to the URL above in a recent webkit nightly
2. click "Skip registration, Go to Demo"
3. go through the human-validation check.

expected results:
a demo mail client with some messages in it.
actual results:
the mail client hangs with an error dialog that the user cannot interact with.

also, http://mail.rapidwave.net
1. follow the above URL
2. attempt to log in

expected results: 
an error that looks like this: "The username or password is incorrect. Verify that CAPS LOCK is not on, and then retype the current username and password"
or a successful login if you had a username / password.

actual results: 
an error that looks like this: "An unknown application error has occurred. Please correct any errors and retry. If the problem persists, please contact your System Administrator. (service.PARSE_ERROR)"

If you were to provide a proper username and password, this error would prevent you from successfully logging in.

Neither of these problems show up in the system version of Safari, but the errors occur both with the latest nightly (17702) and OmniWeb 5.5.1
Comment 1 David Kilzer (:ddkilzer) 2006-11-10 13:35:51 PST
Regressions are P1.
Comment 2 jonathanjohnsson 2006-11-11 06:42:55 PST
It is possible to interact with the first mentioned error dialog, if you use the keyboard. Tabbing to the "v" button and hitting enter, you can see the following error message:

msg - parse error: Error on line 1 of document  : Attribute name "xmlns:xmlns" associated with an element type "soap:Envelope" must be followed by the ' = ' character. Nested exception: Attribute name "xmlns:xmlns" associated with an element type "soap:Envelope" must be followed by the ' = ' character.
com.zimbra.cs.service.ServiceException: parse error: Error on line 1 of document  : Attribute name "xmlns:xmlns" associated with an element type "soap:Envelope" must be followed by the ' = ' character. Nested exception: Attribute name "xmlns:xmlns" associated with an element type "soap:Envelope" must be followed by the ' = ' character.
	at com.zimbra.cs.service.ServiceException.PARSE_ERROR(ServiceException.java:192)
	at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:79)
	at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:223)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:173)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)
Caused by: org.dom4j.DocumentException: Error on line 1 of document  : Attribute name "xmlns:xmlns" associated with an element type "soap:Envelope" must be followed by the ' = ' character. Nested exception: Attribute name "xmlns:xmlns" associated with an element type "soap:Envelope" must be followed by the ' = ' character.
	at org.dom4j.io.SAXReader.read(SAXReader.java:350)
	at org.dom4j.io.SAXReader.read(SAXReader.java:264)
	at com.zimbra.soap.Element.parseXML(Element.java:334)
	at com.zimbra.soap.Element.parseXML(Element.java:332)
	at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:73)
	... 19 more

code - service.PARSE_ERROR
method - ZmCsfeCommand.prototype.invoke
detail - soap:Sender
line - 55149
sourceURL - http://demo.zimbra.com/zimbra/js/ZimbraMail_all.js.zgz?v=061016143950

Comment 3 Alexey Proskuryakov 2006-11-16 13:21:12 PST
Indeed, WebKit does send broken XML to the server:

<soap:Envelope xmlns:xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Header><context xmlns="urn:zimbra"><authToken>...skipped...</authToken><format type="js"/></context></soap:Header><soap:Body><GetInfoRequest xmlns="urn:zimbraAccount"/></soap:Body></soap:Envelope>
Comment 4 Kevin Henrikson (Zimbra) 2006-11-20 13:02:51 PST
Still a problem with latest WebKit(WebKit-SVN-r17855.dmg).  A Zimbra bug here:

http://bugzilla.zimbra.com/show_bug.cgi?id=12077
Comment 5 Alexey Proskuryakov 2006-11-20 21:31:21 PST
I have tried to reduce this for a while, but haven't been successful so far. It's not yet clear whether this is a WebKit bug, or an unsafe workaround for an old bug that's now causing problems (there's quite a bit of browser-specific code there).
Comment 6 Alexey Proskuryakov 2007-01-20 03:06:39 PST
(In reply to comment #5)
>  ...an unsafe workaround for an
> old bug that's now causing problems (there's quite a bit of browser-specific
> code there).

Yes, that's definitely it:

-------------------------------------------------
var _1082=_1074.getXml();
if(AjxEnv.isSafari){
_1082=_1082.replace("soap=","xmlns:soap=");
}
-------------------------------------------------
(and elsewhere)

Since now the XML already has a proper namespace prefix, this workaround is no longer needed or valid.

Closing as INVALID.
Comment 7 David Kilzer (:ddkilzer) 2007-01-20 04:27:15 PST
Updated Zimbra Bugzilla bug per Comment #6 (although I couldn't reopen it).

Comment 8 Kevin McCullough 2007-08-08 15:23:04 PDT
I made a change that affects this (see http://bugs.webkit.org/show_bug.cgi?id=8007) now the error says:

msg - invalid request: Unknown TZ: "(GMT-08.00) Pacific Time (US & Canada)" and no stdoff specified
com.zimbra.common.service.ServiceException: invalid request: Unknown TZ: "(GMT-08.00) Pacific Time (US & Canada)" and no stdoff specified
	at com.zimbra.common.service.ServiceException.INVALID_REQUEST(ServiceException.java:182)
	at com.zimbra.cs.service.mail.Search.parseTimeZonePart(Search.java:169)
	at com.zimbra.cs.service.mail.Search.parseCommonParameters(Search.java:203)
	at com.zimbra.cs.service.mail.Search.handle(Search.java:76)
	at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEngine.java:262)
	at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:162)
	at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:84)
	at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:223)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:162)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)

code - service.INVALID_REQUEST
method - ZmCsfeCommand.prototype.invoke
detail - soap:Sender
line - 22576
sourceURL - http://demo2.zimbra.com/zimbra/js/Ajax_all.js.zgz?v=070201175519

Comment 9 Kevin McCullough 2007-08-08 15:23:23 PDT
Related to <rdar://problem/4976879> REGRESSION: Safari doesn't work with Zimbra enhanced login
Comment 10 David Kilzer (:ddkilzer) 2007-08-10 06:44:37 PDT
Added Parag Shah to CC list as he has filed bugs in the past.

Comment 11 Parag Shah 2007-08-10 18:36:01 PDT
I can bring up the nightly (rev. 25000) as well as v3.0.3 just fine running a build off our trunk. There's the usual hiccups outlined here:

http://bugzilla.zimbra.com/show_bug.cgi?id=12077#c17

Kevin, what version Zimbra are you running?
Comment 12 David Kilzer (:ddkilzer) 2007-08-11 06:50:26 PDT
(In reply to comment #11)
> I can bring up the nightly (rev. 25000) as well as v3.0.3 just fine running a
> build off our trunk. There's the usual hiccups outlined here:
> 
> http://bugzilla.zimbra.com/show_bug.cgi?id=12077#c17

Have these "usual hiccups" been filed as bugs on http://bugs.webkit.org/?  It would help a great deal if each issue had steps to reproduce (and, if possible, a reduced test case demonstrating the issue).  Thanks!

Comment 13 Parag Shah 2007-08-11 22:43:53 PDT
(In reply to comment #12)
> Have these "usual hiccups" been filed as bugs on http://bugs.webkit.org/?  It
> would help a great deal if each issue had steps to reproduce (and, if possible,
> a reduced test case demonstrating the issue).  Thanks!

Will do. Although, we haven't quite figured out whether these hiccups are webkit's or zimbra's yet :) 

Thx.
Comment 14 Parag Shah 2007-11-30 18:51:15 PST
FYI, most issues with Zimbra Web Client have now be resolved using Safari v3.0.4 (5523.10) against v5 of Zimbra to be released soon:

http://pm.zimbra.com/pm_release.php?rel=5.0

Safari v2.x will no longer be supported (users will be directed to the "basic HTML" client).
Comment 15 David Kilzer (:ddkilzer) 2007-12-02 13:19:47 PST
(In reply to comment #14)
> FYI, most issues with Zimbra Web Client have now be resolved using Safari
> v3.0.4 (5523.10) against v5 of Zimbra to be released soon:
> 
> http://pm.zimbra.com/pm_release.php?rel=5.0

I hate to sound like a broken record, but have you filed bugs here about the remaining issues?  :)

Comment 16 Alexey Proskuryakov 2007-12-14 12:57:26 PST
This seems to work fine in Safari 3.0.4, closing.