Page 1 of 4

Personas broken after 8.8.15p5 upgrade?

Posted: Sun Dec 22, 2019 5:36 am
by jered
I've just upgraded to 8.8.15p5 and am no longer able to send as any configured Persona. Can anyone else confirm?

When attempting to send as a persona, I get "A network service error has occurred." modal. Checking logs:

Code: Select all

2019-12-22 00:19:12,324 WARN  [qtp366590980-1748:https://zimbra.convivian.com/service/soap/SendMsgRequest] [ip=172.16.0.5;port=55225;] soap - handler exception
java.lang.NullPointerException
   at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:347)
   at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:283)
   at com.zimbra.soap.SoapServlet.doWork(SoapServlet.java:308)
   at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:217)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
   at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:214)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
   at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
   at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.CsrfFilter.doFilter(CsrfFilter.java:175)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.RequestStringFilter.doFilter(RequestStringFilter.java:54)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:59)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.ETagHeaderFilter.doFilter(ETagHeaderFilter.java:47)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.ContextPathBasedThreadPoolBalancerFilter.doFilter(ContextPathBasedThreadPoolBalancerFilter.java:107)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter(ZimbraQoSFilter.java:125)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.ZimbraInvalidLoginFilter.doFilter(ZimbraInvalidLoginFilter.java:117)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at org.eclipse.jetty.servlets.DoSFilter.doFilterChain(DoSFilter.java:482)
   at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:327)
   at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:297)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
   at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
   at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
   at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700)
   at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
   at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
   at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
   at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
   at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667)
   at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
   at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
   at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
   at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
   at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
   at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:753)
   at org.eclipse.jetty.server.handler.DebugHandler.handle(DebugHandler.java:83)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
   at org.eclipse.jetty.server.Server.handle(Server.java:505)
   at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
   at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
   at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
   at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
   at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:427)
   at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:321)
   at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
   at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
   at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
   at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
   at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
   at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
   at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
   at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
   at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698)
   at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804)
   at java.base/java.lang.Thread.run(Thread.java:830)


Sending as a delegated account works fine, but Personas seem to be entirely broken.

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Sun Dec 22, 2019 3:36 pm
by jered
To add a little more detail, steps to reproduce:

1) zimbraAllowFromAnyAddress must be true for the account (either specifically, or by COS)
2) As user, go to Preferences -> Accounts -> Add Persona
3) Under Settings for Sent Messages -> From enter an email address that differs from the primary account (either localpart or domainname)
4) Click Save
5) Attempt to compose and send a message from this Persona

This feature has been getting less useful due to lack of DMARC alignment, but it's still an important part of my workflow. (It'd be nice in the future for Zimbra to get a feature like Gmail's Send Mail As which can connect to different SMTP servers with different credentials.)

I've verified this problem on two servers running 8.8.15p5; one on Ubuntu 14 and one on CentOS 7.

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Thu Jan 02, 2020 11:12 am
by zimbrafox
Hi,

following commit is the problem.

https://github.com/Zimbra/zm-mailbox/co ... 2ef5b3d3b0

