Could not initialize class com.zimbra.cs.fb.FreeBusyProvider

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
Post Reply
danielb
Posts: 35
Joined: Mon Jul 15, 2019 6:08 pm

Could not initialize class com.zimbra.cs.fb.FreeBusyProvider

Post by danielb »

Hi. I'm running Zimbra 9 OSS, so I have to build it myself. I've followed instructions from viewtopic.php?f=15&t=68097&start=90#p304066
Until now, everything were working, but since I rebuilt 9.0.0.p24.1, the calendar is broken : every time I try to create an appointment, I get an error popup

Code: Select all

method:	[unknown]
msg:	system failure: java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.cs.fb.FreeBusyProvider
code:	service.FAILURE
detail:	soap:Receiver
trace:	qtp195615004-237:1653286077378:f32b31c1a341d18f
The full stacktrace from mailboxd.log is

Code: Select all

2022-05-23 08:07:57,378 WARN  [qtp195615004-237:https://zm.example.org/service/soap/CreateAppointmentRequest] [name=dani@example.org;mid=2;oip=192.168.7.106;port=39238;ua=ZimbraWebClient - GC101 (Linux)/9.0.0_GA_20220511;soapId=4aaa057;] SoapEngine - handler exception
java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.cs.fb.FreeBusyProvider
        at com.zimbra.cs.fb.FreeBusyProvider$Listener.notify(FreeBusyProvider.java:57)
        at com.zimbra.cs.mailbox.MailboxListener.notifyListeners(MailboxListener.java:124)
        at com.zimbra.cs.mailbox.Mailbox.commitCache(Mailbox.java:10110)
        at com.zimbra.cs.mailbox.Mailbox.endTransaction(Mailbox.java:9819)
        at com.zimbra.cs.mailbox.Mailbox.addInvite(Mailbox.java:5816)
        at com.zimbra.cs.mailbox.Mailbox.addInvite(Mailbox.java:5700)
        at com.zimbra.cs.service.mail.CalendarRequest.sendCalendarMessageInternal(CalendarRequest.java:447)
        at com.zimbra.cs.service.mail.CalendarRequest.sendCalendarMessage(CalendarRequest.java:262)
        at com.zimbra.cs.service.mail.CalendarRequest.sendCalendarMessage(CalendarRequest.java:244)
        at com.zimbra.cs.service.mail.CreateCalendarItem.handle(CreateCalendarItem.java:122)
        at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEngine.java:646)
        at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:491)
        at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:278)
        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:131)
        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)
ANyone else had this issue ? How can I debug what when wrong and how to fix it ?

Regards,
Daniel
Edx2Eu7
Posts: 11
Joined: Tue Jun 21, 2022 7:57 pm

Re: Could not initialize class com.zimbra.cs.fb.FreeBusyProvider

Post by Edx2Eu7 »

Hello Daniel,

unfortunately no help but just another installation that's having issues after the last patch. Difference to you - it's the 8.x GA branch. Exact Version is Zimbra 8.8.15_GA_4304 (build 20220612004933).
Trying to create calendar entries or trying to reply to calendar event invitations fails with a pop up message, that contains the same error message as you are experiencing.

Code: Select all

system failure: java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.cs.fb.RemoteFreeBusyProvider
Issue happens since installing the patch mentioned here https://blog.zimbra.com/2022/06/update- ... h-release/

Best regards
Edx2Eu7
danielb
Posts: 35
Joined: Mon Jul 15, 2019 6:08 pm

Re: Could not initialize class com.zimbra.cs.fb.FreeBusyProvider

Post by danielb »

It might have something to do with the mailboxd_java_options. After rebuilding the latest 9.0.0p25, I had similar errors (but with other classes), until I reset the options to the default value. See viewtopic.php?f=15&t=68097&p=305357#p305357
Now everything is working nicely
Edx2Eu7
Posts: 11
Joined: Tue Jun 21, 2022 7:57 pm

Re: Could not initialize class com.zimbra.cs.fb.FreeBusyProvider

Post by Edx2Eu7 »

Thanks for the suggestion. Unfortunately there's no change after applying the Java options. I extracted the old options, sorted them and compared them to the options you've pasted here. The only difference I can spot is the removal of the older TLS ciphers TLSv1 and TLSv1.1, leaving only TLSv1.2 as only TLS option.

Attempting to downgrade to Java 13 results in dependency issues. It would cause the removal of pretty much all Zimbra packages.

Code: Select all

root@postoffice:/opt/zimbra/data/spamassassin/localrules# apt install zimbra-openjdk=13.0.1-1zimbra8.8b1.20.04
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  pax sysstat unzip zimbra-amavis-logwatch zimbra-bdb-lib zimbra-curl zimbra-curl-lib zimbra-cyrus-sasl zimbra-freetype-lib zimbra-ldap-base zimbra-libart-lib zimbra-libltdl-lib zimbra-libpng-lib zimbra-libsodium-lib zimbra-lmdb
  zimbra-openjdk-cacerts zimbra-openldap-client zimbra-openldap-server zimbra-openssl zimbra-os-requirements zimbra-osl zimbra-perl zimbra-perl-archive-zip zimbra-perl-berkeleydb zimbra-perl-bit-vector
  zimbra-perl-canary-stability zimbra-perl-carp-clan zimbra-perl-class-inspector zimbra-perl-convert-asn1 zimbra-perl-convert-binhex zimbra-perl-convert-tnef zimbra-perl-convert-uulib zimbra-perl-crypt-openssl-random
  zimbra-perl-crypt-saltedhash zimbra-perl-data-uuid zimbra-perl-date-calc zimbra-perl-date-manip zimbra-perl-db-file zimbra-perl-dbd-mysql zimbra-perl-email-date-format zimbra-perl-encode-locale zimbra-perl-file-grep
  zimbra-perl-file-libmagic zimbra-perl-file-listing zimbra-perl-file-tail zimbra-perl-filesys-df zimbra-perl-geography-countries zimbra-perl-http-cookies zimbra-perl-http-daemon zimbra-perl-http-date zimbra-perl-http-message
  zimbra-perl-http-negotiate zimbra-perl-innotop zimbra-perl-io-html zimbra-perl-io-sessiondata zimbra-perl-io-socket-ip zimbra-perl-io-socket-ssl zimbra-perl-io-stringy zimbra-perl-ip-country zimbra-perl-json-pp
  zimbra-perl-libwww zimbra-perl-lwp-mediatypes zimbra-perl-lwp-protocol-https zimbra-perl-math-bigint zimbra-perl-mime-lite zimbra-perl-mime-tools zimbra-perl-mime-types zimbra-perl-mozilla-ca zimbra-perl-net-http
  zimbra-perl-net-ldap zimbra-perl-net-ldapapi zimbra-perl-net-libidn zimbra-perl-net-ssleay zimbra-perl-parent zimbra-perl-proc-processtable zimbra-perl-soap-lite zimbra-perl-socket-linux zimbra-perl-swatchdog
  zimbra-perl-task-weaken zimbra-perl-term-readkey zimbra-perl-unix-getrusage zimbra-perl-unix-syslog zimbra-perl-uri zimbra-perl-www-robotrules zimbra-perl-xml-namespacesupport zimbra-perl-xml-parser zimbra-perl-xml-parser-lite
  zimbra-perl-xml-sax zimbra-perl-xml-sax-base zimbra-perl-xml-sax-expat zimbra-perl-xml-simple zimbra-perl-zmq-constants zimbra-perl-zmq-libzmq3 zimbra-pflogsumm zimbra-postfix-logwatch zimbra-prepflog zimbra-rrdtool
  zimbra-rrdtool-lib zimbra-rsync zimbra-tcmalloc-lib zimbra-zeromq-lib
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  zimbra-apache zimbra-chat zimbra-common-core-jar zimbra-common-core-libs zimbra-common-mbox-conf zimbra-common-mbox-conf-attrs zimbra-common-mbox-conf-msgs zimbra-common-mbox-conf-rights zimbra-common-mbox-db
  zimbra-common-mbox-docs zimbra-common-mbox-native-lib zimbra-core zimbra-core-components zimbra-dnscache zimbra-drive zimbra-ldap zimbra-ldap-components zimbra-logger zimbra-mbox-service zimbra-mta zimbra-mta-patch zimbra-patch
  zimbra-proxy zimbra-proxy-patch zimbra-snmp zimbra-spell zimbra-store zimbra-timezone-data
The following packages will be DOWNGRADED:
  zimbra-openjdk
saket.patel
Zimbra Employee
Zimbra Employee
Posts: 137
Joined: Mon Apr 11, 2022 8:39 pm

Re: Could not initialize class com.zimbra.cs.fb.FreeBusyProvider

Post by saket.patel »

For building FOSS versions, please follow https://github.com/Zimbra/zm-build#building documentation

Code: Select all

mkdir installer-build
cd installer-build
git clone --depth 1 --branch 9.0.0.p25 git@github.com:Zimbra/zm-build.git
cd zm-build
ENV_CACHE_CLEAR_FLAG=true ./build.pl --ant-options -DskipTests=true --git-default-tag=9.0.0.p25,9.0.0.p24.1,9.0.0.p24,9.0.0.p23,9.0.0.p22,9.0.0.p21,9.0.0.p20,9.0.0.p19,9.0.0.p18,9.0.0.p17,9.0.0.p16,9.0.0.p15,9.0.0.p14,9.0.0.p13,9.0.0.p12,9.0.0.p11,9.0.0.p10,9.0.0.p9,9.0.0.p8,9.0.0.p7,9.0.0.p6.1,9.0.0.p6,9.0.0.p5,9.0.0.p4,9.0.0.p3,9.0.0.p2,9.0.0.p1,9.0.0 --build-release-no=9.0.0 --build-type=FOSS --build-release=NIKOLATESLA --build-release-candidate=GA --build-thirdparty-server=files.zimbra.com --build-no=3969 --no-interactive
danielb
Posts: 35
Joined: Mon Jul 15, 2019 6:08 pm

Re: Could not initialize class com.zimbra.cs.fb.FreeBusyProvider

Post by danielb »

Thanks, I didn't know for the --git-default-tag which is quite convenient (I was setting manually the last 9.0.0pxxx tag for each repo in config.build). Two more things about the rebuild :
Isn't 9.0.0 KEPLER instead of NIKOLATESLA ? What's the value for --build-no ? How do we get it, and is it important ? (I'm currently using a YYYMMDD scheme for it in my own builds)
saket.patel
Zimbra Employee
Zimbra Employee
Posts: 137
Joined: Mon Apr 11, 2022 8:39 pm

Re: Could not initialize class com.zimbra.cs.fb.FreeBusyProvider

Post by saket.patel »

Yes for 9.0.0, you can use KEPLER or anything else also
For build no we usually specify an incremental number
Post Reply