After this commit for p5, also Outgoing-Messages are not saved anymore in sent-folder, if you using personas.

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Thu Jan 02, 2020 4:04 pm
by jered
Thanks! Unfortunately looks like p6 is tagged without this being fixed. How do we even raise issues with Zimbra anymore? Bugzilla is dead. :-(

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Thu Jan 02, 2020 4:26 pm
by phoenix
jered wrote:Thanks! Unfortunately looks like p6 is tagged without this being fixed. How do we even raise issues with Zimbra anymore? Bugzilla is dead. :-(
Unless you're an NE customer the simple answer is, you don't.

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Fri Jan 03, 2020 1:11 pm
by fs.schmidt
jered wrote:I've just upgraded to 8.8.15p5 and am no longer able to send as any configured Persona. Can anyone else confirm?

When attempting to send as a persona, I get "A network service error has occurred." modal. Checking logs:

Code: Select all

2019-12-22 00:19:12,324 WARN  [qtp366590980-1748:https://zimbra.convivian.com/service/soap/SendMsgRequest] [ip=172.16.0.5;port=55225;] soap - handler exception
java.lang.NullPointerException
   at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:347)
   at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:283)
   at com.zimbra.soap.SoapServlet.doWork(SoapServlet.java:308)
   at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:217)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
   at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:214)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
   at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
   at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.CsrfFilter.doFilter(CsrfFilter.java:175)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.RequestStringFilter.doFilter(RequestStringFilter.java:54)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:59)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.ETagHeaderFilter.doFilter(ETagHeaderFilter.java:47)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.ContextPathBasedThreadPoolBalancerFilter.doFilter(ContextPathBasedThreadPoolBalancerFilter.java:107)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter(ZimbraQoSFilter.java:125)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at com.zimbra.cs.servlet.ZimbraInvalidLoginFilter.doFilter(ZimbraInvalidLoginFilter.java:117)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at org.eclipse.jetty.servlets.DoSFilter.doFilterChain(DoSFilter.java:482)
   at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:327)
   at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:297)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
   at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
   at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
   at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
   at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700)
   at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
   at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
   at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
   at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
   at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667)
   at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
   at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
   at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
   at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
   at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
   at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:753)
   at org.eclipse.jetty.server.handler.DebugHandler.handle(DebugHandler.java:83)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
   at org.eclipse.jetty.server.Server.handle(Server.java:505)
   at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
   at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
   at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
   at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
   at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:427)
   at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:321)
   at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
   at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
   at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
   at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
   at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
   at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
   at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
   at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
   at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698)
   at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804)
   at java.base/java.lang.Thread.run(Thread.java:830)


Sending as a delegated account works fine, but Personas seem to be entirely broken.


Hi,

I've updated a test environment and I tried to reproduce this issue. The personas worked just fine with 8.8.15 P5 for me. The email was also saved in the shared account sent folder.

We already know that when using the Zimbra Connector for Outlook we need to create an outgoing filter to save the messages in the correct sent folder when sending emails using Outlook.

We use the sendAs permission, so we don't need to use the zimbraAllowFromAnyAddress feature.

Best regards.

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Fri Jan 03, 2020 3:32 pm
by zimbrafox
fs.schmidt wrote:We use the sendAs permission, so we don't need to use the zimbraAllowFromAnyAddress feature.


Correct, if you add sendAs permission it works.

But before p5 it works with zimbraAllowFromAnyAddress feature.

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Sat Jan 04, 2020 5:31 am
by jered
phoenix wrote:
jered wrote:Thanks! Unfortunately looks like p6 is tagged without this being fixed. How do we even raise issues with Zimbra anymore? Bugzilla is dead. :-(
Unless you're an NE customer the simple answer is, you don't.

Darn. I run community edition and have been a recommender for paid installs, but don't have direct support access. I'll see if I can get someone I recommended to open a ticket.

I've stopped recommending Zimbra for this sort of reason. As a community edition user I've submitted patches for past bugs (like the broken IPv6 unbound config file) and haven't had them picked up even after several years. Zimbra is a pretty terrible open source community participant. That's their prerogative, but it frustrates me because I hate using Gmail so much and I really don't want to go there.

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Tue Jan 07, 2020 1:04 pm
by lfasci
I replaced the zimbrastore.jar file in /opt/zimbra/lib/jars with the one from the 8.8.15 P4.
According Zimbra support this doesn't work because thei changed the java versione in P5 from Version 11 toVersion 15.
I have done this replacement on a dev server and two production mailstores and everithing seems is working well.

Bye
Lorenzo

Re: Personas broken after 8.8.15p5 upgrade?

Posted: Tue Jan 07, 2020 4:48 pm
by Gummikavalier
We are having the same issue since patch5 and created a case about this now.